上一篇我们了解了什么是工程能力,以及功能能力的价值。
接下来的很重的问题就是如何提升工程师的工程能力。
提升工程师工程能力的框架可以总结来为:3+1+1+3框架。
工程能力可以分解为3个维度:公司的平台能力,团队的组织能力,个人的素质能力。
公司的平台能力:研发规范和指南,工具、平台、开源协作、知识管理、人力资源机制;
团队的组织能力:研发过程管理、交付效率、成本意识、教育培养;
个人的素质能力:需求把握、系统设计、编码能力、项目管理、产品意识、客户服务意识、安全意识、质量意识、沟通能力;
提升工程能力的过程中,人是根本,工具和平台都是为人服务的,切勿本末倒置。
人对工程能力重要性远远超过工具,“优秀的人 + 一般的工具” 在研发效能上要远超 “一般的人 + 优秀的工具”。
因为随着工具的增强,人与人之间在研发效率上的差距会进一步扩大。
随着软件研发项目中沟通成本随着人数增长而呈指数型增长的规律,小规模优秀工程师团队的研发效率要远高于大规模普通工程师的团队。
伟大的系统和产品一定来自优秀的人和团队。 在“人”没有改变的情况下,团队规模的增加、劳动时间的延长,都无法从根本上改变软件的品质。
无论是对于组织还是个人,都应该在培养“人”方面投入更多的资源。
对于提升工程能力,工程师的自我驱动力是最重要的。
在工程师没有充分理解和认可工程能力的情况下,希望通过简单的考核手段来提升工程能力,很难发生根本性的改变。因为考核可能只会引起一些表层指标的变化。
考核只能起到识别和鼓励的作用,而无法使一个人从一般变为优秀。一名优秀的工程师,一定不是依靠考核来驱动的。
如果一个人知道什么是高效而正确的方法,那么他(她)一定不会继续使用低效且错误的方法。
通过改变意识和认知,设定愿景和目标,可以激活优秀工程师的内驱力。
个人素质能力提升,核心在3个方面:
· 做好项目管理;
· 写好文档(对应需求把握和系统设计);
· 写好代码(对应编码能力);
在代码、文档和项目管理中,重要性可排序为: 项目管理 > 文档 > 代码
背后的主要原因:
· 没有好的管理,有再好的技术也没有用;
· 好的代码,首先来自好的设计;
· 需求分析先于系统设计;
核心理念还是确保团队先做正确的事,再正确的做事,最终交付正确的结果。
也及GIGO原则,通过控制产研交付系统的输入质量,最终才能提升系统的输出质量。
工程能力提升的3+1+1+3框架:
· 3个维度:公司平台、团队组织、个人素质;
· 1个根本:人是根本,优秀的工程师为先;
· 1个核心动力:工程师的自我驱动力;
· 3个个人素质提升的方向:项目管理 > 文档 > 代码;
备注:《代码的艺术》读书笔记
联系客服