ユーザーにとってなくてはならないサービスを作る
直近
ユーザの業務を頭でイメージしながら開発できるようになりたい
その為に業界、業務理解に努める
・周りの方に質問を積極的にし、顧客の業界理解をしたい
・実際使用されている現場まで行ってユーザの生の声を聞きに行く、業務風景を動画に撮る
・社内で蓄積された情報から一次情報を集め、ユーザの業務風景をイメージできるようになる
1年後
ユーザにとって価値のあるものを作る為に、担当機能でフロントエンド、バックエンド、領域問わず最後までやり抜けるようになりたい
3年後
ユーザの声をより反映させる為に企画段階、アイデア出しから携わり、ユーザにとってなくてはならないサービスを作りたい
・求職者が求人に応募することを促進する機能の追加、デザインのリニューアル
・社内システムの改善により社内のキャリアアドバイザーが求職者に適切な求人を紹介できるようにする
・PM 1名
・エンジニア 実装者1名
・エンジニア レビュアー1名
・PMが作成した要件で改善点があれば提案し議論
・工数見積、実装、テスト
・社内システムの改善タスクの要件定義でユーザにより使いやすい機能の提案をし実装可能か調査した
・求職者が求人応募する際のフォームのリニューアルの対応により、求人の応募フォームから応募完了へ転換する割合を改善させた
・初期の要件定義段階ではPMが把握していなかったデグレの影響を調査し、共有し工数を見積し直したり、リリース時にはデグレリスクを考慮した
以下のプロダクトを新規で開発した
物件の金額変更を自動で判別し、物件の最新情報を確認する
また、登録物件の金額に誤りがあれば訂正する為の補助になる情報を表示する
製品のリンク
https://iimon.co.jp/buy-conffirm
・PdM 1名
・エンジニア(実装者)1名
・エンジニア(レビュアー)1名
CSS, HTML, TypeScript, Django
・PMが作成した要件で改善点があれば提案し議論
・工数見積、実装、テスト
・物件が募集中であるか、また検索した結果の一覧を表示する為のベース部分を開発した
・後任のエンジニアが円滑に実装を進められるよう設計を工夫した
・ユーザーの業務をイメージしながら細かい仕様についてPdMと確認しながら実装した
・実装のレビューをしてもらう際にレビューをしやすいように分割して依頼を出したり、補足説明を加えた
・プロダクトに関連するクラス図を作成し、サービスのイメージが掴めるようにした
・ビジネスサイドで作成されたプロダクト仕様書を、後任のエンジニアが理解できるよう補足説明を加えた資料を作成した
以下のプロダクトを新規で開発した
自社の物件情報と、公開されている他社の物件情報を照合させ、リアルタイムで「募集状況」「条件変更」「間違い」を判定する
プロダクトのリンクは以下
https://iimon.co.jp/decision
・PdM 1名
・エンジニア(実装者)1名
・エンジニア(レビュアー)1名
・PMが作成した要件で改善点があれば提案し議論
・工数見積、実装、テスト
・プロダクトの仕様の整理
・後任のエンジニアが円滑に実装を進められるよう設計を工夫した
・ユーザーの業務をイメージし、より良い機能の提案をした所仕様が変更された
・実装のレビューをしてもらう際にレビューをしやすいように分割して依頼を出したり、補足説明を加えた
・プロダクトに関連するクラス図を作成し、サービスのイメージが掴めるようにした
・ビジネスサイドで作成されたプロダクト仕様書を、後任のエンジニアが理解できるよう補足説明を加えた資料を作成した
・後任のエンジニアが実装時にデグレを起こさないようテストコードを実装し、カバレッジも高い割合にした
・新しく使用可能になったAPIを使用し、ユーザーの使いやすさを意識した実装をした
物件の募集状況を確認できるサイトとそのユーザーを管理する管理サイトの二つで使用されているライブラリのリプレイスを対応した
・CTO(技術調査の結果についてフィードバック)
・フロントエンドエンジニア(実装者)1名
・エンジニア(レビュアー)1名
・Nuxt2からNuxt3に上げるかReact,Nextにリプレイスするか調査
・工数見積、実装、テスト
・運用チームと連携
・運用担当のエンジニアが円滑に開発を進められるよう設計を工夫した
・実装のレビューをしてもらう際にレビューをしやすいように分割して依頼を出したり、補足説明を加えた
・後任のエンジニアが実装時にデグレを起こさないようESLintを使用し静的解析を導入、型チェック、コーディング規約を厳格化した
・最初にNuxt3とReactの選定を検討
・Nuxt3への移行が難しく、数年後も使い続けられるかを考慮
・社内でReactを使用しているプロジェクトがあり、学習コスト削減のためReactを選定
・管理画面は一気にリプレイスした
ユーザー画面はリバースプロキシを使い、パス単位でリプレイスした
理由:
既存サイトの修正と並行して作業するため。
単体テストやE2Eテストが未導入で、全ページ一気にリプレイスするとバグのリスクが高いため。
アウトプットした記事は以下
https://tech.iimon.co.jp/entry/2024/02/13/165759
https://qiita.com/yamatai12/items/0730f60859ef792f1537
プロジェクト概要
以下のプロダクトを新規で開発した
ユーザーから問い合わせのあったエンドサイトの物件の詳細ページから初期費用の見積書を自動で作成できる
プロダクトのリンク
https://iimon.co.jp/estimate
フロントエンドエンジニアを担当した
チーム開発
・PdM 1名
・フロントエンドエンジニア(実装者)1名
・バックエンドエンジニア(実装者)1名
・エンジニア(レビュアー)1名
自身の担当業務
・PMが作成した要件で改善点があれば提案し議論
・工数見積、実装、テスト
・プロダクトの仕様の整理
課題/工夫した取り組み・自身が意思決定したこと/成果
・後任のエンジニアが円滑に実装を進められるよう設計を工夫した
・ユーザーの業務をイメージし、より良い機能の提案をした所仕様が変更された
・実装のレビューをしてもらう際にレビューをしやすいように分割して依頼を出したり、補足説明を加えた
・プロダクトに関連するクラス図を作成し、サービスのイメージが掴めるようにした
・ビジネスサイドで作成されたプロダクト仕様書を、後任のエンジニアが理解できるよう補足説明を加えた資料を作成した
・後任のエンジニアが実装時にデグレを起こさないようテストコードを実装し、カバレッジも高い割合にした
・新しく使用可能になったAPIを使用し、ユーザーの使いやすさを意識した実装をした
・テストコードではUIの表示確認や、クリック操作後の見積の金額計算のテストまで実装した
・在籍中は本プロダクトのユーザーが一定数いたが担当したUIにおけるバグ報告がなかった
既存プロダクトの機能拡張、修正をした
・PdM 1名
・フロントエンドエンジニア(実装者)1名
・エンジニア(レビュアー)1名
・PMが作成した要件で改善点があれば提案し議論
・工数見積、実装、テスト
・運用チームと連携
・他のエンジニアが円滑に開発を進められるよう設計を工夫した
・実装のレビューをしてもらう際にレビューをしやすいように分割して依頼を出したり、補足説 明を加えた
・実績を積んだ結果、緊急対応の担当を任せてもらったり、機能追加の中でも数ヶ月規模の工数 がかかるプロジェクトを任せてもらうことが多かった
・テストコードのカバレッジを改善する為に現場のカバレッジの可視化、優先度付けをし、ビジ ネスサイドにテストコードの工数を開発と並行して進められるよう提案し実現した
・既存の実装を流用するのではなくより良いUXを実現する為に日々より良い実装ができるよう工 夫した
・チーム内で勉強会を開催し、業務に活かせる仕組みを作った
直近はフロントエンドを強めて、バックエンドもできるようになりたい
領域問わず挑戦したい
まずはやってみる、手を挙げられる環境、心理的安全性が高い