Webエンジニアがクリエイティブ系企業に転職して一年が経った

1年働いて見えてきた、業種の違い、エンジニアとしての生き方の違いをまとめてみる。

誰?

  • 天城孝義 (id:amagitakayosi)
  • 男 29歳 既婚 京都在住
  • 好きなメタル: Djent

クリエイティブ系って何やねん

この記事では、1→10やチームラボ、ライゾマティクスのような、技術やアート、デザイン、エンターテイメントを扱う会社のことを「クリエイティブ系」と呼びます。

なんか鼻につくというか、他の仕事がクリエイティブじゃないとでも思ってるの?みたいな印象を受ける人もいるかもしれない。 ただ、実際に「クリエイティブ系」という呼び方は業界ではよく使われるので、この記事のタイトルでも採用しました。

他の呼び方も考えたけど、「広告系」だとアドテクと紛らわしいし、「制作会社」だと何を制作する会社なのかわからない。 もっと良い呼び方があればいいんだけど……。

前職: Webサービスの会社

新卒で某Webサービスの会社に入社して、3年ほどWebエンジニアとして働いていた。

「Webエンジニア」と言っても事業会社のエンジニアと受託系とは別物だが、この会社は前者。 どのサービスも2〜3年は継続する前提で動いており、エンジニアは半年から長ければ2,3年同じチームに携わることになる。 そのかわり、技術スタックの選定はチームのエンジニアに任されていた。 運営中のサービスに新しい技術を取り入れることは可能だし、会社としても(適切な範囲で)新技術の導入を推奨していた。

チーム当たりの人数は、エンジニア5,6人、デザイナー1,2人程度。 僕は勝手にフロントエンドエンジニアを名乗っていたけど、エンジニアにフロント/バックエンドの区別はなく、チームメンバー全員がどのタスクも引き受ける、という体制だった。 (インフラだけは別で、インフラチームから個々のプロジェクトにインフラエンジニアがアサインされていた)

僕は仕事の内容に不満はなかったけど、趣味で始めたグラフィックスプログラミングや映像が楽しくなってきて、どうせなら20代のうちに新しい仕事をしてみたい、ということで転職することにした。

現職: 1→10, inc.

1→10(ワントゥーテン。以下「1→10」と呼ぶ)は京都発のクリエイティブスタジオ。 受託Web制作から映像、製品のプロトタイプ、ゲーム制作まで、業態は多岐にわたる。 僕はゲームやインスタレーションを制作する部署のプログラマーとして採用された。

オフィスは東京と京都の2箇所にある。 部署で分かれているわけではないが、個人的には東京都京都でかなり雰囲気が違うな〜と感じている。 東京のほうが広告っぽいというか、ガッツがあるというか。 京都のほうは、各自が自由にそれぞれの仕事に打ち込んでいて、大学の研究室に近い雰囲気がある。

従業員数は現在、全体で180人程度。 プロジェクト当たりの人数は、僕が経験した限りだと、エンジニアが1〜3人、デザイナーが1人程度の場合が多い。 かなり少ないと思われるかもしれないが、案件のサイクルが早いこともあり、プロジェクトが動きだした後にチーム人数が足りないと感じることはあまり無い。

友人に会社の働き方を聞かれたときは、よく「フリーランスのギルドみたいな感じ」と説明している。 プロジェクトにアサインされるメンバーは毎回全然違っていて、会ったこともない東京のメンバーと一緒に開発する、なんてのもしょっちゅうだ。 もちろん、営業の人がバンバン仕事を取ってくれて、事務手続きも総務の方々がやってくれるので、いちエンジニアとしては実際にフリーランスで活動するよりもずっと楽に働けているはず。 (僕はフリーランス経験がないので、想像だけど)

そんな感じなので、技術の選択に関しては、クライアントから指定がある場合を除いて、ほぼ完全にチームメンバーに一任される。 特に受託案件でエンジニアが一人の場合は、モノさえできればほとんど何をやってもよい。 もちろん、他の人に引き継ぎもできて、会社の技術領域の拡大につなげられる、という前提ではある。

入社してからやったこと

去年6月に入社してから携わったプロジェクトは以下の通り。

時期 案件 使用した技術
2018年6月 受託 水族館のインスタレーション Unity
2018年8月 ~ 2018年12月 自社 ミニゲーム 3本 Unity
2018年9月 ~ 2018年10月 受託 Webサービス リニューアル Three.js
2019年1月 受託 音声認識Androidアプリ Kotlin
2019年4月 受託 TV番組用CG制作 Unity
2019年2月 ~ 進行中 受託 VRコンテンツ Unity, Houdini
2019年5月 ~ 進行中 自社 iOSアプリ 進行中 Swift

Three.js以外は、入社するまで未経験だったツール/技術をつかって開発している。 これは、僕が新しい事を学べそうな案件を狙ってアサインしてもらってるのもあるが、会社の性質として案件の期間が短く、扱う技術の範囲が広いため、「広く浅く速く」回すスキルが求められるという事なんだと思っている(後述する)。

振り返ってみて感じたこと

ヾ(。>﹏<。)ノ゙

前職との比較や、一年働いてみてわかったことを書いてみる。

従業員の多様性

前職では、良くも悪くも同質性の高い人間が集まっていた。 採用のハードルも高く、会社のカルチャーにマッチする人を慎重に選んだ結果、非常に優秀な人が集まりつつ、どうしても「ザ・エンジニア」といった趣味趣向を持った人が集まってしまう。 なんか独特なオーラがあったり……

もちろん同質性が高いからといって悪いわけではなく、前提知識を共有する手間が省けたり、技術的な興味も近いので、社内での知見共有もしやすいという利点がある。 技術的な内容だけではなく、チームビルディングやプロジェクト管理に対する意識も高いので、少なくともワークフローを常に改善しつづけようという共通認識を得やすい。

ただし、長い間その中にいると、そのうち極度に会話が簡略化されていき、「nrhd」「h」「j」とかで会話をするようになる…… あと、これはWeb系の全体が抱える問題なんだけど、男女比が極端に偏っている!!!

一方、1→10では扱うスキルが多いこともあり、様々なバックエンドを持った人が集まっている。 過去の職歴を聞いてみると、SEやWeb制作会社だけでなく、ゲーム、おもちゃ、広告代理店、映像、建設会社など、皆バラバラの業界からバラバラのスキルを持って入ってきている。 そういった話を聞くだけでも刺激になって面白いし、実際それぞれの知見があるおかげで仕事が回っている。

ただ僕は長い間インターネット大好きコミュニティに浸かりすぎたので、リアルでのコミュニケーションに手こずっていたりはする。 前日にTwitterで盛り上がった話題について、チームのMTGで嬉々として話したら「へ〜」という反応だったりした。 世の中の人はインターネット上の炎上に詳しくない……!

案件のサイクル

現職は前職と比べると、案件の規模、とくに期間が短い。 1年以上続く案件もあるにはあるが、大抵の案件は開発期間が2,3ヶ月、長くても半年くらいのプロジェクトになる。 また、「待ち時間」が多々発生するため、エンジニアやデザイナーは複数のプロジェクトを並行して進める事が多い。

これは、弊社が受託Web会社としてスタートした事が大きく影響していると思う。 今は自社開発の割合も増えてきているけど、いきなり長期間がっつり開発リソースを確保するのも難しく、リソースの管理は受託案件に引きずられる事になる。

最初は落ち着かなかったけど、最近はペースが掴めてきて、これはこれでエンジニアとしては良いと感じるようになった。 入社後1ヶ月で納品の案件にアサインされたときはビビったけど、短いスパンで案件を回すことで、会社の雰囲気や仕事のおおまかな流れが掴めてきた。 コミュ障でも強制的にいろんな人と話せるし、上手くいけば、いろんな技術を短期間で身につけることもできる。 (念の為書いておくけど、この案件は決して無茶なスケジュールではなかった)

ただし、案件ごとに実際のワークフローは異なるんだけど、案件が終わるたびにチームを再編成することになるので、段階的にワークフローを改善する、といった事が難しいというデメリットもある。

いろんな技術を広く浅く触れる

1→10では扱う技術の幅が広い。 エンジニアの場合、Web系の技術やUnity/UE4といったゲーム系の技術に加えて、インスタレーションやプロトタイピングでセンサーを扱うための低レイヤーの知識も必要になる。 デザイナーの場合も、Webデザイナーやグラフィックデザイナーだけでなく、映像を作る人や、製品に用いるパーツを3Dプリンターで作ったりもする。 他にも機械学習系の案件を得意とする人や、イベント会場の設営/施工を担当するスタッフまでいる。

こうした状況は、いろんなバックグラウンドを持った人が集まることで成り立っている。 かつてソフトウェア会社、映像会社、施工会社など、異なる分野の専門家として働いてきた人々が協力することで、なんとか広い分野をカバーできているようだ。

(余談だが、弊社だけではなく、いわゆるクリエイティブ系の人たちと交流していると、元Flashエンジニアの姿を見かけることが多い。 かつてFlash全盛の時代に活躍していたエンジニア達は、現在はそれぞれ別々の技術を身に着け、別々の分野で活躍しているようだ。)

ただ、それぞれの領域に特化したメンバーがいるとはいえ、案件には別のメンバーがアサインされることが多い。 例えば、現在開発中のiOSアプリは、iOSの得意なエンジニア1人 + そうでもないエンジニア2人、という体制で回している。 そのため、いちエンジニアとしては、知らない技術を仕事で使う機会が増えることになる。

エンジニアが実際にどういう案件にアサインされるかは、所属部署や本人の希望、スキルセットによってかなり変わってくる。 ほぼUnity一本の人もいるし、自社開発のシステムに時間をかけてじっくり取り組みたい、という人はずっとそれを担当していたりもする。 僕の場合は、なるべく知らない技術を使えそうな案件を狙ってアサインしてもらってたのもあるけど、自社コンテンツが多くスケジュールが調整しやすい部署に入ったおかげもあって、それなりに短期間でいろんな案件を経験できた。

自分の武器は自分で作らないといけない

短期間でいろんな技術を使うのは当然良いことばかりではなくて、一つ一つの技術を深く学ぶことや、キャリアプランを考えるのが難しいという問題がある。

あんまり多くの技術に手を出したり、小規模な開発だけを続けていると、なかなか一つの技術について体系的に学ぶ事ができない。 いわゆる「赤魔道士」のような状況だ。 もちろん案件を回していくうちに個々人の開発スキルは向上するんだけど、部署内でベストプラクティスを共有したり、チーム開発を行うスキルを身につけるのは難しい。 例えば、もし弊社のエンジニアが業務で得たUnityスキルだけを持ってゲーム会社に転職し、5年規模のプロジェクトの立ち上げに参加して、いきなりバリバリ開発できるかというと、最初のうちはかなり大変になると思う。

いろんな技術を「広く浅く」、かつ「速く」回すスキルというのは、それ自体が特殊なスキルで、クリエイティブ系の業界では特に重宝されるだろう。 しかし、いちエンジニアとして将来のキャリアを考えると、自分の武器と呼べるようなスキルを増やしていきたい。

そんなわけで、自分のキャリアを考えた上でどんな技術にベットするか、各自が自分でプランを立てて行動する必要がある。

僕が最近Houdiniを学んでいたのも、案件で使うという理由もあるけど、そういう観点から次に学ぶべき技術を考えた時、最も合理的だと判断したからだ。 Unityでゲームや映像を作れるようにはなったけど、3Dグラフィックを根本から学び、かつコンテンツを一から制作できるようになるには、何かしらDCCツール(BlenderやMaya等、3Dアセットを制作するツール)を身につけた方が良いと思った。 その中で一番応用が効き、かつプログラマーとしての能力が活かせそうなのがHoudiniだった。

ジェネラリストを目指すのは難しい

入社した当時、インスタレーションの開発から設営まで一通り出来るようになるのを目標に設定したんだけど、これはかなり難しい事が段々わかってきた。 映像や3Dモデリング周りの知見は片手間で身につくものではなく、それこそプログラミング言語を1つ、業務で使えるレベルで覚えるくらいの労力が必要だ。 また、インスタレーションなどの現場設営のスキルは、身につけようと思っても手を出す事が難しい。 なぜなら片手間でやると人が死ぬから……。

案件ごとに必要になるスキルセットも全然違っていて、「これとこれを覚えればどの案件も大丈夫」というような、標準となるスタックがない。 必要になりそうな技術を先手を打って学ぶのは難しく、案件にアサインされた時、その案件に必要な技術を調査し、最低限の時間で身につける、というスキルが大事になる。

せめて自分が経験したことをTipsとして残しておいて、他のメンバーが同じ道を通るときにスムーズに開発に入れるよう、部内の知見をScrapboxにまとめる活動をしている。

仕事に波がある / 働き方は自由

この辺はWeb系とクリエイティブ系との違いというより、自社事業と受託メインの違いなのかもしれないが、弊社では仕事の忙しさの波がとても大きい。

僕のいる部署では、年末からGWにかけてはイベントが多いため、受託の案件が集中する。 反対に、夏から秋にかけてはクライアントワークの締切に追われることが少なくなり、空いた時間で自社開発のシステムやコンテンツの制作を進める事になる。

案件単位でも忙しさの波があり、特にイベント系の仕事の場合、締切間際はどうしても忙しくなる。 これは単なる見積もりやスケジュールの問題ではなくて、現地調整や設営があるからだ。 イベント会場での設営は、多くの場合は施設の営業終了後、つまり深夜に作業をする必要がある。 場合によっては、その後さらにコンテンツの最終調整が入ることもある。

このように、忙しさや働く時間にバラツキがあるせいか、働き方やオフィス環境には個人にかなり裁量が与えられている。 うちの部署では、本社オフィス以外にも大きな機材を集めたアトリエがあるのだけど、必要に応じてどちらで作業するかは個々人の裁量に任せられている。 他にも、何らかの理由でリモートで作業したりだとか、時間をずらして働いている人も普通にいる。

この辺の事情は、あまり赤裸々にして会社ごとの違いを比較できるものではないけど、僕個人の肌感だと、大抵のWeb系よりは自由だろうな〜、と感じる。

僕はなるべく定時より早く来て早く帰るようにしていたり、自分のデスクに勝手にパーティションを作って作業していたりする。 あと、この秋に子供が生まれるのだけど、男性でもちゃんと育休を取れそうで安心している。


そんなこんなで、課題感もありつつ、今のところ楽しくやれています。 もし、この記事で1→10に興味を持ってくれた人がいたら、応募してくれると嬉しいです。

www.1-10.com