zoukankan      html  css  js  c++  java
  • 《构建之法》读书笔记第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 . 如果还原了,要求他把魔方恢复成我最初给他的那个混乱的局面,必须一模一样。

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

  • 相关阅读:
    javaBean与Map<String,Object>互转
    Webservice 的设计和模式
    xml和java Bean的直接转换,Xmap
    java https安全传输
    String与InputStream相互转换
    WebService的事务处理
    教大家用HtmlUnit实现程序模拟页面表单提交
    基础概念总结(spring security、Quartz、JUnit测试)
    工商银行网银查询接口开发问题(HTTPS)
    tomcat 设置https访问
  • 原文地址:https://www.cnblogs.com/deerCode/p/7536628.html
Copyright © 2011-2022 走看看