代码的艺术:用工程思维驱动软件开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

推荐序一

作为一位在软件工程领域工作多年的专业人士,我做过研发中心总经理,也一直担任软件企业技术培训机构的负责人,还领导过工程效能部门,甚至组建并亲自带领过软件技术文档团队。一直以来,我看到不少软件工程师和软件开发管理者,对软件研发普遍存在一些错误的认识。

他们认为,只要掌握好编程技能就好,把常用的编程语言和软件工具掌握得越熟练就越有竞争力,他们将大量的精力花在钻研编程技能上,这也和很多用人单位的价值取向有密切关系。在面试和考查软件工程师时,很多用人单位多半考查的是和编程能力相关的内容,一般不考查工程素养。这强化了软件工程师的错误认知,他们更加错误地认为只要会编程就能找到工作。他们还认为,在工程意识或工程素养上的不足,是可以迅速补齐的短板,这些根本不是难事儿,随时都可以改变和提升。

业界还普遍存在一种错误认知,即对于开发某领域的软件,领域知识和编程技能比软件开发的工程意识更为重要,软件如何构建、开发任务如何组织等涉及工程意识的因素,没有得到足够重视,很多人甚至认为这些降低了软件开发的效率,或者干脆对此嗤之以鼻的也大有人在。

我亲身经历了很多项目的失败,究其原因就是软件工程师的工程意识和相关能力偏弱,他们忽视了很多比编程能力更为重要的工程化思维和作为软件工程师的行为约束。他们没有意识到,能力、意识和素养是需要长时间养成的,就像一个人的气质不能在几天之内速成一样。

互联网企业的大多数工程师一毕业就进入公司工作,他们很聪明,技术功底很扎实,但缺乏对实际项目的工程化锤炼,就职公司更需要培养他们的工程意识和素养;也有很多工作多年的软件工程师,因为常年赶任务,也常常忽视工程化能力的培养。

章淼老师在研发一线工作,他在百度技术培训中心开设的“代码的艺术”课程,专门讲授如何提升软件工程师的工程思维、工程素养和工程意识。《代码的艺术》这本书中的很多内容来自章老师的培训课程和演讲材料,也有部分内容来自他以“代码的艺术”为题在多家大型互联网企业分享的内容。在代码、文档和项目管理等多个方面,这本书既介绍了方法,又有他亲身经历的实际案例解剖。无论是刚参加工作的从业者,还是有多年经验的软件工程师,都反映良好,“代码的艺术”课程也因此在百度大受工程师欢迎,他本人也连续多年被百度技术培训中心评为“金牌讲师”。

本书通俗易懂,可以帮助读者迅速掌握软件研发中的关键要领,并将其中的方法运用到实际项目实践中,还能够帮助读者掌握正确的软件研发意识,为未来的职业发展打下良好基础。

陈尚义
百度技术委员会理事长
2021年11月13日于北京