エンジニアは常に技術を追い、新しいものを求める――フロントエンドエンジニアの理想郷を作りたい

リクルートグループのIT&マーケティングカンパニーとして2012年に設立されたリクルートテクノロジーズ。
そのフロントエンド開発チームのテックリードとして、新技術を導入したり、技術者組織の活性化を進めているのが古川陽介氏だ。彼のエンジニアとしてのキャリアを辿りながら、これからのリクルートテクノロジーズは何を目指すのかを聞いた。

株式会社リクルートテクノロジーズ 古川 陽介氏

複合機メーカー、ゲーム会社を経て、2016年にリクルートテクノロジーズにジョイン。現在はアプリ基盤の改善や運用、各種開発支援ツールの開発、またテックリードとしてエンジニアチームの支援や育成までを担う。Node.jsの日本ユーザーグループコミュニティの代表を務め、Node学園祭などを主宰。趣味はゲームとプログラミング。

Chromeを初めて使ったとき、Webフロントエンド技術の進化に驚愕した

2007年、最初の就職先は複合機メーカー。自社製品であるドキュメント管理システムのバックエンド領域で、全文検索エンジンやデータベースのチューニングなどを行っていた。

そこで得たのは、バックエンドアプリ開発についての一通りの知識。全文検索もデータベースもそれぞれに深遠な世界があり、通常であれば何かに特化した専門性を身につける、というのが次のキャリアになるはずだった。

しかし、古川氏はここで少し方向を転換する。

「ちょうど2010年から2011年くらい、IT業界ではHTML5がブームでした。もともとWebアプリを含めてアプリを作るのは好きだったんですが、バックエンドばかりやっていると、JavaScript、CSS、HTMLといったフロントエンドの技術がだんだん見えなくなるんですよね。

もちろん、バックエンドのエンジニアとして、フロントエンドからのリクエストに対しては何を返せばいいかはわかるんだけれど、フロントエンドで何が動いているかがわからない」

Googleのブラウザ「Chrome」が登場し、それを初めて使ったときの衝撃は大きかったという。

「バックエンドで僕がやっていたのは、基本的に性能チューニング。データベースのインデックスを最適化していくと、それまで10秒かかっていたリクエストが0.5秒になるとか、そういう世界です。

ところがあるとき、Chromeで自分たちのサイトを見たとき、表示が圧倒的に速いことに驚きました。Webフロントエンド技術の進化を目の当たりにして、これからは、バックエンドで性能チューニングしているだけでは間に合わない。フロントエンドまでやらないと追いつけないと思ったんです」

8,568通り、あなたはどのタイプ?

Node.jsのコミュニティ活動が転職のきっかけに

JavaScriptについてはもちろん、個人的に勉強は始めていた。そのうち自分でもJavaScriptで何かを作りたい。それができる最適の会社はどこか、と探すうちに出会ったのが前職のゲーム会社だった。2012年末に転職。2016年4月まで在籍した。

「これまではJavaしか使ってなかったので、前職でも最初はJavaでアプリ開発をやっていました。そのうちJavaScriptをバリバリ使うようになり、ゲーム開発のためのフレームワークやライブラリもたくさん作りましたね。

前職で作成したゲーム用のガジェットライブラリは、開発リーダーとして担当した仕事です。これもJavaScriptで書き、UIパーツ開発にはReact.jsを使っています。

Webアプリをパフォーマンス、セキュリティ、メンテナンスビリティなどを含めてゼロから作る。前職ではそういう得がたい経験をしました」

Webフロントエンド技術が急速に進化する渦の中に自ら飛び込んでいった古川氏。オープンソース・コミュニティ活動にも早くから関心を持ち、特にNode.jsコミュニティについては、2014年から「Node.js日本ユーザーグループ」の代表を務める。

2016年4月のリクルートテクノロジーズ(RTC)への転職も実はこの活動がきっかけだったという。

「同じユーザーグループに、リクルートで働くNode.jsのスペシャリストがいました。『リクルートテクノロジーズはNode.jsをヘビーに使う会社。JavaScriptの技術と文化をより深く社員に根づかせたいので、ジョインしてくれないか』という話があったんです。

その会社にどんなエンジニアがいるかは、エンジニアにとって大事な転職のポイントですからね。Node.jsという分野で、自分よりスキルが上の人がいる環境は励みになると思いました」と、転職の動機を語る。

8,568通り、あなたはどのタイプ?

自分の背中をメンバーに見せる。古川流エンジニアを活かす組織作り

リクルートテクノロジーズでも、Webアプリのフレームワーク開発からスタートした。そのフレームワークを使って、WebサイトのオーナーとユーザーとがクローズドのSNSで密に連絡を取れるようなWebアプリを一つ作ることになり、その時点でフロントエンドのテックリードを任されるようになった。

「これを一通り作ることで、リクルートグループにおけるアプリ開発のお作法みたいなものが理解できたと思います。会社によってアプリ開発のスタイルは違いますからね」

古川氏に言わせると、当時のリクルートはパートナーと協業することが多かったので、マイルストーンごとにきちんと仕様を固める必要があり、それに伴うミーティングが多かった。

「その点、前職ではどちらかというと仕様はエンジニアの頭の中にあるけれど、ワイヤフレームやデザインも平行して作りながら、最後に固まるという感じでした。ゲームアプリが多いということもあるし、開発者の多くが自社の社員だからということもあると思います。

それらと両極にあるのが、複合機メーカーの時に経験した開発スタイル。ヒアリングの結果を機能一覧にして、細かな機能単位で開発し、最終的にはそれを合体させる。ウォーターフォール型の開発の中で、設計から開発とテストを繰り返すという感じでした」

転職を重ねながら、複数の企業の開発スタイルを理解したことは、現在の古川氏のリクルートテクノロジーズにおける開発組織作りにも大いに役立っている。

特にリクルートはこの10年で営業の会社からテックカンパニーへと大きな変貌を遂げた企業。その技術基盤を提供するリクルートテクノロジーズには重要な役割が課せられている。

エンジニアを活かす組織作りもたえず革新の波の中にある。テックリードの古川氏にも、RTCの開発力を高めることへの関与が強く求められるようになった。

「内製で開発できるエンジニアを増やし、エンジニアが働きやすい環境を整える必要性があって、そこにマネージャーとして参加してほしいと言われました。

自分の背中を見せて、メンバーを引っ張るという僕流のスタイルで、その課題に挑戦してきた2年間だったと思います」と、振り返る。

エンジニアは「常に泳いでいないと死んじゃう」人たち

古川氏のリクルートテクノロジーズへの貢献はフロントエンド領域のみにとどまらない。

「組織全体がエンジニアリングに特化するために欠かせないのが、技術動向や最新技術の共有。そのために外部から講師を招いて勉強会を開いたり、技術研修や技術講座を整備し、社内の教育制度を変えました。

最近も和田卓人さんに社内勉強会の講師をお願いし、テスト駆動開発の勉強会を開いたり、一緒にペアプログラミングをしたりしました。また、『プログラミング言語Go』を翻訳した柴田芳樹さんを呼んでGo言語の研修会を開いてたりもしています」

Node.jsコミュニティの活動も相変わらず精力的にこなす。国内のみならず海外カンファレンスでの登壇も数多い。

「僕が海外で発言している姿を見せることは、日本のOSSコミュニティのためだけでなく、会社にとっても大切だと思うんです。もちろんそれは、僕自身の励みにもなっています。自分も勉強しないと発表なんてできないですからね。

コミュニティ活動というのは、エンジニアにとって一石二鳥、三鳥の効果がある。リクルートテクノロジーズのエンジニアには、それを強く意識してもらっています」

そもそも、エンジニアというのは「常に泳いでいないと死んじゃうマグロみたいな人たち」と、古川氏は言う。つまり、絶えず身体を動かしながら、技術という栄養を貯めるために、情報収集や勉強をけっして厭わないことは、エンジニアであるための最低限の条件なのだ。

「さらに、なぜこの技術が優れているかを人に説明できるということも、テックリードには重要なスキルです」とも言う。

求めるのはフロント・バックにまたがる知識。魂をどれだけ込められるか

最後に、「リクルートテクノロジーズにおけるフロントエンドのプレゼンスをもっと高めたい」という古川氏に、フロントエンドエンジニアの理想像について聞いた。

「フロントエンドエンジニアと一口に言っても、会社によって定義が違います。リクルートテクノロジーズでは、単にHTML、CSS、JavaScriptが書けるだけじゃなくて、Node.jsをはじめとするサーバーサイドのバックエンド技術にも詳しく、アプリを開発したり、そこでのUI開発をしたりするところまでをフロントエンドと定義しています。

Webやアプリのフロントエンドというのは、企業が提供するサービスの顔ですからね。そこに魂を込めないとユーザーは共感してくれないし、魂を込めればそれだけの反応が必ずあるやりがいのある仕事だと思います。

リクルートグループは、リクルートキャリア、リクルートライフスタイル、リクルートジョブズなど、各事業会社ごとに提供するサービスが違います。だからその基盤を開発するリクルートテクノロジーズのエンジニアも、それぞれ制約や技術要件が異なる多様なサービス開発を経験することになる。スキル・経験は確実に広がると思います」

執筆:広重隆樹 撮影:刑部友康

※本記事は「CodeIQ MAGAZINE」掲載の記事を転載しております。

PC_goodpoint_banner2

Pagetop