概要
約100万MAUの不動産ポータルサイトの開発。
当サイトはアグリゲーションサイトという領域で、
不動産ポータルサイトを運営する10近くの各クライアント企業から、各サイトの掲載物件を当不動産ポータルサイトに集約し、当サイトを通じた送客数(問い合わせ物件数)に応じて予算をいただく、というビジネスモデルとなっています。
予算には企業ごとに月額単位での限度額があるため、次の二つを軸としてKPIを立てていました。
- 営業メンバーによるクライアント獲得
- サイト集客力の向上
開発チーム構成
- PM: 1
- ディレクター: 2
- デザイナー: 1
- エンジニア:
主にエンジニアとしてアプリ側を担当。
業務実績
アプリケーション側
- 新規機能の追加
- 市区町村ごとの世帯数、出生率、犯罪率等を掲載するランキングコンテンツの作成
- 市区町村のフリーワード検索機能の作成
- ヘッダーハンバーガーメニュー など
- 外部企業との連携機能開発
- 外部企業向けのSwaggerを用いたOpen APIの作成
- 外部企業が提供しているAPIへのPOSTリクエストの作成
- LINEボットの新規開発
- LINE Messaging APIの活用
- 当サイトのDBと連携した物件検索機能の作成
- LINE Frontend Frameworkを活用したLINEボット内のフォーム作成
など
インフラ側
- AWS Trusted Advisor等を活用し各リソースの調査を行い、1ヶ月あたり約$2,000($30,000内)のコスト削減に貢献
- 未使用EBSを特定、削除提案
- EC2リザーブドインスタンスあるいはスポットインスタンスの購入提案
意識した点
プロジェクト面
- 他メンバーとのコミュニケーションを円滑に進めること
- デザイナーメンバーに対し、ブランチや修正箇所を予めこちらで用意しておく
- 他エンジニア・デザイナーメンバーのタスク量やスキルに応じてモブプロをしたり、タスクを巻き取る
- CS・マーケ部署からの要望に対し、優先度と工数を考慮して自分の持つタスクの整理・他開発メンバーとの調整
技術面
- RailsにおけるActiveRecordによるSQLの発行がN+1ではないか
- 記述方法が計算量を意識しているか(On^2であればOnになる書き方はないか)
- コードの修正箇所がクラスやメソッドの責務に相応しいか
- 共通処理を抽象クラスに切り出すことによって再利用性の高いコードにならないか
- tailでログを追うなどして障害やボトルネック対応