首页 > 技术文章 > 构建之法进度03

kt-xb 2019-04-04 16:09 原文

第三章 软件工程师的成长

 

第一章提到:软件工程包括了开发,运营,维护软件的过程中的很多技术,做法,习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程软件开发流程的目的时为了提高这些软件开发,运营,维护的效率,以及提升用户满意度,软件的可靠性和可维护性。

软件系统的绝大部分模块是由个人开发或维护的 。在软件工程的术语中,把这些单个的成员叫做Individual Contributor(IC)。每个人的工作质量直接影响最终软件的质量。那么,软件工程师如何衡量自己的能力?初级软件工程师可以有以下几个方面的成长

1.积累软件开发相关的知识,提升技术技能。

2.积累问题领域知识和经验。

3.通用的软件设计思想和软件工程思想的理解。

4.提升职业技能(包括自我管理能力,表达和交流的能力,与人合作的能力,按质按量完成任务的执行力)。

5.实际成果。

软件开发的工作量和质量衡量的标准有:

1.项目/任务的大小。 2. 花了多少时间。 3.质量如何。 4.是否按时交付。

软件项目的确需要创造性,但更多的是常规的,可重复的任务。有某个人他说过,软件领域可以分为两个方面:一方面是技艺创新的大爆发。另一方面是坚持不懈的工程工作,包括软件的改善,维护和测试。

著名艺术家Chuck Close说过:我总觉得灵感是属于业余爱好者的,我们职业人士只是每天持续工作,今天你继续昨天的工作,明天你继续今天的工作,最终你会有所成就

思维误区:1.分析麻痹(想弄清楚所有细节,所有依赖关系之后再动手,不想修复问题)。2.不分主次,想解决所有问题。 3.过早优化。 4.过早扩大化/泛化。

职业发展:对待职业的态度:1.临时的寄托或工作(低动力,低技能)。 2.工作。 3.职业。 4.投身的事业。 5 .理想的呼唤。

怎么提高技能呢?通过不断的练习,把低层次的问题都解决了,变成不用经过大脑的自动操作,然后再有时间和脑力来解决较高层次的问题

我过去就是想分析完全部的细节然后一次完成所有的编码,而且想要把问题一次解决,一劳永逸。现在发现犯了思维误区中全部的错误。

以后我会从小规模的问题,简单的设计开始,记录下每一次的bug和改进,成为一名合格的软件工程师。

推荐阅读