ジョブNo.827850 モジュラモノリスアプリケーション化エンジニア【食べログ】

  • 正社員

株式会社カカクコム

食べログを高凝集・疎結合なモジュラモノリスにリファクタリングするのモジュラモノリスアプリケーション化エンジニアのミッションになります。

・コードのメトリクスを元に改善計画を立てて進行する
・不要なコードの削減
・結合度・凝集度・認知的複雑度などコードの質の指標を改善する
・業務ドメインの開発エンジニアと共同してモジュールの境界を定義・設計
・モジュラモノリスアーキテクチャへのリファクタリング

【ミッションへの道のり】
食べログは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 は、食べログの開発者が技術的課題に対する取り組みやプロダクト開発の試行錯誤で得た学びなど、食べログの開発にまつわる様々な情報を発信するブログです。
食べログのエンジニアがどのように業務を進めているかもわかるコンテンツですので、ぜひともご覧ください。

コンサルタント 中村 楽

募集要項

職種 IT系/システムエンジニア(Web系・オープン系・パッケージ開発)、IT系/Webエンジニア(スマホアプリ・フルスタック)、IT系/クラウドエンジニア
年収 1万円~1万円
勤務地 東京都
応募資格 必須要件
・Webアプリケーションの設計・実装・運用経験
・データモデリングの経験

歓迎要件
・API設計・GraphQLスキーマ設計の知識と経験
・ドメイン駆動設計、イベント駆動設計など複数の設計パラダイムに関する知識
・マイクロサービス化やモジュラモノリス化などのシステム改善の実践経験・知見
・Ruby, Railsのプログラミング経験
・大規模システムの長期運用経験
・OSや開発言語を変えるシステムのマイグレーション経験
学歴 不問
雇用形態 正社員(期間の定めなし)
勤務時間
フレックスタイム勤務(標準労働時間は1日8時間)
コアタイム:午前10時00分~午後3時00分
※業務の都合上、時間外労働が発生することがあります。
※管理監督者および裁量労働制となる場合は異なります。
※チームの状況や自分の仕事のペースに応じて、出勤・退勤時間を柔軟に変更することができます。
休日・休暇土、日、祝日
夏季休暇、年末年始休暇、育児休暇、慶弔休暇
完全週休2日制
待遇・福利厚生確定拠出年金(401K)、従業員持株制度、その他待遇・福利厚生
・団体生命保険 ・無料人間ドック(定期健康診断) ・EAPカウンセリングプログラム ・慶弔見舞金 ・産前産後休暇 ・育児休暇(最大で子供が3歳になる年の年度末まで取得可能) ・育児短時間勤務(最大12年間、子供が小学校を卒業するまで取得可能。コアレスフレックスタイム制の選択可) ・子供の看護休暇(年間10日とし、内5日は有給休暇。子が複数いる場合は年間20日とし、内10日は有給休暇) ・看護休暇
健康保険、厚生年金、労災、雇用保険
通勤交通費(一部)、家族手当、その他手当
受動喫煙防止措置屋内原則禁煙(喫煙施設有)

企業情報

企業名株式会社カカクコム
業種・資本 IT・通信系(インターネット関連)
ヘッドオフィス:国内
事業内容インターネットメディア事業

モジュラモノリスアプリケーション化エンジニア【食べログ】

  • IT系/システムエンジニア(Web系・オープン系・パッケージ開発)、IT系/Webエンジニア(スマホアプリ・フルスタック)、IT系/クラウドエンジニア
  • 1万円~1万円
  • 東京都