エンジニアが成長していく過程ですごく大事なのは、プロダクトの意思決定に自らが関わっていくこと、という話を聞いた。なるほどーと思ったので、自分なりに考えたことをゆるく書いてみる。
普段関わってるプロダクトでどれぐらい意思決定に関われているか?プロダクトの意思決定に関わるとなぜ成長するのか?みたいなことを考えた。
プロダクトの意思決定とは
そもそもプロダクトの意思決定ってなんだろうなーと思ったので、いくつかあげてみる。
- どういう機能を持ったプロダクトを作るのか?
- どんな技術選定をするのか?
- どんなデザインやインターフェースにするのか?
- どんな優先度でロードマップをひき開発を進めるのか?
- リソース配分をどうするのか?
- 作ったプロダクトをどうやって広めるのか?
プロダクト作りには多様なステークホルダーがいる。それぞれのレイヤーで意思決定があり、いい感じに連携しあって一つのプロダクトが作られる。僕は技術よりの意思決定には関われてると思うけど、担当領域をはみ出す範囲での意思決定には関われてないかもしれなーと思った。
プロダクトの意思決定に関わるとなぜ成長するのか
まず、プロダクトに関わらず意思決定の経験は人を成長させる。よく聞くような話だけど、成長には、自分で考えて、試してみて、フィードバックを得て、また試してみるサイクルが必要だ。意思決定なしでは、自分で考えたフェーズがないので、成長のサイクルを回しにくいんだろうなーと思う。
その上で、プロダクトの意思決定とエンジニアの成長について考えてみる。技術の外の意思決定にどれだけ関われるかが特に大事な気がする。
ソフトフェアエンジニアは、ソフトウェアを作って現実世界の課題をどうにか解決する人だ。なので、現実世界の課題をできるだけ正確に把握したほうが良いものが作れるはず(だと思ってる)
プロダクトの意思決定に関わることは、現実世界の課題を深く理解することに繋がるので、結果として良いソフトウェアを作ることに繋がるのではないか。そうして、良いソフトウェアを作ることができるようになると、エンジニアとして成長したと言えるんじゃなかなーと思った。
graph TD エンジニアはソフトウェアを作って現実世界の課題を解決する人 --> 良いソフトウェアを作るには現実世界の課題の深い理解が必要 --> プロダクトの意思決定に関わることは課題の深い理解に役立つ --> 課題の深い理解から良いソフトウェアを作れるようになる --> エンジニアの成長