1.1 为什么要重视工程能力
由于行业内竞争加剧、成本上涨和产业升级等形势的变化,工程能力受到越来越高的重视。
1. 形势变化与挑战
最近几年,软件研发企业尤其是互联网企业正面临以下形势的变化和挑战。
(1)行业竞争的加剧。中国互联网经过20多年的发展,早已不是荒蛮之地,竞争的需要逼迫各企业在软件研发的质量和效率上不断提高。
(2)成本的上涨。中国在研发成本尤其是人力成本方面上涨非常快。中国软件工程师的人力成本已超过欧洲,和美国的差距也没有那么大了。在这种情况下,业内对于人均产出提出了更高要求。
(3)产业的升级。中国的互联网企业普遍从toC转向toB,而toB对软件研发的质量提出了更高要求。
2. 如何应对挑战
面对以上挑战,一些企业的应对方法是延长工作时间、增加工作强度。部分公司出现了“996”(早9点上班,晚9点下班,每周工作6天)的工作制度。应该说,这些方法给从业者的身体健康和正常生活带来了严重的负面影响,它们也只能是短期行为,不可能被长期执行。
从现实情况来看,其实国内很多软件工程师的工作效率是比较低的,并有巨大的提升空间。根据笔者多年的访谈反馈,很多软件工程师已经工作了8~10年,但他们的工作方法其实是错误的。在以前人工成本较低、管理方法比较粗放的情况下,这些问题并没有得到足够重视。现在中国很多传统行业在进行转型升级,因此中国的很多软件工程师也需要升级了!
提升工程能力,是应对以上变化和挑战的重要解决之道。
3. 工程能力是制胜之本
在提升工程能力的路上,我们可能会听到一些不同的声音。有些人说,手头的业务很忙,所以没有时间提升工程能力;有些人说,现在的项目进度已经很紧凑了,按照正规的方法来工作会拖慢进度,所以不能对工程能力有严格要求。
从使用不正规的方法到使用正规的方法,一定会有一些学习上的成本投入。更重要的是,工程能力不是锦上添花、可有可无,而是一种生存能力。很多项目的失败,其实是输在从业者工程能力的不足上了!
工程能力首先会影响“打得准不准”。如果从业者不能做好需求识别和分析,缺乏产品方面的意识,那么研发出的软件就没有市场和用户。
工程能力还会影响“是否能打赢”。工程能力会影响软件研发的效率、质量和成本,一个低效率、低质量和成本高的软件项目是没有市场竞争力的。