PEOPLE ネイティブアプリエンジニア社員インタビュー
事業戦略をとらえ、難易度の高い
大規模サービスを改革する面白さ。
強い開発組織作りで、
理想の実現に向かう。
ネイティブアプリエンジニア
販促領域プロダクトディベロップメント2ユニット
マリッジ&ファミリー・自動車・進学情報領域エンジニアリング部
開発基盤グループ
信岡 裕也
Yuya Nobuoka
ビジネス視点を学べる環境があり、
多様なサービスや技術領域に携われる。
なぜエンジニアとしてリクルートで働くことを選んだのでしょうか?
前職は一般ユーザー向けのサービスを提供する企業で、Web系のバックエンド・フロントエンド、Androidアプリの開発を4年半ほど経験しました。技術を極めるエンジニアが多くスキル面の成長環境はありましたが、ビジネス視点と融合させて考える習慣が浸透していなかったこともあり、私が関わっていたサービスも赤字が続いていました。そんな中優秀なディレクターが転職してきて、サービスを一気に黒字化させたのです。サービスを作るだけでなく“ビジネス”の重要性を感じ、「ビジネスが得意な会社でもっと成長していきたい」と考えました。リクルートは、それにぴったりな会社でしたね。
また、同じサービス、同じ開発環境に携わり続けることで、身に付く技術に偏りが出るという懸念もありました。今後のキャリアを考え新しいことに挑戦し、幅広い領域で経験を積んでいきたかった。リクルートは多様なサービスを手がけ、それぞれの領域に技術的な特色を持っているので、異動する中でさまざまな開発環境を体験できると考えました。
事業戦略の方向性を見つめながら、
開発組織としての戦略を考える面白さ。
入社後はどのような開発・ポジションを経験していきましたか?
当初の2年半は新規事業に携わり、保育園向けの連絡帳サービスを開発していました。10名程度のエンジニア組織のグループマネージャーとして、アーキテクチャの問題を解決する大きなシステム改修に携わりました。その後、マリッジ&ファミリー・自動車・進学情報という3つの領域を担う現部署に移動し、『ゼクシィ』アプリのリニューアルプロジェクトに携わってきました。
入社5年目となる今年、3つの領域にまたがるマネージャーに就任。もともと担っていた『ゼクシィ』アプリの内部品質改善を引き続き担当しつつ、さらに活動領域を広げています。メインミッションは、ソフトウェア製品の品質向上と開発組織の生産性向上。品質面ではソフトウェア内部の設計やアーキテクチャ、保守性の改善を行い、生産性の面では開発関連のツール改善を手がけています。
プロダクトの開発プロセスの中、開発組織のマネージャーでありながらもビジネスの観点を学べる面白さを感じています。週次の開発会議には事業責任者をはじめとした企画チームのマネージャーも集まり、情報共有が行われます。プロダクトのキックオフから入るので、ビジネスサイドの事業戦略を自分事化した上で、自らのメインミッションとして「どのようなシステムを作るのか、どう体制を構築していくのか」を考えることができるのです。売り上げやビジネスモデルの観点を持って、中長期的な開発戦略を構築していくことが面白いし、より高い視座からシステムをとらえることができるようになりました。
リクルートは本人の意思を重視する会社なので、組織としてのテーマがある中で、一人ひとりの意思と強みにマッチするようアサインしてくれます。多様な領域の自社サービスがあり、規模や開発フェーズの異なる幅広い案件に携わることができますし、技術面の成長はもちろんですがそこにとどまらない幅広い経験を重ねることが、技術者としての開発力に還元されていると感じています。
現在も技術コーチングに入り、議論にも積極的に参加し、ソースコードレベルで関わり続けています。個々の裁量に任せてくれる会社なので、マネージャーになっても現場から離れず技術者としての強みを発揮することができていますね。
複雑に絡み合う大規模システムに挑む。
難易度が高い開発で、描いた理想の実現へ。
印象に残っているエピソードを教えてください。
私がチームにジョインした際、『ゼクシィ』 のアプリは技術的負債がたまり、ちょっとした変更にも時間が掛かってしまう状況となっていました。企画チームから「もっとサービスの改善をスピードアップできないか」という要望があり、社内エンジニア6名を取りまとめて内部品質の向上に取り組むことになりました。
iOSアプリに使われていた古い開発言語であるObjective-CのコードをSwiftに書き換えるというような内部的な改善をしながら、機能開発や機能改善も行っていきました。機能開発を止めることはしない方針だったため、各チームの開発領域と進捗を把握し、作業配分を調整しながら進めていく難しさがありましたね。
一方開発環境の改善としては、自動テストのコードを書き直し、CIでテスト実行できる環境づくりからスタートしました。大前提として、このシステムは国内開発されていたものが2015年頃にオフショア開発に切りかわり、元々あった自動テストも全くメンテナンスされていなかったという背景があります。つまり、既存の自動テストはビルドすらできない状況になっていたのです。手動テストを続けて新たな機能開発をしていくこともできますが、質やコストの観点で課題があります。 例えば手動テストだとテストの再現性が低くなったり、テスト実施のコストやリードタイムも大きい。 また、内部の処理単体でのテストがし辛いこともあります。壊れてしまっていた既存のテストコードを修正し、CI環境を整えて、チームとして自動テストを積極的に書いていく方針にしました。
私自身も自ら手を動かして進めましたが、5年以上前に書かれたコードを解析して動くものへと修正していく中「レガシーコードにどう向き合うのか」を深く考えさせられました。
しかし、これこそが大規模サービスを手がける面白さだと感じています。複雑に絡み合う既存のシステムがあり、多くの制約がある中でそれをどう最大限に活用するのか、サービス自体を止めずにどうやり切るのかを考えて実現していくことが求められます。つまり、ゼロから新たなシステムを作るより、はるかに難易度が高く、技術的にも高レベルなのです。
例えるなら、新たに街を作っていくことと、都市を再開発することくらい違う。再開発では古くなった都市構造のさまざまな課題を分析し、ユーザーニーズや社会の変化、技術の革新を見据えた上で“あるべき理想の街”を作っていく。それと同じく、私は『ゼクシィ』という領域の中、事業戦略から未来に求められる機能開発の環境まで考え“あるべき理想のシステム”を描いて実現していくことができるのです。広い視野と高い視座を持って、チャレンジしていくやりがいを感じています。
自ら変化を起こし、組織を変えていく醍醐味。
世界と肩を並べる“強い開発組織”を目指す。
リクルートでエンジニアとして働く魅力と、今後の目標を教えてください。
事業戦略やビジネスモデルまで見据え、視座の高いエンジニアとして成長していける環境に大きな魅力を感じています。リクルートでは開発のプロセスの中、プロダクトマネジメントやプロダクトデザイナー、マーケティング、営業など、さまざまな人の観点で開発へのフィードバックを受けることができます。
リクルートに入るまでは、事業に対する意識は持てておらず、目の前のサービスやシステムばかり見ていましたが、現在は事業全体をとらえた戦略的なエンジニアリングを考えられるようになりました。
そして一番の魅力は、裁量権が大きく自ら変化を起こして組織に影響を与えていけること。開発方法はもちろん開発体制への提案もでき、課題解決するメリットとコストを語ることができれば受け入れてくれます。私は『ゼクシィ』アプリの開発チームにおいて、社員メンバーを増やしたりオフショア開発から国内開発へ切り替えるという経験をして、組織を変える醍醐味を味わいました。
現在、私の部署では『ゼクシィ』アプリ以外のシステムについても内部品質を向上させていくために動いています。今後の目標としては、リクルートを「世界レベルのエンジニアリング企業と肩を並べる存在」とすることを目指し、強い開発組織の構築により注力していきます。将来的には日本のソフトウェア・エンジニアリングのレベルを底上げすることに貢献し、社会全体に還元していきたいです。
記載内容は取材当時のものです。