为什么程序员值得花时间培养自己的商业思维?
周一(5/26)应 Bob 的邀请,在 Zoom 上进行了一次简短的关于程序员商业思维的分享。虽然已经事先准备好了分享思维导图,但我仍然因为经验不足而高估了自己的语言能力。导致在短短的40分钟之内既没有把我想要说的说完,也没有把已经说的说清楚。加之线上分享跟线下分享的体验完全是两码事,自己也觉得没有发挥出线下吹水的正常水平,甚是懊恼。
痛定思痛,跟 Bob 商量后,决定将原本打算只是简单作为线上分享文字版发出的帖子扩展成一个“程序员商业思维”系列,每一篇花大约1500字左右的篇幅重新组织,将想表达的表达清楚,以作为对这次不算成功的线上分享的一次亡羊补牢。
同时,也要感谢那天参加分享的朋友,忍受了我拙劣的“线上独白”。
好了,闲话说完,咱们书归正传。
之所以想起要分享一下关于“程序员商业思维”的话题,并不是因为我已经是这方面的大师或成功人士,在功成名就之后著书立传。恰恰相反,我只是想利用这个机会来对目前创业过程中这方面的思考进行一次总结。通过这次分享,建立与其他同行交流的窗口和机会。这里记录的内容不一定全对,但绝对原创,真情实感。
或许有人会说,只要我不去创业,这些内容就不用去关心。只要老子武功天下第一,自然能走上人生巅峰。这恰恰引出了本文标题所指的第一个原因:换个角度看问题。
“技术思维”是程序员的优势,但只执着于此,则过犹不及。如同天龙八部中的“知见障”,固有的思维定势反而让一帮围棋高手无法破解“珍珑棋局”。并且,现实世界不是一个理想的世界,很多做法和方案其实是各方面权衡妥协的结果。掌握商业思维之后,无疑于让我们的工具箱里多了一样思维武器,可以帮助我们更好地综合各方面因素做出决策,从而取得较好的结果。若只执着于技术,难免会钻牛角尖,花大力气办小事。
为什么这个话题会专门强调“程序员”?除了前面提到的思维定势,另一个原因就是大多数程序员往往沟通能力不强。虽然他们擅长于跟机器打交道,但跟人打交道方面却乏善可陈。这也就引出了我想说的第二个原因:通过培养商业思维,提高自身的沟通能力。无独有偶,这篇文章的观点与我不谋而合。
高效地沟通往往会带来高效地执行。面对产品经理提出的需求,具备商业思维的程序员更有能力理解产品经理的初衷和商业目的,预见到可能的业务问题和潜在的技术风险,从而以此为基础建立公平有效地双向交流,进而一起探讨出让双方都满意的实现方案。而缺乏商业思维的程序员往往一边倒地被产品经理“压榨”,完全没有能力与产品经理建立起对等的沟通和交流,甚至有时无法领会需求的“话外之音”,只能有一做一,最终效果可能与实际要求相差甚远。这种情况下,只有一个结果,就是双输,都认为是对方的问题。
很自然地,由上面可以引申出商业思维值得培养的第三个原因:更高效地协作。诚然,上面的例子既适合用来说明商业思维对于沟通的影响,也能用来反映商业思维对于协作的作用。但除了在不同背景的人员之间协作发挥作用,商业思维在具备相同技术思维的程序员之间配合同样有促进。典型如技术领导如何确定下属的方案能兼顾代码质量和项目进度的要求、如何选定技术栈以期获得人员成本和产出的最优化,甚至包括开发任务的优先级的标准(商业价值优先?技术前瞻性优先?)等等。诸如此类的问题都离不开商业思维的指引,因为商人本身也是通过和他人协作创造利润和价值。
最后一点,在我看来,培养商业思维能够更有助于指导自己做事的方式和人生方向。将自身作为商品对待,如何让自身的价码不断升高,有效地规避当下开发界人人色变的“35岁陷阱”,只能借助于求助于“商业思维”。
漫无目的地追逐新技术并不能将你带向人生巅峰,相反,更大的可能性是耗散你本就有限的精力,在低层次不断重复自我,最终惨遭淘汰。优秀的开发者并不是因为拥有广博的知识才让他的身价高,而是因为他们能帮助人们解决问题才得到认可,解决的问题越难,认可度就越高。他们身上的那些绝技只不过是在这一路上走来不断积累的结果,如果你只是单纯地为追求知识而追求知识,那无异于舍本逐末,最后只能成为会写四个回字的孔乙己。只有先想清楚自身的价值和定位,之后再去利用技术知识武装自己,才能一步一步一个脚印,不断走高。不要让自己成为那个总是用最新技术写“ Hello World ”的人!
作为系列开篇,这里就说这么多。在后续的文章里,我会就一些常见的商业思维一一展开,希望大家捧场支持!