こんにちは。
プロダクトエンジニアリング部の岩見です。
賃貸のバックエンドを主に担当しています。
私が新卒入社して以来の一番大きな施策であるLINE物件問合せについていろいろとお話できればと思います。
初投稿です!よろしくお願いします!!
LINE物件問合せ
LIFULL HOME'Sの賃貸サイトは12月1日に大きなリリースを2つ行いました。
1つ目は叶えたい条件で探すです。
2つ目はLINE物件問合せです。
後者はプレスリリースをしていないのですが、下記のようにすでに存在する「電話・メール・見学予約」に加えて「LINEで相談する」ボタンを追加し、LINEを使用して物件問合せが行える機能です。(対応している物件のみボタンが表示されます)
LINE物件問合せはとても気軽に物件問合せができるのでぜひ使ってみてください!!
まだすべての物件でLINE物件問合せが利用可能な状態ではありませんが、日に日に増えていく予定です!
大まかな処理のフロー
ざっくりとではありますが、以下が問合せ処理のフローです。
- エンドユーザーがLINEボタンをタップする。
- OAuth認証にもとづいて認証・認可を行う。
- 不動産会社が所有するLINE公式アカウント宛に問合せメッセージが送信される。
- エンドユーザーと不動産会社間のトークルームが作成されて、メッセージのやりとりが可能になる。
- 問合せ情報を保存する。
以下は実際に使用していたアクティビティ図です。
私が担当したV5チームはフロントエンド~REST APIまでが担当領域です。
view関連やBFFへのリクエストを担うフロントエンド、賃貸マーケット固有の処理やREST APIへのリクエストを担うBFF、LINE物件問合せ共通ロジックを担うREST APIの3つです。アクティビティ図の後半に記載されていますが、反響情報システムやメール配信システムとの連携も必要になってきます。そのため、V5チームは各システム開発担当者や関係者との調整もメインで旗振りをしていました。
開発コソコソ話
以下3点について経験談も交えて説明していきます。
- チーム構成
- LFTV
- 個人的な苦悩
チーム構成
大まかなチーム構成は下記の通りです。
全体を見るチーム、問合せデータの送信までを担当するV5チーム、問合せデータを処理して課金計算を行うシステムを担当する料率課金チーム、不動産会社向けの画面改修を行うManagerチームの計4チームの体制でした。
図にも記載している通り、私はV5チームの技術リーダを努めました。新卒2年目ということもあり、まだ大きな責務はないとプロジェクトスタート時期は思っていましたが、全くそんなことはありませんでした。全体を見ているPMから予想を超える裁量を与えていただき、「あれもこれも自分で決めていいの!?」と戸惑ったぐらいです。今までは小さな施策において裁量権はありましたが、ここまで大きな裁量権をいただけることにとても驚きました。
若手だからというのは関係なく、気軽に意見を言い合える関係性を築けており、企画にも意見を出し仕様変更をした部分もありました。
LIFULLという会社は、若手だとしても1人のプロとして見ている・接する文化であることをあらためて実感しました。
LFTV
LIFULL Tech Vietnamの略で、ベトナムにあるLIFULLの子会社です。
チーム構成図だとV5->ブリッジエンジニアの下に位置しています。今回の施策では一部APIをLFTVに実装していただき、そのレビューを私含めた本社社員が行う体制を取りました。
私はベトナムの方とお話をすることやオフショア開発を経験することも初めてでした。そのため、コミュニケーションコストが大きくなることを考えると本社だけで完結した方が早いのではないかという不安が大きくありました。
しかし、日本側のブリッジエンジニアの助力もあってLFTVとのコミュニケーションコストは想定よりとても少なかったです。むしろ、コミュニケーションを円滑に進めるためにドキュメントをしっかりと作成したことが本社のチーム間でのコミュニケーション効率化に役立ちました。
今後はこの経験をブリッジエンジニアとともに広めていき、LFTVとの連携する領域を拡大していくことに貢献できればなと思っています。
個人的な苦悩
設計や実装
すでにLINEで不動産会社へ問合せができるLINE会社問合せが実装されていましたが、3,4年前のコードで現在では推奨されていない設計方針であったり、技術的負債になる実装箇所がいくつもありました。
今となってはコードの臭さを以前よりは探知できるようになりましたが、設計・実装当初はあまり嗅ぎ分けることができずに、fixに時間を要してしまいました。
先輩が良くも悪くもコードは人を育てるとおっしゃっていて、本当にその通りだなと強く実感し反省をしていました。その後は、本来あるべき姿やどうしてこのような状況になってしまったのかをモブプロで丁寧に説明していただき、良い方向へ成長できました。
技術リーダー
冒頭のチーム構成にも記述しましたが、V5チームの技術リーダーを任せていただきました。チーム開発においては個々人が具体的にどのような動きをするのかを明文化した方が認識の齟齬が少なくなり、余計なコスト発生を抑えることにつながるかと思います。せっかくの機会なので今回はあえて、技術リーダーが何をするかを深く問わずに自身で考えて行動することにしてみました。
いろいろと調べて思考した結果、V5チームのテックスペシャリストになってV5チームの技術に関することならなんでも聞いてくれ!という状態になることを目指しました。
そこからは必死に過去のドキュメントやコード、コミットメッセージ等まで細かく調査を行い知識を吸収することに注力しました。同時に、レビューイ・レビュアーとしても行動し、少し時間が足りないなぁと思う時が多々あったのも事実です。
今までは小さなタスクのみで自身のスループットを把握していたのですが、今回の経験でより精密な定規を手にできたと思っています。
最後に
長々と散りばめて記述してしまいましたが、私が一番お伝えしたかったのはこんな若手にも大きな裁量権を与えてくれる良い方々に恵まれ、一気に成長できたということです。
あらためて良い環境であることを実感するとともに、今後も精進していきたいと思います!!
繰り返しになりますが、LINE物件問合せをよろしくお願いします!!