毅志エンジニアチームリーダーチームラボのアーキテクト。サーバサイドエンジニアのチームリーダーを担当。アーキテクトとして案件内ではサービスの提案・見積もりフェーズからアイデア出しや実現可能性の検討を他チームと協力して行い、開発フェーズ以降は全体アーキテクチャ、開発プロセス含め、案件がスムーズに進むための仕組みを作ってそれを展開・運用・改善する人。doチームラボのWebアプリケーションやスマホアプリの開発案件、若手エンジニアの育成を担う「チームラボエンジニアリング」。チームラボの開発案件のエンジニアとして、また、チームラボエンジニアリングでの教育担当として、二足の草鞋を履くのが有川。常に現場で求められる新技術や能力、情報を若手にもシェアし続けている。実際の案件相当の課題を与え、それらを乗り越えるサポートをし続けるからこそ、経験が浅くても、現場で活躍する若手エンジニアが多く育っている。有川2009年、新卒でチームラボのメンバーに。大小様々な案件の保守運用と新規案件を経験し、大規模案件のアーキテクトを担当。現在は、チームラボエンジニアリーダー兼チームラボエンジニアリングの技術責任者として、エンジニアの教育を行う。気づけば「普通のエンジニア」ができる以上のことができるようになっていた今から11年前、当時チームラボが開発していた、“オモロ”検索エンジン「SAGOOL」に魅了されて、新卒でチームラボの門戸を叩いた有川。2006年にローンチされたこの純国産検索エンジンは、独自のアルゴリズムで組まれた、人の主観や興味を反映する新しい検索サービスだった。当時、Googleなどの大手検索サイトの基準である「リンク数の多さ」を一切無視した独自路線の「SAGOOL」は検索する「人」に焦点を当てた、革新的な事例だったと言える。このサービスを知った有川の反応は「変なサービスだと思った」。その開発元であるチームラボのこともまた、「変わった会社」という第一印象だった。就活にあたってぼんやりと考えていたのは、実装や開発を目一杯したい、そもそも自分には大きな企業が合っていなさそう、という2点。現職のチームラボと、今でもその奇天烈な企画力で業界をあっと言わせているWeb制作会社とで悩みましたが、個人的に、より技術力に力点を置いていると感じたチームラボに入ることを決めました。当初の印象は「変わった会社」。心配なこともありましたが、最終的に自分の直感に身を委ねて飛び込みました。僕の人生における大きな判断はたいがい直感頼りなんです。チームラボに入ってからの3年間、主に保守案件の対応をしてきた。新規案件と比べると、決して目立つとは言えない役回りだが、有川にとっては自分の仕事軸を形成する、必要な時間だったと振り返る。スキルがあまりない段階では、新規案件では任された機能を実装すれば、一通りの仕事は完了します。それにひきかえ、保守案件の場合には他のエンジニアが書いたコードの不具合を修正したり、追加機能を実装したりするなど実際の対応範囲はかなり広いんです。一から自分の進めやすい形でコードを書けるわけではなく、前任者が書いた既存機能にデグレが発生しないようにリサーチしながら作業を進めていくので、保守案件における難易度は決して低いとは言えないんです。保守といってもその担当範囲は、案件の最初から最後まで。テスト、本番反映、リリース後の保守まで、担当範囲はかなり広くなります。言葉通り、案件全てが自分の守備範囲となります。経験を積んだ後にはサーバーサイドもインフラも一通り把握できた実感がありました。いうよりも、そのへんの知識や理解がないと仕事が進められないという状況だったので、必死に食らいついていくよりほかなかったんですが。do自分のスキルと可能性を広げ続ける現在、有川が技術責任者を務めるチームラボエンジニアリングの創業者である森山のインタビューでは「一貫してフルスタックエンジニアの育成にこだわる」ことが語られた。創業者の目線とは立ち位置の異なるプレーヤーの目線からすると、フルスタックエンジニアであるメリットはどこにあるのか。流行り廃りの激しいWeb業界において、幅広い分野の技術や新しい技術に挑戦しやすいことがまず第一だと思います。流行りの技術を使えるということでエンジニアのモチベーションが高まりますし、幅広い分野の技術を経験し、自分の力で解決できる範囲がどんどん広がることで案件を面白がれる度合いも大幅に変わるんじゃないでしょうか。いろんなところに首を突っ込んでどんなことでもやるエンジニアは、森山のインタビューにもある通り、今後のキャリアでも活躍しやすくなると思います。「自分の力で解決できる範囲を広げる」ことは、有川にとっての仕事の流儀である。チームラボに入って4年目に突然、1億円規模の大型案件の開発責任者を任されたことがこの流儀を確たるものにした。「ずっと保守案件でやってきたのに」と、めちゃめちゃ不安だったんですけど。エンジニアとして、大きな決断だったと思います。結果、無事炎上することもなく品質も担保した状態でリリースすることができました。この成功体験から、どんなに不安でも自分の守備範囲は広げるに越したことはない、と腹落ちしたんです。未踏領域に踏み込んだ案件でありながら、成功を収めることができた最大の要因は「チーム力」だと有川は振り返る。チームのメンバーがいてこそ、不安に立ち向かうことができた。自分ひとりではこの成功は手にすることはできなかった。自分が着手できる範囲は限られているからこそ、自分のできることをまずしっかりやろうと。チームには信頼できるエンジニアがたくさんいましたから、この分野ならばこの人に、あの分野ならばあの人にというようにメンバーの意見を聞きながら、それぞれのメンバーを適材適所で配置することを意識しました。したことを相談できるエンジニアがたくさんチームにいたことで救われましたし、僕は僕のするべき全体最適化を意識して進められたことが大きかったのだと思います。実のある、他者と協業しやすいやり方を現在、有川はクライアントワークの傍ら若手のエンジニア育成も担当し、皆一様に同じ教育課題を課す。その課題内容は、有川自身が今までにつまずいてきた実制作中の課題をまとめたもの。他のメンバーからは、「自分が新卒の時にもそうした課題が欲しかった」と声があがるほど、実際の現場で活きる良問が粒ぞろいだ。フルスタックエンジニアであってこそ、という気持ちがあるので、課題の範囲はフロントからサーバーサイドまで広く網羅しています。それに加えて、僕自身はクライアントワークとエンジニア教育を行き来している身なので、現場案件で活用された新技術を横展開して課題に落とし込むこともあります。近頃でいえば、Dockerを使った案件が増えてきているので、ECSやECRを使ったDockerコンテナのデプロイ、CodePipelineやCodeBuildを使ったCI環境の構築の課題を追加しました。チームラボエンジニアリングではこうした課題を消化し、半年から1年かけてエンジニアリングの基礎を学ぶ。課題で得た知識をもとに案件相当の実装ができるようになれば、同じチームの他エンジニアをサポートできるようなステイタスへの成長が求められ、最終的には案件をリードするエンジニアへ、と一人前のエンジニアとなるための育成ステージが複数想定されている。ひとつの課題に対しても十人十色の回答が上がります。それらひとつひとつを実際の案件と同じレベル感でフィードバックするのも僕の役目です。教育する以上は、実際の案件で活躍して欲しいと願っていますから。レビューの時によく言うのは、意図が伝わりやすいコード、例外を考慮したコードであること。僕自身、チームラボに入ってからの3年間携わった保守案件で必要な資料がなくて困った経験があるので、「つくって終わり」ではない、と口を酸っぱくして伝えています。memberクライアントワークでしっかりと実績を積み上げていきたい新人教育に力を入れ、技術力に長けたプロフェッショナルな人材を排出し、チームラボ全体の技術力が底上げされる。この「プロ集団」はこの先、意外にも「クライアントワークにおけるSI事業」をより多くさばいていきたいと考えている。DMM」などのアート展がイメージされますが、実際にはクライアントワークの仕事の方が割合としては多いです。Web開発の案件があるとなれば一番手として指名されるような組織でありたいですね。アート制作を続けるためにも、まずは根幹となるクライアントワークでしっかりと実績を積み上げていきたいと思っています。外から見た印象とは必ずしも一致しないであろう、チームラボエンジニアリングの描く未来像。同じ目線で働くメンバーの個性や雰囲気については、「(仕事には直接関係しない分野も含めての)専門性をもつ人の多様性」という回答が即座に挙がった。僕の入った当初からずっと変わらず、領域を問わず専門知識を持つメンバーがたくさんいます。仕事に直結する分野に精通している方もいますが、そうではない方も多くいます。それこそ数学がめちゃくちゃ強いとか。それぞれが、それぞれの専門分野に対する知識がとにかく深い。面白そうなものへのアンテナの感度も非常に良好です。みんな、好奇心が旺盛なんですね。最近であれば、社内でVR大会のようなものを催しました。Slackにそういったことを呼びかけるスレッドがあって、結構みんな反応してくれます。仕事領域においても、仕事でカバーすべき守備範疇を超えるほどの専門知識をもつ人がいて、困ったら助けてもらいます。したメンバーばかりなので、案件ごとにチームの色も全然違いますし、案件の規模感や分野、関わる範囲に至っても多岐に渡るので常に刺激があります。11年在籍していても、一切飽きませんね(笑)。あとは、情熱とドライブ力ですかね。「これしようぜ!」と大きな声をあげて、メンバーを集めてきて、一緒に前のめりで開発していく巻き込み型の人が多いです。いの一番に声をあげる側でなかったとしても、巻き込まれながらサポートしてくれる側の人もいる。したことを積み重ねながらプログラミングをいっぱい書いてる人はどんどん成長していくように思います。このようなメンバーがたくさんいるおかげで、チーム力が高まるため、自分自身も周りと一緒に成長し、活躍する機会を広げていくことができるのだと思います。