doda トップページリビルドプロジェクト ― サーバサイド編 ―

dodaトップページリビルドプロジェクト

ユーザーが本当に求める求人情報を届けるために、「doda」サイトのSEO指標向上を目指して始動した、doda トップページリビルドプロジェクト。フロントエンドグループのお二人にお話を伺った前回の記事の後編として、今回はサーバサイド側の取り組みにフォーカスしてお届けします。

サーバサイド側では、どのような考えのもとに取り組みが進められたのか。そして得られた成果と、今後目指す世界観とは――dodaサイト開発グループの坂井とdodaエンジニアリンググループの齋藤に話を聞きました。

※撮影時のみ、マスクを外しています。

※坂井は退職していますが、本人の同意を得て、掲載を継続しています。

 

既存のあり方に囚われず、“あるべき姿”を模索する

 

――まずはお二人がプロジェクトにジョインされた背景から教えてください。

 

坂井:2021年春頃にdodaトップページのリビルドプロジェクトのメンバーから、「SEO指標を改善するためにフロントエンドを刷新したいが、バックエンド側はどのように改修すべきか」と相談をいただいたのがきっかけです。当時別で「doda」サイト全体のリビルドも走っており、私がその中で担当するコンテナ環境導入のPoCについて、ちょうどプロトタイプ作成に目処が立った頃のことでした。

プロトタイプを実践導入できる事業案件を探しているタイミングだったので、コンテナ環境を新たに導入してみませんかと提案したんです。相談をくれたメンバーとしても「バックエンドの作りがレガシーで使いにくいため、どんどんAPI化してほしい」とのことで、意気投合して一緒に進めていくことになりました。

 

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア 坂井 一憲

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア 坂井 一憲

私がそのまま手を動かすという選択肢もありますが、それよりはバックエンドエンジニア全体としてこういった経験を積んでいく方が、チームにとっての価値になるはずです。そこで、コンテナやマイクロサービス化に興味を持たれている齋藤さんにお声がけすることにしました。

 

齋藤:「doda」のシステムを今後より良くしていきたいという思いがありましたし、PoCに関わっていたこともあって技術に対してある程度理解が進んできていたので、前向きな印象で受け止めました。自分が今後伸ばしていきたいと思っている領域と一致していたので、率直にやりたいなと思いましたね。

 

――今回のプロジェクトを進めるにあたって特に意識されていた点や工夫された点があれば教えてください。

 

齋藤:今回の画面に限らず汎用性高く使えるものにしたいので、既存になるべく囚われずに、ゼロから「APIとしてどうあるべきか」を考えることは強く意識していました。

そのためにも、既存の処理を移行するにあたって、まずは既存システムの複雑な作りを丁寧に読み解いていくこと。そしてAPI化する流れの中で「各項目を画面側で処理すべきか、API側で確保すべきか」など一つひとつ最適解を考えていくことが、大きなポイントになったと思います。

 

――「APIとしてどうあるべきか」を考えるにあたって、重視されるポイントや判断基準などはありますか?

 

齋藤:クリーンアーキテクチャを導入していて、データベースの変更や法改正など外部要素の変更にも対応しやすいようには作っています。また読み込み・データの取得・閲覧登録などの処理については、それぞれAPIを分けており、そこは RESTful API の基本的な設計指針に沿っている形ですね。

 

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア 齋藤 悠太

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア 齋藤 悠太

ただ、今回すべての部分で理想の形を実現できた訳ではありません。求人詳細ページが対象となっていて、非常に項目数が多いところなので、今出ている項目については精査せずにすべて返していたりもします。そこは課題として残る部分ではありますが、できるところから変化を生みながら綺麗な状態を目指していけたらと思っています。

 

一部のリビルドを目的とせず、全体感を捉えて更なる仕組み化を目指す

 

――今回のプロジェクトの成果を振り返っていかがですか?

 

齋藤:これまでインフラ領域は業務委託の方々にお任せしており、ブラックボックス化してしまっていた部分がありましたが、ソースコード管理によって可視化ができましたし、負荷に応じてサーバーを増減させる柔軟な仕組みを作れました。

私たち内製エンジニアももっとインフラに触るべきだと課題を感じていたので、まずは今回着手できてよかったと思っています。

 

坂井:今回の取り組みによって、私たちが手がけられる領域が増えたのが一つのポイントですよね。

これまでは、インフラ側で物理のサーバーを調達してセットアップ〜ネットワーク接続を行い、いろいろなソフトウェアを入れていただいた上で、ようやく私たちがアプリケーションを入れられる、という流れだったんです。しかし今回コンテナ領域をクラウドで立てたことで、そういったセットアップから私たちでできるようになりました。

内製エンジニアの役割がアプリケーション領域に閉じてしまっていたところから、今後はシステムの運用監視の仕組みとの接合さえきちんと守れていれば、私たちでインフラ領域をコントロールすることもできます。その可能性が明確になったのが大きな成果かなと思いますね。

 

――内製エンジニアの皆さんがインフラ領域を扱えるようになると、どのようなことが実現されるのでしょうか。

 

坂井:これまで外部への依頼やコミュニケーションにかかってしまっていたリードタイムが、数ヶ月単位で削減されるため、ビジネス側からのリクエストに応えやすくなります。環境やビジネスの変化にスピーディに対応できることは、大きな価値になるはずです。

内製エンジニアとしてそうあるべきだという思いを、齋藤さんをはじめ全員が共通認識として持っていたからこそ、今回よい流れができたのだと思います。

 

dodaトップページリビルドプロジェクト

 

――内製エンジニアの皆さんが「あるべき姿」をしっかりと考え、リビルドプロジェクトや開発標準の整備などを進めてこられていますが、システムの現状はどのように変化してきていると捉えていらっしゃいますか?

 

坂井:以前は、全体を把握するにはプログラムやドキュメントを読み込むというアプローチしかない状態でしたが、さまざまなプロジェクトを通じて仕組み化が進められ、情報を得やすい状況にはなってきています。

ただ、まだ途上ではありますね。やはり大きなシステムなので、「どこか一点の修正がどの範囲にまで影響を及ぼすか」などは、地道な事前調査が避けられない状態です。今後はそれを、さらなる仕組み化によって“そもそも他に影響が及ばない”形に変えていきたいなと思っています。

 

――目の前のリビルドに着手しながらも、皆さんが共通認識としてシステムの全体感や「内製エンジニアとしてあるべき姿」を考えられているのが印象的ですね。

 

齋藤:チームの勉強会など、考え方を共有する場は定期的に設けられています。技術的な側面ももちろん共有し合いますが、どちらかというと意識的な部分での目線合わせに重きが置かれている印象です。

 

坂井:直接的に「技術要素」となる訳ではありませんが、根本に設計や考えがあって、その実現手段として技術があるのだと思うので。背景にある思いや考えは正しく伝えるべきだとは意識していますね。

 

内製エンジニアだからこそ、エンジニアリングだけでなくビジネスにも踏み込みたい

 

dodaトップページリビルドプロジェクト

 

――お二人が今後挑戦したいことについてお聞かせください。

 

齋藤:まずは、トップページリビルドに関しては今回ある程度成果が出たと伺っているので、今後は別の領域に着手していくことですね。今回と同様にAPIを新しく用意してアプリケーションを載せる場合もあれば、状況によっては「新たにどう作るべきか」を考えるべき場合もあると思いますが、全体感を見ながら環境を整えていきたいと思っています。

また「doda」全体のリビルドも方向性としては変わらず、今回新しく作ったところへの既存ソースの移行に取り組んでいきたいです。その先で、いずれは「doda」リビルドプロジェクトで行われているKVS化の動きと連携しながら、マイクロサービス化を推進していければと思います。

 

――ありがとうございます。坂井さんはいかがですか。

 

坂井:挑戦したいことはたくさんありますが……まずは、さらなる仕組み化を進めていきたいと思っています。

今回既存のプログラムの複雑さを解消する仕組みを取り入れたので、今後はその仕組みに沿わない実装を検知して知らせることを検討していきたいと思っています。自動化を促進することもできてきているので、その仕組みに載せるための移行を進めて、生産性だけでなく改修性も高めていきたいですね。

また、開発ルールやプロダクトの技術方針・課題を扱う「コンポーネントワーキンググループ」との連携も強化していきたいと思っています。

システムはあくまでビジネスの手段とも捉えられるので、システムの生産性や品質を向上することが目的になってしまうと、ビジネスとしての旨味がありません。改善の取り組みを、「ビジネスの案件を進める際にこの仕組みを使うとよい」と進めていく方が筋が通りますし、ビジネス側のリクエストにも応えやすいのではと思うんですよね。

そういった観点から、リビルドプロジェクトとして動き続けるよりも、コンポーネントワーキンググループで動いている改善施策に乗せる方向性で進めていけたらと考えています。

 

――変わらず目指すものはあるけれど、環境・ビジネス・組織などの要因を考えながら、状況に合わせて道筋を変えていく、というイメージでしょうか。

 

坂井:そうですね。内製エンジニアだからこそ、エンジニアリングだけに閉じずに、環境や「周りの方からどう理解を得るか」という点まで頭に入れてビジネスにも踏み込んでいきたいと思います。

 

dodaトップページリビルドプロジェクト

 

――今後さらにdodaのウラガワがパワーアップすることが伝わってきました!ありがとうございました!

(取材=伊藤秋廣(エーアイプロダクション)/文=永田遥奈/撮影=服部健太郎)

 

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア 坂井 一憲

坂井 一憲 Kazunori Sakai

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア

SIerからキャリアスタートし、航空、金融、メーカー、医療など様々な業界を経験。前職ではECサイトを運営する事業会社にて内製エンジニア組織黎明期から参画。サイトシステム全般に関わりながらマネジメントも担当していた。現在は退職。

プロダクト開発統括部 第1開発部 dodaサイト開発グループ リードエンジニア 齋藤 悠太

齋藤 悠太 Yuta Saito

プロダクト開発統括部 エンジニアリング部 dodaエンジニアリンググループ リードエンジニア

SIerや事業会社業務での開発を経験し、2020年9月にパーソルキャリアに入社。現在はdodaサイト開発に携わっている。好きな技術領域はJava、Spring、AWS。

 

※2022年2月現在の情報です。