乘着五一假期读完了《构建之法》的第三章“软件工程师的成长”,感觉本章内容是对第一章“概论”和第二章“个人技术和流程”的总结,从基本概念的介绍转到了实际,我们这种学习中的程序员未来的发展方向。读完了本章内容让我颇有收获。
为了比较能力,作为一个在软件团队和团队中的工程师,有些简单衡量个人工作质量的指标:项目/任务有多大(代码行数,LOC);花了多少时间;质量如何(缺陷的数量/项目的大小);按时交付(方差,非平均值)。初级软件工程师的成长方向也有很多方向:积累软件开发相关的知识,提升技术技能;积累不同领域的知识和经验;对通用的软件设计思路和软件工程思想的理解;提升职业技能(个人管理能力,表达交流的能力,与人合作的能力,按质按量的完成任务的执行力);实际成果。
与上一章“PSP”(个人软件流程)相关的,还有一个“TSP”(团队软件流程),其对团队成员有7条要求:交流;说到做到;接受团队赋予的角色并按角色要求工作;全力投入团队的活动;按照团队流程的要求工作;准备;理性的工作。希望以后自己可以达到上面的要求。
每年大陆有40w到60w的计算机毕业生毕业,想要突破人海,进入工作岗位,一方面是可以考取软件工程师的职业资格考试(等级考试,微软认证专家,Ocacle认证项目),另外要扩展自己的知识和能力,期间要自我评估,再进一步发展。
另,课后有个案例:程序员小飞原计划三天完成某个任务,现在是第三个的下午,他马上就可以做完。但是在实现功能的过程中,他越来越意识到自己原来设计中的弱点,他应该采取另一个方法,才能避免后面集成阶段的额外工作。但是他如果现在就改弦更张,那势必要影响自己原来估计的准确性,并且会花费额外的时间,这样他的老板、同事也许会应此看不起他。如果他按部就班地按定设计完成,最后整个团队还要花更多时间在后续集成上,但那就不是他个人的问题了。。。
站在我的角度,如果我是小飞,我会选择采取另一个方法重新做,即便未来老板和同事会看不起,但是做好自己的工作,不给别人带去额外的麻烦是一名程序员本身应该做到的。而且经过这次事件,以后就不会犯这个错误,也是件好事,不是嘛。
五一节快乐 /开心!