《构建之法》阅读笔记一

软件工程师的成长

       作者从一个团队的作用谈起,引出了个人在一个团队中的作用,每个人的工作质量直接影响最终软件的质量,首先是软件工程师如何衡量,评价自己的能力。书中举出了例子,很显然,在对自己做出评价的时候我们不能十分笼统的概括,这样不具体的回答相当于没有回答,因为它并不能够作为指标来反映出你的能力。

       一个工程师如果能够很好的衡量自己的能力,那么他对于自己软件开发的工作量和质量也会有个很好的评估,他知道自己的能力界限,并对自己的代码的完成时间有一个充分的预期,“软件项目的确需要创造性,需要一些意外,一些惊喜,但是更多的是常规的,可重复的任务”,“一个成熟的软件工程师应该能够降低任务交付时间的平方差”。

       而一个软件工程师如何成长?

  1.软件开发知识的学习,提升技术技能,这个就相当于我现在处于的阶段,还在学习编程语,算法以及相应的编程技巧。

  2.积累问题领域的知识和经验,这个阶段其实也可以算是对知识的学习,因为很多的问题就是因为学习过程中不是十分的详细导致的,很多情况下我都是在需要什么样的方法才去找有什么样的方法,而不是直接去系统的学习所有的方法,时间精力都是相对有限的,而方法又是比较多的,所以直接调用方法的时候我们就需要调用的时候需要注意的问题,如果不避免就会产生一些错误。当然有些基础性的错误,是需要我们在编程的时候需要注意的,顶多是在初期学习的时候可以发生,随着我们学习的深入,如果再出现这样的问题,只能是不认真。还有就是需要学习去认识编译器发生报错时候产生的代码,在这个方面我还算是个小白,顶多是复制系统报错的代码去百度去寻找类似的情况来判断自己产生错误的原因。

  3.对通用软件设计思想和软件工程的理解,这个作者认为比较虚,所以没有做太多的介绍,我个人认为还是自己对于软件设计理解,这个需要不断地积累经验才可以做好,同时在设计不同领域的软件时候,还需要对此类领域有着不浅的理解才可以,否则就不太可能做出一个令用户满意的软件。

  4.提升职业技能,区分于职业技能,这个同样也是需要我们拥有一段时间的工作经验才可以得到提升,这个在程序中是很难看出来的,可以理解为除了代码之外的工作能力吧。

  5.实际成果,的确“行胜于言,这些实际的工作成果,是最重要的评价标准”。

  随后作者列出了软件工程师的职业发展,现在的本科出生的软件工程师已经很多,再加上还有培训机构里面出来的大量劳动力,所以我认为现在的职业竞争压力还是很大的,本科出生的优势在于理论的学习,培训机构出来的很多是经过了很多的训练,在代码量上其实并不弱于一般的本科生,甚至还要强上一点,本科生的理论学习是较多与培训结构的,我认为这可能是唯二的优势,还有就是文凭,除了文凭,这些都是可以通过自学来弥补差距。

  我们经常自嘲是码农,搬砖的,其实在较低的层次来说其实差不多,职业的前期都是做着很多重复性的动作,但是在后期的发展当中就会有很大的差距,有的人开始晋升,开始去做一些有创造性的东西,这是作者认为职业后期的问题,当魔方的口诀每个人都记住了之后,我们需要有新的东西去将人分层次,这个时候我们就需要自己的创新点,创造新的口诀?创造新的速度?

  我们需要自己的核心竞争力,这样才能避免被淘汰。

原文地址:https://www.cnblogs.com/heiyang/p/10999999.html