algonote

There's More Than One Way To Do It

PMに技術力は必要かの論点

たびたび話題になるのでまとめてみる

PMに技術力は必要かのトレンド

以前エンジニアリングマネージャー/テックリード、テックリード/リードエンジニア、バックエンド/フロントエンジニアの区分けについては論じました。

ja.algonote.com

ja.algonote.com

ja.algonote.com

同様にPMに技術力は必要か、エンジニア経験は必要かも度々議論になるポイントです。必要となった際にRailsからはじめるといいのではが自分の主張ですが、前提のどういった際にPMにエンジニア力が必要かについて論じてみたいと思います。

ja.algonote.com

PMが表すものが多様問題

PMが指すものは多様ですが、分解するとこんな感じになると思います。

  • Product Owner
  • Product Manager
  • Product Marketing Manager
  • Project Manager
  • (Development) Manager
  • Project Management Office
  • Technical Program Manager

一番求人数が多いのはProduct Manager、ついでProject Managerでしょうか。

  • Product Owner

Product Ownerは事業責任者です。Product Managerと一緒のパターンもあるのですが、分離されているパターンも見ます。

CTO出身の方がCEOをやる合理性の一つに社員の構成比率でエンジニアが50%を超えているかが一つの判断軸ですが、Product Managerも開発よりなので営業出身か、開発出身かでいうと営業が多い会社だと分離パターンの方が多いかもしれません。

  • Product Manager

一番求人数の多いロール。プロダクトの仕様を決めます。Product Marketing Managerと分離していないProduct Managerだとユーザーヒアリングもします。

Product Ownerが別にいる会社だと大枠のプロダクトの方向性は決まっているので、細かい部分の仕様を決めるのが主担当。

デザイナー比率が低い会社かも一つのポイントですが、ざっくりしたワイヤーフレームを作るのもProduct Managerがやり、細かく詳細を作るのはデザイナーというパターンもあります。

  • Product Marketing Manager

SaaSの会社ではユーザーヒアリングなど営業かカスタマーサポートよりの顧客意見をまとめる部分をProduct Marketing Managerがやり、開発側をProduct Managerがやるという分業パターンはよく見られます。

営業は出社でエンジニア/デザイナーはリモートOKという会社もありますが、Product Manager, Engineering Managerは調整ごとがあるので微妙なラインで出社が必要側になることもあります。

Product Marketing ManagerはPMの分類の中では営業よりで比較的出社要求が高い業態だと思います。

  • Project Manager

日程管理部分を担当するのがProject Managerです。

SIer系の求人だとProject Managerはエンジニア出身で基本的に実装レベルでのシステム開発の知識がある程度あることを期待していることが多いです。

Web開発でProduct Manager、エンジニアしかいない企業だとどちらがやるかが揉めやすい部分です。

ゲーム開発だと調整ごと担当はディレクターという名で呼ばれることもあります。

  • (Development) Manager

開発のマネージャーです。

Web開発だとチームのエンジニア比率が50%を超えているのでエンジニア出身のマネージャーが担当する方が合理性があるように思います。

一方で技術力もマネジメントもできる人が欲しいパターンだと結局採用できておらずPMがマネージャーを兼務しているパターンも見ます。

  • Project Management Office

SIerやコンサルの会社だとSaaSに見られるProduct Manager/Product Marketing Managerという職種範囲の分割でなく、PMは合体したまま担当範囲を分割するようなPM組織の形態があります。

Owner PMの配下のPMがProject Management Officeと呼ばれます。

  • Technical Program Manager

Amazonなど外資系であるパターン。これは明確にエンジニア出身であることがジョブディスクリプションで書かれているPM。

外資系でよくあるソリューションアーキテクトは比較的エンジニア+営業というか顧客折衝のできるエンジニアといった感じですが、Technical Program Managerは技術力のあるProject Managerやアーキテクトに近いロールです。

前置き長くなったのでどういう時にPMに技術力がいるのか論じてみます。

産業が成熟してくると職種間のラップ範囲が増えるのでPMは技術力が必要

日本全体で見ると一担当からマネージャーになる年齢は平均して40歳だそうです。IT系の企業、とりわけ新興企業だと平均年齢も下がりマネージャーに上がる年齢も下がります。

一般論として業界が成熟してくると担当とマネージャーのラップ範囲が増え、どちらの職種でもできるカバー範囲が増えてきます。PMも例外ではありません。

実際電機、機械系のメーカーだと初期はまず技術者をやってからPMになることが多いですし、ソフトウェア産業が成熟してくると全ての職種が少しずつ総合職化する、市場平均のPMのできることが増えるのでエンジニア経験があるPMの割合が増えていきます。

AIはフルスタック化を加速させるのでPMに技術力が必要

AIが何でも答えてくれるようになり、エンジニアでもフロントエンド/バックエンド片方しかやっていなかった人でも両方やる、モバイルや機械学習の領域に踏み込みやすくなります。デザイナーがReactを覚えデザインエンジニアにジョブチェンジした事例もありますね。

AIによって学習の高速道路が整備され、エンジニア視点でいうとPMの粒度が違うというか、iOS開発を覚える、Laravelを覚えるといった同軸でPMスキルをつけるが語られることもあります。PMは技術の中の一つと同等の学習難易度と考える人もいます。

新卒のキャリアパスと整合性をとるためにPMに技術力が必要

PMだけではないですが、ベンチャーだと初期は中途しか採用しないというパターンは珍しくありません。

とあるタイミングで新卒で採用しようとなった際にまずはエンジニア、デザイナーからというパターンもあります。そういった際に新卒のキャリアパスとしてエンジニア/デザイナー経験を積んでからしかPMになれない会社において中途の要件もそうしないと新卒とずれてしまい一貫した評価制度の運用が難しくなります。

実際統計上エンジニアの10人に1人は将来のキャリアパスとしてPMを希望しています。

エンタープライズ開発しか果実しか残っていないのでPMに技術力が必要

以前にも書きましたがソフトウェア開発の作るプロダクトにはトレンドがあります。ざっくり言うとtoCゲーム=> toC Webサービス => 中小企業向け toB Webサービス => 大企業向け toB Webサービスという流れがあります。

ja.algonote.com

最近のSIerはJavaではなくRailsの開発もするという話がありますが、Web系/SIerという分類をしたときにWeb系の企業の方がtoCのゲームより生業にしていて、SIerの方がtoBの大企業向け(エンタープライズ)を生業にしています。

古典的に言えばWeb系の方がPMにエンジニア経験要求は少なめ、SIerの方がまずエンジニアを経験してからという企業が多いです。エンタープライズの方が機能数 x 機能の深さで言うと機能の深さ方向がプロダクトの強みであり、純然たるシステム開発になるからだと思います。

toCや中小企業toBでの起業されていない領域が減っている傾向はあり、スタートアップでもエンタープライズ開発をやる企業が増えています。従来SIerがやっていた領域にスタートアップが踏み込むとコンペによる競争上、PMがエンジニア経験がないと負けやすい可能性はあります

営業のできないBizDevはBizDevとして弱いのでPMに技術力が必要

BizDevにおいて何が重要かというと司令塔のようなものはあまり求めれていなくて営業が一番大事と主張されるBizDevの方はいます。

職種をざっくり営業か開発かに分けた際に、実装のできないPMはBizDevとも捉えられて仮にPMが営業できないならBizDevとしては弱いという見方もできるわけです。

日本は事業会社にIT部門がないのでPMは技術力がなくても食っていける

AIによって需給が今後悪化する可能性はありますが、ソフトウェアエンジニアは他職種よりx1.1くらいの給与テーブルの会社が多いです。需要と供給上そうしないと採用できないからですね。

国際比較してみるとこういった職種間ギャップは結構国差が現れる部分で例えばGoogleだとPMはエンジニアより給与が低い職種です。

日本のフリーランスの職種別待遇をみるとPM=Webディレクターとして捉えるとエンジニアより給与は低いです。プロジェクトマネージャーだとエンジニア経験を求められる場合も多いですが、単なるエンジニアよりは待遇がいいですね。

インフラエンジニアでもコアな領域なので外注しないという会社もあり、PMも比較的外注しない職種ではあり難しいところなのですが、仮にPMのスキル要件がWebディレクターとプロジェクトマネージャーの間とするとエンジニアととんとんくらいですかね。

日本は比較的IT部門が事業会社になく開発会社として独立しています。何次受けの開発というのもよく聞く話ですね。

逆にいうと本来一つの会社で全て作っていればそこまで調整役が不要だったものが、開発会社が複数にまたがりそれぞれの会社にPMがいるせいで無駄にPMの需要が上がっている可能性はあります。多重下請け構造が続くならPMは技術力がなくても需要がある説。

コンサルを名乗ると単価が上がるのでPMは技術力がなくても食っていける

IT限らずどの業界でもそうなのですが、同じようなことをしていてもコンサルを名乗ると急に単価が上がるケースはあります。

ChatGPTなどのAIの普及によるコンサル需要の低下からか、フル出社要求の会社も増えリストラの事例もあるのでそこまで安泰かというと将来不安な要素はあります。

それでもPMの一部はProduct Owner的というかコンサルになる人もおり、仕事内容がコンサルに近いならPMは技術力がなくてもエンジニアと同等かそれ以上に食っていける職になりえます。

PMに技術力が必要になってくるならこの先どう生き残るか

仮にPMに技術力が必要になってくるならこの先どうやって生き残るといいでしょうか?

一つの作戦はtoC企業に転職することですね。toB事業、とりわけエンタープライズ開発だとエンジニア経験が求められがちなので求められない領域で戦う。実際エンタープライズ企業だというとForward Deployed Engineerという客先常駐に近い、エンジニア兼営業兼PMが全部やればいいに近い職種が求められるケースもあります。

技術力をつけてしまうのも一つのやり方ですね。RailsガイドをやるでもよしUdemyをやるでもよし、エンジニアでもフルスタック傾向はあるのでChatGPTなどのAIを使い、いずれPMとエンジニア、デザイナーのラップ範囲は増えていくので学んでしまうのも一つの作戦。

営業経験も積むのも作戦ですね。PMMなどより顧客よりのジョブにシフトしていき営業に同行しながら徐々に営業スキルを盗んでいきProduct Owner, 事業責任者を目指すのも一つの作戦だと思います。

PMに技術力が必要な市場環境になったら経営者はどうすべきか

仮にあなたが経営している企業が今後の方向性を考えたときに、例えばエンタープライズ領域などエンジニア経験のあるPMがよりいきやすいエリアにしか活路が残っていなかったとします。どうするといいでしょうか?

本当に必要なら従来PMとは別にTechnical PMをおいてしまうのも一つの作戦です。仮に今の給与テーブルがPM x 1.1 = エンジニアになっているとしてエンジニア経験が5~10年以上のPMならTechnical PMとしてエンジニアと同じ給与テーブルにのせてしまうもの一つのやり方です。

まとめ

まとめです。

  • PMが表すものは多様
  • 産業が成熟してくると職種間のラップ範囲が増える
  • AIはフルスタック化を加速させる
  • 新卒のキャリアパスと整合性をとるとPMにエンジニア経験が必要となるケースもある
  • エンタープライズ開発だとPMにより技術力が求められる
  • 営業のできないBizDevはBizDevとして弱い
  • 日本は事業会社にIT部門がないのでPM需要はそんなに悪くない
  • コンサルの単価はエンジニアより高い
  • PM生存戦略はtoC企業に転職、技術力をつける、営業力をつける
  • 経営者は必要なら賃金テーブルの違うTechnical PMを置くのもあり