在程序开发中,通常包含两个过程:建模过程和实现过程。建模过程也被称为问题空间,它涉及需求挖掘和思维建模,即从现实世界或经验中提取需求,并将其抽象为思维模型。实现过程则被称为解决方案空间,它涉及代码实现,即从思维模型出发,通过编写代码将其具体化成应用程序。
从现实到抽象的工作主要由业务专家和产品经理来完成。他们观察现实世界,提取关键信息并进行抽象,以建立对应的思维模型。
从抽象到现实的工作则由开发者担当。他们基于思维模型编写代码,并将其转化为可执行的应用程序。
根据简单的分类,我们可以将全世界的职业分为四类:文、工、理、艺。文指的是观察世界并抽象的工作,如文职人员;工指的是将抽象变为现实的工作,如工程师;理指的是从顶层抽象延展出更多抽象概念,并验证其与现实的匹配度,例如科学家;艺指的是从任何层次抽象出发,探索更多概念或实现可能的工作,例如艺术家。
产品经理的工作需要具备极强的观察力和对现实情况的深入了解,还需要丰富的经验。因此,从职能上来说,程序员通常不会成为产品经理。这是因为两者的思维方式存在巨大差异。作为一个长时间坐在电脑前的人,程序员很难对市场和用户需求有深刻的理解和挖掘。类似地,没有亲自体验过货仓工作的人,很难对上下架、进出库、安全库存以及货品盘点等方面有实际经验和体会。
试图将程序员的思维方式直接应用于产品经理的工作必然会导致严重的问题。因此,程序员和产品经理在工作方式和思维方式上存在显著差异。
从职能角度来看,程序员和产品经理的职责确实有所不同。然而,现实情况往往与我们最初的想象有所不同。
实际情况中,确实存在一些产品经理的能力较差的情况。其中大多数产品经理缺乏基本的经济学、数学、理性思维和逻辑学能力。这一现象可能与某些国家的文科教育过于注重表面和皮毛有关(那些不学习数学的文科学科可谓无用之物)。因此,程序员在许多情况下需要自己进行建模的工作(程序员朋友们,你们是否有这种体验?)。通过积累经验,他们也能逐渐提升自己的能力。这就导致了一个现象:具备建模能力的程序员,比产品经理要多得多。
另一方面,目前的文科教育状况值得我们关注。人们更愿意死记硬背英语单词,甚至去研究各种记忆法和规律,却不愿意了解词源的真正意义,也不愿意去了解古代人类的生活环境。人们学习古文,只是为了抒发情感,而不愿意了解人类工程史和科学史,去模拟古人的生活环境。人们学习经济学时,更倾向于回避数学,就像躲避瘟神一样。
现实中的产品开发面临着试错成本的问题,即受到需求约束,同时也受到实现成本的限制。如果我现在提出核聚变的需求,程序员去实现时肯定会指责我不切实际。而程序员由于拥有实践经验,更能够衡量成本和收益。他们能够意识到某个需求的后果,并不会轻易草率地决定。当然,对成本和收益的权衡属于经济学的范畴,实质上也反映了产品经理缺乏经验和经济学成绩不佳的问题。
很多程序员在产品经理这一职能上具有较强的能力,这一现象值得研究。可能的原因包括学历歧视、商业环境等。然而,从常规角度来看,程序员并不适合担任产品经理的角色。将产品经理职位交给程序员,更像是一种情绪发泄行为,即使是出于某种目的。更好的做法是由真正有产品经理能力的人,可能是文科专业的大牛来担任这一重要职位。
需要推荐靠谱PMP/软考/NPDP/CSPM机构的同学可以关注我后台回复【推荐机构】
备考资料分享如下:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 203304862@qq.com
本文链接:https://jinnalai.com/n/564116.html