タケハタのブログ

プログラマの生き方、働き方、技術について雑多に書いていくブログです。

技術志向、プロダクト志向という考え方がなくなって欲しい

技術志向、プロダクト志向という考え方

エンジニアのタイプとして、よく技術志向、プロダクト志向(あるいはサービス志向、ビジネス志向など)という分類がよくされます。
ざっくりとしたイメージとしては

  • プロダクトを作るというより、プログラムなどの技術に関する興味が強い人が技術志向
  • 技術というより、プロダクトを作ることに興味があって手段として技術を使ってる人がプロダクト志向

といったところでしょうか(他にも要素は色々ありますが)。

片方だけがあっても本来は不十分

ただ、個人的にはこのように技術、プロダクトのどちら寄りかという考え方はレベルが低いかなと思っています。
結局は両方が必要かと。

違和感を感じるのは以下のようなことです。

技術志向の問題: 技術はソリューションや価値を生むためにある

極端な例で言うと、「技術を使って何かを作るのが好きなだけで、作るプロダクトそのものはどうでもいい」という考え方の人です。(実際こういう人もにいます)。
作るものそのものがいいか悪いかは大して考えず、仕様を実現するために作っている。
最近ちょいちょい話題になる「事業が分かるエンジニア」と対極にいるのがこれなのかなと。

ただ、技術は何のために存在するかというと、様々な課題を解決するためのソリューションや、世の中を豊かにするような価値を生むためだと思っています。
例えば

  • 今まで不便だったことを技術の力で便利にする(ソリューション)
  • 技術を使うことで今までになかった新たなエンターテイメントを作る(世の中を豊かにするような価値)

などです。
技術はあくまでもこれらを実現するための手段です。

「技術が好きだから作るだけでプロダクトに興味がない」というのは技術が手段ではなくて目的になってしまっていて、本質からズレているかなと思います。
また、プロダクトとして作ることの重要性や価値などは意識せずにただ技術面だけを見て「これは無理、できない」と言ってしまうこともあります。

もちろんプログラミングをはじめとした技術自体にも学問、ホビーとしての楽しみはあります。
ただそれは趣味としてやる時にはいいですが、プロとして仕事で開発する上での考え方としては違いますね。

プロダクト志向の問題: いいプロダクトを作るためにはしっかりとした技術が必要

逆にプロダクト志向が強すぎる人は、「プロダクトを作るのが好きで、その手段として技術を使っているだけ。技術自体には興味ない」という考え方の人です。
前述の技術志向に寄った人とは逆で、作りの良し悪しは置いておいて、とにかくいいと思うものを作ることにモチベーションがあります。

こういう人は作る時にアイデアを出したり仕様を議論したり、「プロダクトが良くなるなら頑張る、なんとかして作る」とプロダクトのために頑張ってくれます。

この行動はビジネス層や経営層からはいい印象を持たれがちなのですが、技術に興味がなかったり技術スキルが低い場合は危険です。
どんどんモノは作るけど、システムとしては品質の低いものができあがっていってしまうからです。

欲しいと思ったものを作ってくれるし、いっぱいリリースもできて目先の成果としては出たように見えるのですが、品質が悪くてバグが出たり、後々の開発が大変になったりとどんどんプロダクトの首を絞めていきます。
プロダクト志向だけ強くて技術がないと、作っても実はマイナスを生んでいる可能性もあるし、どんどん負の遺産を生み出していく。

なので「プロダクトのことを考えている」というのであれば、プロダクトを良くするために技術を磨くべきです。なぜならそれがエンジニアの仕事だから。
好きなだけでは意味がないし、プロの仕事ではない。

突き抜けた力の人は例外もある

技術かプロダクトかどちらかに寄っていても、必ずしもいい成果を生めないわけではなく例外もあります。
それはレベルがズバ抜けて高くて、突き抜けた、尖った能力を持っている人です。

技術面で人より圧倒的に高いスキルを持っていれば、仮に技術ありきで開発していたとしても、大きな価値を生むことがあります。
普通の人では作れないモノを作ったり、人よりもずっと早いスピードでバグの少ない品質の高いシステムを作れたり。

プロダクト思考に寄っていて尖った能力を持っている人も「普通の人では作れないモノを作れる」という意味では同様ですが、もはやエンジニアではなくてビジネスや企画職などにジョブチェンジした方が良いかもしれないですね・・・

結局は両方必要ということ

スキル面で本当に突き抜けた人というのはほんの一握りです。
ほとんどの人は、大きい成果を上げられるようになるにはプロダクトのことを考えて開発できるようになり、技術スキルも上げていく必要があります。

プロダクトが目的で技術が手段みたいなところはありますが、目的を意識して作ることができるのはもちろん必要だし、目的を達成するための手段を多く持っていることも重要です。
なのでプロダクト思考、技術思考みたいに両極のように語られることがなくなって欲しいなと思っています。