我可以同时担任产品经理和程序员吗?

Anthony Smith
Anthony Smith
Venture capitalist and startup mentor for over a decade.

当然可以,尤其是在创业初期,这几乎是创始人的标配。但这里面有不少“坑”,我给你掰扯掰扯。

想象一下,你脑子里有两个小人儿在打架:

小人A是“程序员”: 他喜欢安静,需要大段不被打扰的时间来“进入状态”,专心致志地把想法变成代码。他思考的是“这个功能怎么实现最高效?”、“这个数据库结构合不合理?”、“这个bug到底藏在哪了?”。他追求的是代码的优雅、稳定和技术的挑战。

小人B是“产品经理(PM)”: 他是个“社交达人”,需要不断地跟用户聊、跟市场聊、跟团队聊。他的时间被各种会议、沟通、突发状况切得稀碎。他思考的是“用户真正的痛点是什么?”、“我们下个版本应该先做哪个功能?”、“这个按钮放在这里用户会不会找不到?”。他追求的是产品的价值、用户的满意度和商业的成功。

现在,你明白问题在哪了吗?

1. 精力分配和“精神分裂”

这是最大的挑战。前一秒你还在跟用户聊需求,构思产品未来三年的宏伟蓝图;后一秒你就要坐下来,沉下心去修复一个隐藏很深的bug。这两种工作模式是完全冲突的。

程序员需要的是“创造者时间”(Maker's Schedule),大块、完整、不被打扰。 产品经理需要的是“管理者时间”(Manager's Schedule),灵活、碎片化、随时响应。

当你试图同时扮演这两个角色时,很容易变成:想写代码的时候,总有会议和用户反馈打扰你;想做产品规划的时候,又惦记着昨天那个代码还没写完。结果可能两边都做不好,每天都觉得筋疲力尽。

2. 视角和偏见

你自己是程序员,所以在做产品决策时,可能会不自觉地“偷懒”。

  • 技术导向: 你可能会倾向于选择那些技术上实现起来更简单、或者能让你尝试某个很酷的新技术的功能,而不是用户最需要的功能。一个产品经理最重要的工作是“做正确的事”,而一个程序员是“把事做正确”。当你身兼二职时,很容易混淆这两者。
  • 低估/高估难度: 对于自己擅长的技术,你可能觉得“这很简单,两天就搞定”,结果忽略了各种细节,导致延期。对于不熟悉的技术,你可能觉得“这个太难了,实现不了”,从而毙掉一个本该很有价值的需求。

什么时候可以,什么时候不行?

  • 可以(甚至是必须):创业最最早期(1-3人) 在这个阶段,公司的目标就是“活下去”,用最快的速度验证一个想法。创始人自己懂技术,能快速把想法变成一个最小可行产品(MVP)给用户试用,这是巨大的优势。这时候,你就是公司的一切,PM、程序员、销售、客服……你没得选。

  • 不行(强烈不建议):当团队开始成长时 一旦你招了第二个、第三个工程师,你就应该果断地把大部分写代码的时间交出去。为什么?因为这时候你作为PM的职责变了,你最重要的工作不再是“自己实现功能”,而是“确保整个团队在高效地实现最有价值的功能”。你需要花大量时间去研究市场、定义需求、和用户沟通、为团队扫清障碍。如果你还花一半时间在写代码,那你几乎肯定是在“产品经理”这个角色上失职了。

给你的建议:

如果你正处在创业初期,大胆地去干!这是你的超能力。但一定要清醒地认识到,这只是一个过渡阶段。

随着项目发展,你必须做出选择。你可以:

  1. 专注于做PM: 把你的技术背景作为核心优势。一个懂技术的PM能和工程师进行更顺畅的沟通,做出更靠谱的规划,这是非常非常值钱的。
  2. 专注于做程序员/CTO: 找一个你信任的合伙人来负责产品,你来掌管技术方向和团队。

总而言之,同时当PM和程序员,就像是让你左右手互搏。短期内,为了生存,你可以练就这项“绝技”。但长期来看,为了把公司做大、把产品做好,你最终还是要决定,到底是用左手画画,还是用右手写字。