第九周读书笔记
软件工程师的成长-构建之法
这两周算是比较忙了,抽空读了一下《构建之法》中的软件工程师的成长这章,颇有感悟。
团队项目也是以个人为单位的,所以软件工程师的能力直接影响到团队项目的质量。这是我以前没有意识到的,以前我只是想团队项目嘛,不就人多力量大,但是作者说团队项目也是由个人流程拼接起来的,这给我提了个醒,团队项目不是大锅饭,而是一条条流水线,每位工程师就像是一条流水线,只有每条流水线正常工作,衔接得很好,最后的项目才能做得好。
既然软件工程师的能力很重要,接下来作者自然讲述了软件工程师如何成长。第一个是相关知识和技能的增长,这就启示我想要做软件这行,需要涉猎很多开发语言,时不时地看看最新的cs前沿,可能也要下很多编译器什么的不断调试代码。第二个是积累问题领域的知识和经验。这让我想到为什么入门工程师跟高级工程师表面看上去一天都在相同的工作,但高级工程师却是boss,可能就是因为高级工程师经历的项目很多,对不同领域的技术和相关背景都有了解,比如知道游戏怎么做才吸引人,医疗软件的要求偏向哪方面,金融软件的需求,这些使得高级工程师能够准确抓住要做的软件的关键,引导正确的方向,从而避免开发过程中的麻烦。第三个就是对通用的软件设计思想的理解,这个在我看来还是比较虚的,有点像悟道的感觉,在经历很多项目的历练之后,人真的会对软件设计思想有比较好的理解吗?我想是的,就像我小时候经常背古诗词一样,背得多了,就知道那些古人写诗想表达的感情了,有时候根本不知道怎么断句,可还是能猜出来,这两者在我看来应该有异曲同工之妙,无非是孰能生巧罢了。第四个是提升职业技能,作者不光提到了专业技能,也说了表达交流能力、合作能力等,这不光是IT行业必备的技能,也是其它行业需要的技能。这在我做本节课的软工课里也有体会,比如我跟一个同学的结对编程,他比较喜欢和我及时沟通,所以在做的过程中我们都知道彼此在做什么,衔接得比较好,做的内容一脉相承,比较顺利。第五个是实际成果,实际成果是见证软件工程师成长的丰碑,就像我,现在并没有多少编程经验,但我希望这次软工课我可以留下一些有意义的成果,就让它成为我的第一枚硕果吧!