もちろん可能です。特に創業初期においては、これは創業者の標準装備と言っても過言ではありません。しかし、そこには多くの「落とし穴」があり、それについて詳しく説明しましょう。
想像してみてください、あなたの頭の中には二人の小人が喧嘩している状態です:
小人Aは「プログラマー」: 彼は静かな環境を好み、邪魔されずに「ゾーンに入る」ためのまとまった時間を必要とし、アイデアをコードに変えることに専念します。彼が考えるのは「この機能をどうすれば最も効率的に実装できるか?」「このデータベース構造は適切か?」「このバグは一体どこに隠れているのか?」といったことです。彼が追求するのは、コードの優雅さ、安定性、そして技術的な挑戦です。
小人Bは「プロダクトマネージャー(PM)」: 彼は「社交の達人」であり、ユーザー、市場、チームと絶えず話し合う必要があります。彼の時間は、様々な会議、コミュニケーション、突発的な状況によって細切れにされます。彼が考えるのは「ユーザーの本当の課題は何だろう?」「次のバージョンではどの機能を優先すべきか?」「このボタンはここに置いたらユーザーは見つけられるだろうか?」といったことです。彼が追求するのは、製品の価値、ユーザーの満足度、そしてビジネスの成功です。
さて、問題点がどこにあるかお分かりでしょうか?
1. エネルギー配分と「精神分裂」
これが最大の課題です。一瞬前までユーザーと要件について話し、製品の3年後の壮大なビジョンを構想していたかと思えば、次の瞬間には座って、深く隠れたバグを修正するために集中しなければなりません。これら二つの作業モードは完全に衝突します。
プログラマーが必要とするのは「クリエイターの時間」(Maker's Schedule)であり、まとまった、完全で、邪魔されない時間です。 プロダクトマネージャーが必要とするのは「マネージャーの時間」(Manager's Schedule)であり、柔軟で、断片的で、いつでも対応できる時間です。
この二つの役割を同時に果たそうとすると、コードを書きたい時に会議やユーザーからのフィードバックに邪魔され、製品計画を立てたい時に昨日のコードがまだ終わっていないことを気にする、という状況に陥りやすくなります。結果として、どちらの役割も中途半端になり、毎日疲れ果ててしまうかもしれません。
2. 視点と偏見
あなた自身がプログラマーであるため、製品の意思決定をする際に、無意識のうちに「手抜き」をしてしまう可能性があります。
- 技術志向: ユーザーが最も必要としている機能ではなく、技術的に実装がより簡単であるか、あるいはクールな新技術を試せるような機能を選びがちになるかもしれません。プロダクトマネージャーの最も重要な仕事は「正しいことをする」ことであり、プログラマーは「物事を正しく行う」ことです。この二つの役割を兼任すると、これらを混同しやすくなります。
- 難易度の過小評価/過大評価: 自分が得意な技術については、「これは簡単だ、2日で終わる」と感じてしまい、結果的に細部を見落とし、遅延を招くことがあります。逆に、不慣れな技術については、「これは難しすぎる、実装できない」と感じてしまい、本来非常に価値のあるはずの要件を却下してしまうこともあります。
いつなら可能で、いつなら不可能か?
-
可能(そして必須):創業の最も初期段階(1~3人) この段階では、会社の目標は「生き残る」ことであり、最速でアイデアを検証することです。創業者が技術を理解していれば、アイデアを最小限の実行可能な製品(MVP)に素早く変えてユーザーに試してもらうことができ、これは大きな強みとなります。この時、あなたは会社の全てであり、PM、プログラマー、営業、カスタマーサービス…選択の余地はありません。
-
不可能(強く非推奨):チームが成長し始めた時 二人目、三人目のエンジニアを雇ったら、コードを書く時間の大部分をきっぱりと手放すべきです。なぜなら、この時、PMとしてのあなたの役割は変わるからです。あなたの最も重要な仕事は「自分で機能を実装する」ことではなく、「チーム全体が最も価値のある機能を効率的に実装していることを確実にする」ことになります。市場調査、要件定義、ユーザーとのコミュニケーション、チームの障害を取り除くために多くの時間を費やす必要があります。もしあなたがまだ時間の半分をコードを書くことに費やしているなら、プロダクトマネージャーとしての役割をほとんど確実に怠っていることになります。
あなたへのアドバイス:
もしあなたが創業初期にいるなら、大胆に実行してください!それはあなたのスーパーパワーです。しかし、これが単なる過渡期であることを明確に認識しておく必要があります。
プロジェクトの進展に伴い、あなたは選択を迫られます。以下のいずれかを選ぶことができます:
- PMに専念する: あなたの技術的背景を核となる強みとして活用します。技術を理解しているPMは、エンジニアとよりスムーズにコミュニケーションを取り、より信頼性の高い計画を立てることができ、これは非常に価値のあることです。
- プログラマー/CTOに専念する: 信頼できるパートナーを見つけて製品を担当してもらい、あなたは技術の方向性とチームを統括します。
要するに、PMとプログラマーを同時に務めることは、まるで両手で戦うようなものです。短期的には、生き残るためにこの「秘技」を習得することはできます。しかし、長期的には、会社を大きくし、より良い製品を作るためには、最終的に左手で絵を描くのか、それとも右手で文字を書くのかを決める必要があります。