KaQiita

新米社会人が適当なことを書いてます。温かく見守ってやってください。

駅検索機能を実装・リリースして学んだ3つのこと

はじめに

普段、私はLITALICO仕事ナビというサービスのエンジニアをしています。

このサービスでは、働くことに何らかの障害がある方に向けた就職支援サービスの比較ができたり、専門家の監修を受けた専門性の高い記事を読むことができたりします。

先日、このサービスに「就職支援サービスの駅名検索機能」が実装されました。

この「東京都の路線の選択画面」のような画面から駅を選択して、その近隣の就職支援サービス(就労移行支援事業所)を探すことができます。

この駅名検索機能実装プロジェクトの立ち上げから着地まで行いました。

エンジニアとして現場に配属されて、ここまでの規模の機能を行なったのは初めてで、それなりにたくさんの学びを得たので、今回は特に大きな学びだったと感じる3つのことをここに書ける範囲でまとめておこうと思います。

駅検索機能を実装・リリースして得た3つ学び

大きな学びだったと感じたのは、以下の3つです。

  • 迷ったとき・苦しいときには「誰のどんな悩みを解決するための機能か」を強烈に意識する
  • 知らないことは聞けば良いし調べれば良い
  • 仕様の説明はこれでもかと言うくらい分かりやすく何度も行う

迷ったとき・苦しいときには「誰のどんな悩みを解決するための機能か」を強烈に意識する

この駅名検索機能を作ろうと思った理由はいくつかありますが、この機能ができるまでは各施設の住所しか載っておらず、施設を探している方が「自分の家から通うとしたらどれくらい掛かるのか」がとても分かりにくいという問題がありました。

この問題を解決するために始めたはずが、プロジェクトを進めるにつれて技術的な問題やステークホルダーとの調整の問題が発生し、止むを得ず当初に考えていた仕様と変更せざるを得ない状況になりました。

どうしようもない問題だったので、その意思決定自体は間違ってはいなかったと思いますが、一度そういう意思決定をしてしまうと、タスクに追われて余裕が無くなってきたときに、本来はユーザーのために拘らなければならないところまでそれらしい理由をつけて妥協してしまうという現象が起こってしまいました。

これに気付いたのは、ある程度機能が形になってきた段階で行なった、先輩エンジニアからのレビューの機会です。

迷ったとき・苦しいときには「誰のどんな悩みを解決するための機能か」をチームの目につくところに書いておくなどして、目的やユーザーの顔を忘れないようにしないと「おかしな意思決定」をしてしまうということを学びました。

知らないことは聞けば良いし調べれば良い

エンジニアとして現場に配属されて半年のときに始めたプロジェクトで、まだまだ分からないことだらけで始まったプロジェクトでした。

このプロジェクトが始まるまでは、先輩エンジニアと比べて圧倒的に知識不足であることに焦りを感じていて、ひたすら勉強して知識を詰め込んでキャッチアップしようと必死でした。

しかし、プロジェクトの中で分からないことが出てきたときに、何とか意思決定するために「ひたすら調べる」「自分が知りたいことを知っていそうな人を見つけて聞く」ということを何度も行いました。

その結果、事前に知識を持っていないプロジェクトをしっかり着地させることができ、それが自分の自信に繋がって知らないということが怖くなくなりました

エンジニアとして成長するために常に学び続けることは必要だとはもちろん今でも思いますが、今までの自分は不必要に自分を追い詰めていたなと感じました。

仕様の説明はこれでもかと言うくらい分かりやすく何度も行う

このリリースしてから、同じ事業部の営業チームやカスタマーサクセスチームから仕様に関する質問を多くもらいました。

その際に感じたのは、機能の仕様をしっかり理解するというのはそれなりに慣れというかスキルが必要なので、機能を作成するエンジニアには他チームの人が理解しやすいように分かりやすく説明する必要があるということでした。

他チームから見ると、エンジニアチームは一番何をしているのかよく分からないチームだと思います。

だからこそ、エンジニアチームの方から積極的に何度も分かりやすい言葉で発信していくことで、実際にお客様と接する営業チームやカスタマーサクセスチームが機能の魅力を伝えることができ、結果として良い成果に繋がるのだと学びました。

最後に

あまり詳細には書けないので、少し抽象的でよく分からない記事になってしまったかもしれないですが、誰かのヒントに少しでもなれば幸いです。