01
关注点不同
普通程序员在做一个需求,只会守着自己的一亩三分地,对于上下游他做到简单了解就好,所以整个领域全貌它不关心,也不会了解的特别清楚。
优秀程序员他不只关心他负责的那个子域,他也很感兴趣整个链路的整体架构,自己的子域在整个链路中的地位,职责,希望自己能尽可能多的了解整个架构全貌。
做好自己产品的同时,他也会关注业界同行做的产品,会去深入体验他们产品的功能,思考与比较我们的产品与他们产品从功能与用户体验上相比,有哪些地方比人家做的好,又有哪些地方不如人家,然后记录下来,倒推产品改进。
他也会关注行业,目前自己的产品结合公司的业务有哪些场景可以尝试等等。
通过上述种种思考,持续打磨自己的产品,甚至能倒推产品功能的迭代。而不是一天到晚跟在产品后面做需求沦落为一个工具人。
02
具备产品思维
普通程序员和优秀程序员逻辑思维都很强,但普通程序员平时只关注技术实现,拿到产品需求,他第一时间想到的是用怎么样的方式来实现。
优秀程序员开始具备产品思维乃至商业思维,他觉得技术本质其实是服务于产品,真正的技术驱动产品只是美好幻想,至少在国内现阶段很难实现。
国内公司早起都是靠堆人力与金钱快速抢占市场,很多东西都是堆出来的。一旦存量市场饱和,业绩就停滞不前。现在包括BAT在内的很多大厂已经面临这种窘境。
怎么样能像国外很多公司能够以技术驱动养活公司,使公司快速成长变现,至少现阶段,国内这种公司极少!
既然技术驱动产品这条路走不通,那只能暂时产品向前,技术辅助产品思路。所以他开始有意识的培养产品思维,想着做这个需求背后的本质原因是什么,解决了用户的什么问题等。
至于商业思维比如他会想目前公司的盈利模式是什么?他负责的内容在整个商业模式中的地位等等。
03
思考力
优秀工程师平时经常会在空余时间梳理自己负责的业务与技术架构,会画各种画各种图比如DDD大图,UML图(用例、泳道、时序、部署、类图)等帮助自己理清目前业务架构与技术架构。
04
主动性
普通工程师一般都是等待他的直系主管给他分配任务,然后按部就班的完成需求开发。
优秀工程师他会多揽活,比如遇到一个线上BUG,因为涉及到的链路比较复杂,需要多个部门一起协作,这个时候他会主动跳出来协调大家解决问题,解决完后回应给大家,比如以邮件的形式。