アプリケーション全体の設計に関われるようなフルスタックエンジニアになりたい
あるユーザーストーリーを実現するためにどのようなアプローチを取るかといった議論をする際、私は既存のコードベースに対してどのような実装を追加すれば良いかということを考え、そのための細かい手段を考慮して提案します。
しかし、WEBアプリケーションに対する深い知見を持ったエンジニアは、既存のデータ構造やアーキテクチャにその機能が加わることで将来的にメンテナンス性や拡張性を損なう要因にならないかといった中長期的な目線で考え、機能追加の前に必要なリファクタリングが何かといったレベルでの提案をすることができます。
ビジネス上の要求から、結果的にリファクタリングを行わずにスピード重視で実装が行われることは多々ありますが、懸念点を分かった上でその選択をするか、分からずにするかでは大きな違いがあるでしょう。
私はそうした多角的な視点で開発を推進できるエンジニアになるため、最新の技術にキャッチアップしつつもコアな技術への知見も深めていき、設計レベルから開発に携われるようなエンジニアに成長していきたいです。
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
プロジェクトのリーダーとしてチケットのアサインや進捗管理を行いました。
クォーターごとに設定されるリリース目標に対し、私が所属するチームが担うべきプロジェクトの期日内でのリリースに責任を負いました。
工数の大きな機能をクォーター内でリリースしなければならない場合、3ヶ月後の到達目標に対していてイテレーションごとにやるべきタスクの解像度を上げるのは困難です。
私はまずその大きな機能のまとまりをユーザーストーリー単位で細かく分割し、複数のリリースポイントを設けることで短期的な達成目標にメンバーが注力できる環境を作りました。
具体的には個々のリリースポイントに対して、フロントエンドの実装期間、バックエンドの実装期間、QAチェックおよびPdMチェックの期間、リリース日について細かくスケジュールを設定し、NotionのTimeline Viewで誰でも一目でスケジュールと現在の地点が確認できるようにしました。
メンバーの体調不良や差し込みタスクによって個々のリリースポイントについては後ろ倒しにする必要が生じることもありましたが、リリースポイントを細かく設定したことで後続のリリースポイントで遅れた分を調整することができ、最終的な達成目標としての機能リリースは1週間前倒して実現することができました。
短期的な目標を複数設定したことで、メンバーのコミットメントも最後まで高い状態を維持できたように思います。