构建之法现代软件工程(第三次)
第3章 软件工程师的成长
软件开发流程不仅仅包括团队的流程,还包括了个人的开发流程,团队是由每个人组成的,在软件开发流程中,是由每一个团队成员具体的个人在做开发,测试,UI,管理,交流等工作。在软件工程的术语中,我们把这些单个的成员叫做IC。
IC在一次团队流程中的流程如下:
1.通过交流,实验,快速原型等方法,理解问题,需求或任务。
2.提出多种解决办法并估计工作量
其中包括寻找以前的解决方案,因为很多工作室重复性的
3.与相关角色交流解决问题的提案,决定一个可行的方案
4.执行,把想法变成实际中能工作的代码,同时验证方案的可行性和其他特性(程序的效能)
5.和团队的其他角色合作,在测试环境中测试实现方案,修复缺陷。
6.在解决方案发布出去之后,对结果负责
作为初级软件工程师(SDE)的成长需要:
1.积累软件开发相关的知识,提升技术技能
2.积累问题领域的知识和经验
3.对通用的软件设计思想和软件工程思想的理解
4.提升职业技能(自我管理,表达和交流,与人合作,按质按量完成任务的执行力)
5.实际成果
软件开发的工作量和质量衡量方法(PSP的四个因素)
1.任务有多大(代码行数/功能点个数)
2.花了多少时间?
3.质量如何?(交付的代码中有多少缺陷)
4.是否按时交付?(从标准方差上看,因为团队工作中需要的是稳定,一致的交付时间)
团队对个人的期望
1.交流
2.说到做到
3.接收团队赋予的角色并按角色要求工作
4.全力投入团队的活动。
5.按照团队流程的要求工作
6.做好每次的准备工作
7.理性地工作
SDE职业发展道路:
可以通过各种考级,比如我们已经考过的全国计算机等级考试二级C语言,当然这是不够的。还有相应公司和行业的认证考试,这样可以更容易地获得相应的工作,合同机会。
如何提高技能:只有通过不断的练习,把那些低层次的问题都解决了,变成不用经过大脑的自动操作,软后才有时间和脑力来解决较高层次的问题。