「プロダクトマネージャーにプログラミングスキルは必要?」
「エンジニア経験ないとプロダクトマネージャーにはなれない?」
今回はこんな疑問に答えてみます。
先に結論から言うと、Must(絶対必要)ではないが、知識があった方がパフォーマンスは出しやすいです。
プロダクトマネージャー(PdM)はビジネスとエンジニアリングの橋渡しをしながらプロダクトを形にしていきます。
立場上コミュニケーションすべきステークホルダーが多く、それ故あらゆる知識が求められます。
しかし、それぞれの知識について実務レベルで必要というわけではなく、あくまでプロダクトをマネジメントするために必要最低限なレベルは学んでおいて方がいいということです。
今回は、プロダクトマネージャーが技術を学ぶメリットとどんな技術を学ぶべきかについて解説します。
そして最後に、どうやって技術を学べば良いのかについて、いくつか例を挙げて紹介します。
少しでも参考になったら幸いです。
こんな方におすすめ
どのようにデザイナーに依頼すれば良いか知りたいエンジニア
プロダクトマネージャーを目指していて、デザイナーとの仕事の進め方に不安がある人
デザイナーを含めたチームビルディングに悩んでいるマネージャー
目次
プロダクトマネージャーが技術を理解しておくことのメリット
プロダクトマネージャーのミッションはプロダクトのビジネス価値を最大化することです。
プロダクト全体の方向性をマネジメントしたり、仕様を作成するのが主な仕事になります。なので実際の設計や実装はエンジニアに依頼することになります。
しかし、プロダクトはサーバなどのインフラ、ネットワーク、プログラムといった様々な技術要素で構成されているので、基礎的な仕組みは把握していかないと、手戻り(企画段階でGoが出たが、実装段階でNGになってしまうこと)が発生したり、コミュニケーションコストが高くなってしまうという事態に陥ってしまいます。
逆にプロダクトマネージャーが技術を知っていることで、効率的に仕事が進んだり、コミュニケーションが円滑に進む場合も多いです。
それでは、プロダクトマネージャーが技術を理解しておくことで得られるメリットを4つ挙げます。
- ビジネス要件の段階で判断できる
- 実装コストを正確に見積もれる
- デザイナーに実装視点でフィードバックできる
- 問題が発生した時の切り分けが素早くできる
ビジネス要件の段階で判断できる
プロダクトマネージャーは、事業戦略や顧客、マーケターやセールスなど、ビジネスサイドからプロダクトへの機能要求を受けるケースが多く発生します。
そういった要求を受けた時に、ビジネス的にメリットがあるか、顧客・ユーザのニーズに沿っているか、そして技術的に実現可能か?といった様々な観点で妥当性とコストを検証していきます。
特に技術的な検証は、最終的にはエンジニアによる確認が必要です。しかし、もしプロダクトマネージャー企画の段階で妥当性を確認できたとしたら、余分なコミュニケーションも増えずに、エンジニアの工数も削減できるので、プロジェクト全体の効率は上がるでしょう。
企画などの上流工程で、技術的な妥当性がチェックできるメリットは大きいです。
実装コストを正確に見積もれる
いざ実装するとなった場合、その機能が1週間で実装できるのか、2 ~ 3ヶ月かかるのかといった、実際にかかる工数はなかなかエンジニアでないと判断できません。
現在の仕様やアーキテクチャによって、見た目よりはるかに工数が必要になるということは、現場ではよく発生します。
ビジネスサイドからざっくりとした工数を聞かれることもしばしばあります。そんな時、多少粗めでもクイックに回答できたら、ビジネスチーム内のコミュニケーションがスピーディに進められます。
また、大きな機能を分解して、簡単なものから実装したり、よりコストが小さくてインパクトの大きい機能を代替案として提案したりすることで、ビジネス要件をスピーディかつ経済的に実現していくことも可能です。
作りたいものに対してどれくらい大変なのかを判断できることは、プロダクトマネジメントを効率的に進める上でとても重要なスキルになります。
デザイナーに実装視点でフィードバックできる
これも意外と重要です。
デザイナーは、顧客視点で最適なユーザ体験およびインターフェースを検討することがミッションです。
ただし、表現したい内容によっては、実現不可能だったり、実現できるがコストがかかり過ぎてしまうケースも多々あります。
フロントエンドやクライアントアプリ側に技術的制約がある場合もありますし、場合によってはバックエンドやデータ構造的に実現できないということも起こります。
ユーザ体験を損なわず、技術的限界を見極めた上で落とし所を見つけていくのがプロダクトマネージャーの腕の見せ所です。
また、デザインが完成に近い段階で差し戻しが発生してしまうと、デザイナーにもエンジニアにも無駄な工数が発生してしまいます。初期段階からデザイナーとディスカッションしながら進めていくことをお勧めします。
[デザイナーへの依頼の仕方]
問題が発生した時の切り分け(原因特定)が素早くできる
障害時の切り分け(問題の原因を特定すること)は、チームにプロジェクトマネージャー(PjM)もしくはテックリードがいれば、プロダクトマネージャーが行うことはないかもしれません。
しかし、障害以外でもビジネス的な課題や、顧客からの問い合わせで問題が発生することはよくあります。プロダクトの責任者としてプロダクトマネージャーがあらゆる問題解決にあたることも多いと思います。
そんな時、エンジニアリングを知っているのと知らないのとでは、問題を特定するスピードや、解決策の提示、各所への連携など、あらゆる業務で大きな差が出てくるでしょう。
ある程度経験を積むと、問題発生時にユーザへの影響範囲や、対応にどれくらい時間とリソースが必要になるかなども概算で見積もれるようになります。
そうなることで、次のアクションの計画が立てられ、素早く問題解決を達成することができるようになります。
特に、ビジネスサイドや顧客など、ステークホルダーへの説明はプロダクトマネージャー(PdM)の担当の場合が多く、正しく技術を説明できることは大きなアドバンテージになるでしょう。
エンジニアリングの学び方
ここまでプロダクトマネージャー(PdM)が技術を理解しておくことのメリットを説明しました。
では実際どのようにエンジニアリングを学べば良いのでしょうか。
プロダクトマネージャーはプロダクト全体をマネジメントするため、実務でコーディングを行う機会は少ないです。
技術を学ぶなら実際にエンジニア経験を積むに越したことはないですが、プロダクトマネジメント自体が専門職のため、プログラミングだけを学ぶためにキャリアを選べないことがほとんどでしょう。
そのため、実務以外で学ぶ方法をいくつか紹介します。
- プログラミングスクールに通う
- オンライン教材で学習する
- プログラミングのコーチングを受ける
- 独学で学習する
- No Codeサービスを利用してプロダクト開発を擬似体験する
プログラミングスクールに通う
短期間で集中してプログラミングを習得するなら、スクールに通うのもおすすめです。
基礎的な内容から実践的なコースまで、あらゆるカリキュラムが揃っているため、独学ではなかなか進められないが短期でプログラミングを習得したいという人におすすめです。
オンライン教材で学習する
いきなりスクールに通うのは不安、、という人はまずはオンライン教材から始めてみるのはいかがでしょうか。
無料で開始できるものもあるので、初級者にも安心です。
Udemyは学習コースを単発で購入できるサイトです。テーマもWeb開発からデータサイエンスまで、基礎的な内容から上級編まで幅広く揃っているので、低コストで学習を始めたい人に最適です。
自分が学習したい技術に合ったコースを探してみましょう。
progateは、HTMLやCSSなど、Web開発の基礎から学習するコンテンツが揃っています。
開発環境の構築が不要でWeb上で完結するため、つまずくことなく学習を進めることができます。
アプリも提供されているので、隙間時間でWeb開発の概念をサクッと学びたい方におすすめです。
AIや機械学習について学びたい方は、Aidemyを選択肢の一つとして検討してみてもいいかもしれません。
AIスキルは近年需要が高まり、エンジニアの市場価値も高い領域です。
高度な技術を学習してみたい方におすすめです。
プログラミングのメンターを見つける
プログラミング学習で特に初学者にとって一番大きなハードルは、つまずいた時になかなか自力で解決できないということです。
そんな時は、プログラミングや技術に詳しい人にメンターになってもらうことで解決するかもしれません。
身近に相談できる人がいればラッキーですが、なかなか見つからない場合は、プログラミングのメンターを探せるサイトを利用してみてはいかがでしょう。
プログラミングは座学だけでは習得は難しく、つまずいた時に人に質問できたり、相談できるメリットは大きいです。
独学で学習する
次に独学で学習する場合についてです。
オンライン教材やスクールに通っていたとしても、結局は独学で学習する必要はあります。
書籍などを購入して学習を進める方法もありますが、やはりインターネットで技術系の解説している記事を見つけて、やはり実際に手を動かしてみるのがおすすめです。
海外系だとMedium、国内だとQiita、最近だとZennに有益な記事がたくさん投稿されています。
ただし、体系的にまとめられていない場合も多く、一部バージョンが違ったり古かったりするので、ある程度精査する必要があり、初学者にはハードルが高かったりするかもしれません。
体系的に学びたい場合はUdemyなどの有料コンテンツ、探索的に新しい技術の調査を行なったりする場合は投稿されている記事を参考にするなど、使い分けながら学習を進めることをおすすめします。
No Codeサービスを利用してプロダクト開発を擬似体験する
近年プロダクト開発の敷居が下がり、GUIベースでWebサイトやアプリを開発できるNo Codeと呼ばれるサービスが流行っています。
プログラミングの学習にはなりませんが、No Codeサービスを使ってプロダクトの作り方を学ぶのは有効だと思います。
レイアウトや導線の設計方法、データベースの考え方など、プロダクト作りに関する基本的な概念を学ぶいい練習になりますし、実際にプロダクトをリリースするという経験を低いハードルで体験することができます。
また、海外ではNo Codeで作成されたプロダクトで事業を運営しているスタートアップも多数存在し、実務でも初期のエンジニアコストを下げたいときや、プロトタイピングに活用することもできると思います。
プロダクトマネージャーなら、一度はNo Codeサービスに触れておくことをおすすめします。
Webサイトの構築ならSTUDIO、Webサービスならbubble、アプリならAdaloなどがおすすめです。
まとめ
いかがでしたでしょうか。
今回はプロダクトマネージャーがエンジニアリングを学ぶべき理由と学習方法について紹介しました。
繰り返しになりますが、プロダクトマネージャーに技術力は必須ではありません。
技術力がなくても、サポートしてくれるメンバーがいれば問題ない場合もあります。
プロダクトマネージャーはプロダクトのビジネス価値を高めることがミッションなので、技術に疎くても他のスキルやドメイン(ビジネス領域)知識の方が重要になる場合も多いです。
とはいえ、プロダクトマネージャーが技術を理解しているメリットは大きく、実際プロダクトマネージャー(PdM)をやりながらプロジェクトマネージャー(PjM)を兼務している現場も多いと思います。そういったポジションでは、よりエンジニアスキルが必要になると思います。
プロダクトマネージャーに興味があるなら、ぜひ一度プログラミングにもチャレンジしてみてください。
今回の内容が少しでもお役に立てたら幸いです。