身处职场的小伙伴,大概率会有这样的经历:做产品设计的工程师会吐槽做市场推广的业务人员:尽整那些虚头巴脑的。团队成员会对上司的抱怨:尽搞这些没用的。为什么会有这种情况呢?究其原因,是因为各自的位置不同,看待问题的角度不同,造成了对事务的认知不同。下面我们从多个方面,剖析团队工程师和团队管理者的认知差异。
⑴ 对工作目标达成的认知差异
对于工程师来说,其目标是按计划完成团队管理者交付的任务。尽管不同级别、资历的工程师输出的工作成果可能在品质上存在差异,但是其首要考虑的是完成个人的工作任务,我们称之为“单体目标的达成”。因此,工程师对工作目标达成的理解,是完成个人的“单体目标”。而团队管理者考虑的则是团队整体目标的达成。既然是整体目标的达成,那么管理者就需要考虑团队互助、资源协调、多环节衔接等内容,确保团队所有子任务都能按既定计划完成,从而保证整体目标的达成。因此,管理者需要精准定义每个子任务的达成目标(日程、功能、品质),确保单体目标和团队整体目标的协调一致。
⑵ 工作成果品质的认知差异
对于工程师,其对品质的把控标准基本是没有软硬件Bug、功能正确。对于团队管理者,更多考虑的是不同团队成员工作成果的一致性,特别是对于多人合作、每个成员分担不同单元的大型项目。因此会发生工程师自己觉得工作成果优秀、但是不符合管理者要求的情形。究其原因就是二者对品质的认知不同。
⑶ 硬件品质的认知差异
我们以IC的应用电路原理图为例,进一步说明工程师和管理者的认知差异。对于工程师而言,在原理图中,把表示各物理元件的符号放置、排列在sheet中,定义各元件符的标号,并通过NetLabel或Wire把存在电气信号连结的元件管脚相连接,那么这个原理图就基本完成了。当然,资深工程师会考虑元件符号的摆放位置、以改善版面布局的均衡、甚至考虑并联元件(例如电解电容||瓷片电容)的前后摆放位置,以便映射到PCB Layout中元件的相互位置,从而提升实物电路板的整体性能。能做到这一步,已经是很优秀的硬件工程师了。那么其工作成果在管理者看来,一定是高品质的工作输出成果吗?回答是“未必”。因为管理者不仅需要考虑单体目标的完成,还需要考虑不同员工所画原理图的一致性、同类应用的应用原理图之间的一致性、是否符合已经确定的原理图规则。例如:选用元件的型号,和本团队中类似应用原理图中同类元件的型号是否一致、同功能硬件单元的电路是否一致、所用元件的参数是否一致、同功能电路在不同原理图中的摆放位置是否一致,等等。管理者考虑的内容,是从团队整体的角度看待问题,通过“硬件一致”,提升储备资源的可复制性、增强易维护性、减少重复验证过程、减少元件的种类,从而提升开发效率和品质,减小元件库存、管理成本。
⑷ 软件代码品质的认知差异
对于优秀的软件开发者,其对软件的品质目标是功能正确、占用空间小、执行速度快;而管理者对软件的品质目标是可读性好、容易维护、方便复制。之所以对品质的认知不同,究其原因是二者考虑的角度不同。工程师考虑的是单一任务成果的功能和性能,而管理者则更多考虑的是的多人参与项目的整体一致性、代码是否容易理解、是否方便快速复制到其他项目中、以便提高整体项目、甚至持续改善后续工作任务的品质和效率。
⑸ 问题解决的认知
对于工程师来说,解决具体问题的目标是找到当前问题的解决方法、并通过实际验证、确认自己的方法对解决当下的问题有效的。作为工程师来说,解决问题完成宣告这个任务结束。对于这个解决方法是确定有效的、还是偶然因素规避了问题的发生,未必深入思考。而管理者则会拓展思路:当前的解决方案确定是解决问题的方法、解决方案和问题现象二者之间存在确定的因果关系、类似的问题是否存在于其他的项目中、这个解决方式是否可以复制到其他问题的解决中。并且,管理者通常会要求写出详细的问题调查报告,总结问题的现象、过程分析、解决方案、验证结果等内容,作为重要的Knowhow,甚至输出FAQ之类的普适性技术支援资源。如果工程师的认知达不到这个高度,那么就很容易产生抵触的心理。
⑹ 工作成果质量持续改善的认知
在工作实践中,工程师会使用既存的开发资源,例如原理图、程序代码,以便加速实际的工作进程。如果检查其新开发的工作成果,经常会有这样的情形:以前的开发资源中出现的问题,在新的项目中仍然存在。如果向担则的工程师 确认原因,工程师的回答通常是:以前就是这样子。这个问题发生的缘由,就是对质量改善的认知不同。在工程师看来,改善的对象是自己开发成果的质量,对于既存开发资源的质量改善,既非自己的职责,也有多一事儿不如少一事儿的想法。而管理者则考虑的不仅是当前的成果质量,还需要考虑后续工作的持续改善。如果不把既存资源中的不足全部解决,也就谈不上以后的持续改善,并且为后续的工作遗留了潜在的暴雷风险。
【结束语】
对于技术团队的管理者来说,究竟应该管什么?核心的管理内容就是管理“一致性”。对比同类问题的多个解决方案、找出最优方案,并推广到其他项目和其他团队成员,目标是后续项目的一致和团队成员处理方案的一致。对于团队的整体认知,尽管可以通过培训能够不断提高,但是应该允许存在认知方面的差距。毕竟,不同的岗位、职级是对认知最大的影响因素。