《构建之法》读书笔记第3章

第三章讲的是软件工程师的发展。主要从软件工程师的评价方法,团队期望和技能的反面进行阐述,并对应的分为3个小节。
在第一小节中讲的是个人能力的衡量与发展。对于初级软件工程师的成长,从以下5个方面开始:

  1. 积累软件开发相关的知识,提升技术技能
  2. 积累问题领域的知识和经验(例如:对医疗或金融行业的了解)
  3. 对通用的软件设计思想和软件工程思想的理解。
  4. 提升职业技能
  5. 实际成果

其中要注意职业技能和技术技能之间的区别,沟通表达能力,自我管理能力等在IT行业也是相当重要的。在这里也可以扩展阅读《软技能》一书,尤其是要注意沟通能力,好的程序猿应该不仅仅擅长与机器的沟通,与人的沟通方法也很重要。不仅工作上会有促进,生活上也会受益良多。
而工作量和质量的衡量,通常由项目大小、花费时长、每千行代码bug数量、能否按时交付四个方面进行比较。其中“稳定、一致的交付时间是衡量员工能力的重要方面。”
相对于PSP(Personal Software Process),团队软件流程(Team Software Process)对团队成员以下七个因素的要求:

  1. 交流:
  2. 说到做到
  3. 接受团队赋予的角色并按角色要求工作
  4. 全力投入团队的活动
  5. 按照团队流程的要求工作
  6. 准备
  7. 理性地工作

第二小节讲的是软件工程师的打怪升级。职业成长上有书中列举了三种评价体系:

  1. 考级 (职业资格认证、行业协会认证等)
  2. Steve McConnell版本(入门->数量->带头人->大师)
  3. 大公司版本(谷歌和微软等对工程师都有自己的认定标准,书中以微软为例:SDE->SDE II->Senior SDE->Principle SDE等(初级软件开发工程师->中级软件开发工程师->高级软件开发工程师->首席软件开发工程师等)
    书中还特别列举了一个list进行自我评估,可方便的进行自我评估和追踪
    现代软件工程 课件 软件工程师能力自我评价表

第三节是技能的反面,以魔方为例提出了疑问:什么是精通?
很多同学在面试的时候在简历上都写精通某某语言,对应的如果你简历上写的是:精通玩魔方。如果面试的时候给你出下列题目,还能回答出来么?
a. 给面试者一个各面打乱颜色的魔方;
b. 要求他把六面还原;
c . 如果还原了,要求他把魔方恢复成我最初给他的那个混乱的局面,必须一模一样。

如果把魔方换成某某语言,考察精通应该提出什么样的问题?真谈的上是“精通”么?

原文地址:https://www.cnblogs.com/deerCode/p/7536628.html