• 构建之法阅读笔记01


                                                      第3章软件工程师的成长

    3.1 个人能力的衡量与发展

    软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。在团队的大流程中,是每个具体的个人在做开发、测试、用户界面设计、管理、交流等工作。因此个人在团队中也有独立的流程。

    以开发人员为例,流程如下

             *通过交流、实验、快速原型等方法,理解问题、需求或任务

             *提出多种解决办法并估计工作量

                       *其中包括寻找以前的解决方案,因为很多工作是重复性的

             *与相关角色交流解决问题的提案,决定一个可行的方案

             *执行,把想法变成实际中能工作的代码,同时验证方案的可行性和其他特性(例如程序的效能等)

             *和团队的其他角色合作,在测试环境中测试实现方案,修复缺陷(bug)。如果方案有严重的问题,那么就考虑其他方案。

             *在解决方案发布出去之后,对结果负责

    如何衡量软件开发的工作量和质量?PSP认为有下列4个因素:

    a. 项目/任务有多大?

    b. 花了多少时间?

    c. 质量如何?

             可以用缺陷的数量来除以项目的大小。

    d. 是否按时交付?

             用方差衡量更好。

    软件项目的确需要创造性,需要一些意外,一些惊喜。但是,更多的是常规的、可重复的任务,软件工程的奠基人之一瓦茨·汉弗雷总结说,软件领域可以分为两个方面:一方面是技艺创新的大爆发;而另一方面是坚持不懈的工程工作,包括软件的改善、维护和测试等,这一方面占了90%-95%的比例。对于这些任务,一个成熟的软件工程师应该能够降低任务交付的时间的标准差。如果你能长时间稳定而按时地交付工作的结果,内部和外部的顾客就会对你的工作有信心,更喜欢与你合作。标准方差是六西格玛(Six Sigma)方法的核心概念,这也是杰克·韦尔奇在GE推行六西格玛的一大原因。

    3.2 软件工程师的职业发展

    3.2.1 职业发展——考级之路

    3.2.2 职业成长——Steve McConnell版本

    3.2.3 职业成长——大公司版本

    微软公司的软件工程师职业等级

    等级

    要求

    SDE(初级软件开发工程师)

    入门。在学校里学到了一些技能,尚未在实践中得到充分锻炼

    SDE II(中级软件开发工程师)

    独立。可以写别人交给你的任何东西,不明白时知道去问谁

    Senior SDE(高级软件开发工程师)

    小组领导。影响着3~12名工程师,或者是他们的行政领导;或者是他们的技术带头人

    Principal SDE(首席软件开发工程师)

    领导团队。影响着10人以上的一个大团队,成为影响团队成败的关键人物。

    更高的职位有:Partner SDE、Distinguish Engineer、Technical Fellow

    影响力扩大到整个机构,甚至工业部

    3.2.4 职业成长——自我评估

    很少有人能在学校里掌握这么多知识后才毕业找工作,随后把技术运用在实践中。工程师应该在实际工作中不断学习和不断成长,根据自己的情况选择在哪个方面追求“专和精”,在那几个方面达到“知道就好”的水平。

    个人感受部分:

    1、过去怎么做:

      过去很少,几乎没有对自己的能力进行评估,没有尝试评估自己完成项目所花费的时间

    2、结合书中,这样的坏处:

      每一个软件工程师在处理项目时都需要对项目进行时间质量评估,这样可以有效的提高自己对时间和能力的掌控,可以知道自己的能力,在以后的项目中可以知道自己可以承担多大的工作在固定的时间内

    3、解决办法:

      在每次做项目之前,尝试对项目进行评估,预估自己多长时间可以完成,时间长了以后就可以有效的对自己的能力掌握,虽然在开始阶段可能不会太准确,但是时间长久后会对自己有很大的帮助

  • 相关阅读:
    R: 聚类分析
    R: 主成分分析 ~ PCA(Principal Component Analysis)
    R: 关于 ggplot2 的初探
    R: 字符串处理包:stringr
    R: 用 R 查看、管理文件(夹)
    R: 关于文件 文件夹的处理:file.show() dir.create().....
    R: 绘图 pie & hist
    R: 绘图 barplot
    R: 对向量中的每个元素,检查其是否包含某个“单词”
    R: 一页显示多张图的方法
  • 原文地址:https://www.cnblogs.com/0710whh/p/8250129.html
Copyright © 2020-2023  润新知