掲載日 ・ 2025/10/15
株式会社カカクコム
株式会社カカクコム:モジュラモノリスアプリケーション化エンジニア【食べログ】
非公開
東京都
会社名
株式会社カカクコム
会社概要
1997年創業のカカクコム社は「消費生活のあらゆるシーンで、選択をサポートするインターネット・メディア企業」になることを標榜し、様々なメディアを企画・開発・運営しています。
現在さまざまな領域で20以上のサービスを展開しており、購買支援サイトの「価格.com」やレストラン検索・予約サイトの「食べログ」などを筆頭に、以下のようなメディアを運営しています。
◇求人情報の一括検索サイト「求人ボックス」◇ライフスタイルメディア「キナリノ」◇宿泊旅行の情報メディア「icotto」◇不動産住宅情報サイト「スマイティ」◇旅行のクチコミと比較サイト「フォートラベル」など
国内最大級のユーザー基盤と独自の価格比較技術、データ活用能力などを活用して成長を続ける当社は創業以来、一貫して「ユーザー本位」という哲学を貫き、試行錯誤を重ねることでなくてはならないサービスへと進化してきました。また、「働く楽しさ」も創業から大切にしており、それに加えて、様々な選択肢から自分に合った就業スタイルを選べる「働きやすさ」を併せて実感できる会社を目指しています。 今後も、利用状況を加味しながら、従業員の声を反映した積極的な制度の見直しを行っています。
ポジション
モジュラモノリスアプリケーション化エンジニア【食べログ】
仕事内容
食べログを高凝集・疎結合なモジュラモノリスにリファクタリングするのモジュラモノリスアプリケーション化エンジニアのミッションになります。
・コードのメトリクスを元に改善計画を立てて進行する
・不要なコードの削減
・結合度・凝集度・認知的複雑度などコードの質の指標を改善する
・業務ドメインの開発エンジニアと共同してモジュールの境界を定義・設計
・モジュラモノリスアーキテクチャへのリファクタリング
【ミッションへの道のり】
食べログは2007年に Ruby on Rails でリプレイスして以来、約15年の長期に渡り抜本的なアーキテクチャ刷新なしに開発と運用を継続しており、モノリシックで巨大なコード、かつ巨大なデータを持つ状態になっています。
この巨大なシステムを以下のステップで改善しています。
1.システムをKubernetesなどモダンなインフラ基盤に刷新して変更安全性と変更容易性を高める
2.設計変更や不要なコード削除などの大胆な改修を小さく速く繰り返し、疎結合・高凝集なモノリスに作り変える
3.組織構造やビジネスファンクション・ドメインモデル・ユースケース等より、マイクロサービスの境界を考察し、定義し、分割する
(詳細は「食べログの大規模なレガシーシステムを段階的に改善していく取り組み - https://qiita.com/tkyowa/items/6417b0a7895399f8f9be 」で公開されています。)
業務内容の変更の範囲は会社の定める業務となります。
入社後のイメージ
食べログのRailsアプリケーション設計、基本的なシステム基盤(例えばサーバミドルウェア)、業務の概要をドキュメントと先輩社員のレクチャーを併用して学習していただきます。並行してデッドコード削減や結合度、凝集度のようなメトリクス改善を実装して開発・リリースワークフローを理解していただきます。
マイクロサービス化チームと開発チームとの合同のシステム改善プロジェクトに参画して、例えばアプリの店舗詳細機能のような特定機能のシステム改善をメインで担当していただきます。(システム改善の詳細は業務内容をご覧ください。)
システム改善プロジェクトにおいてマイクロサービス化のリーダーを想定しています。
開発環境
・プラットフォーム: オンプレ DC / GCP / AWS
・仮想化基盤: VMWare / Kubernetes
・OS・ミドルウェア: Linux / Ruby on Rails / MySQL / Nginx
・コード管理・CI: GitHub / CircleCI
・監視: NewRelic / Prometheus / OpsGenie / Sentry
・コミュニケーション・プロジェクト管理: Microsoft Teams / Miro / Asana
・データ基盤: BigQuery / Tableau
キャリアパス
アプリケーション設計のスペシャリストとして、システムを最適化し、モジュラモノリスからマイクロサービスや新しい設計パラダイムへ進化させるキャリアパスを期待しています。その中においてご本人のスキルと志向次第で技術面でのリードや、施策やチームをリードするマネジメント方面を想定しています。
仕事のやりがい、成長できるポイント
【高度な問題解決能力を鍛える機会が得られる】
大規模システムのリファクタリングは、技術的な問題解決能力を鍛える絶好の機会です。保守性、パフォーマンス、スケーラビリティなどの問題に対処する必要があります。これらの課題を解決することは困難ですが、成功したときの達成感は大きいです。
【先端技術に強い企業・部門で働ける】
日本最速でChatGPTプラグインをリリースできたように、老舗のサービスを開発・運用しながら最先端技術の採用もできる職場です。
【持続的な学習の機会が得られる】
システムエンジニアリングは日進月歩で、最新の技術を学び続けることは極めて重要です。大規模システムのリファクタリングは、新たなテクノロジーやアーキテクチャパターンを学ぶ絶好の機会を提供します。技術スキルを維持・強化することができます。
【プロジェクト初期から大きな裁量を持って参加できる】
アプリケーションの改善は始まったばかりで、プロジェクトの初期から参加して、採用する設計パラダイムなどの意思決定に参加できます。
【発表経験を積める】
社内で発表する機会が大小用意されており、発表経験を積むことができます。
【社会的へ大きな影響のある仕事ができる】
約9,600万MAU(※1)を持つ食べログのシステムを改善するということは、多くのユーザー、飲食店経営者の生活をより良くする大きなやりがいのある仕事です。
※1 2023年3月現在。PC、スマートフォンブラウザ/アプリ等で同じユーザが閲覧している場合には重複カウントとなります。
【在宅でも出社でも働きやすい環境である】
業務に支障がないことが条件ですが、在宅勤務するか、出社するかの勤務スタイルはチームや個人の裁量に任されています。コロナ禍を機会に在宅勤務で働くための環境が整備されており、コラボレーションツールとしてはMiro/Asana/Microsoft Teamsなどを採用しています。
在宅勤務環境下でもコミュニケーションがとりやすい環境になっています。
【その他】
食べ歩きを趣味にしている人が多いため、美味しいお店に詳しくなれます。
Tabelog Tech Blogについて
Tabelog Tech Blog は、食べログの開発者が技術的課題に対する取り組みやプロダクト開発の試行錯誤で得た学びなど、食べログの開発にまつわる様々な情報を発信するブログです。
食べログのエンジニアがどのように業務を進めているかもわかるコンテンツですので、ぜひともご覧ください。
【Tabelog Tech Blog】
https://tech-blog.tabelog.com/?cid=tech-blog_job_ms
求める経験・スキル
必須要件
・Webアプリケーションの設計・実装・運用経験
・データモデリングの経験
歓迎要件
・API設計・GraphQLスキーマ設計の知識と経験
・ドメイン駆動設計、イベント駆動設計など複数の設計パラダイムに関する知識
・マイクロサービス化やモジュラモノリス化などのシステム改善の実践経験・知見
・Ruby, Railsのプログラミング経験
・大規模システムの長期運用経験
・OSや開発言語を変えるシステムのマイグレーション経験
求める人物像
・事業会社であるカカクコムのシステム部門メンバーとして課題解決を第一に考える指向性
・最新技術のキャッチアップを怠らない向学心
・自律的に思考・行動できる方