美文网首页
构建之法-3-软件工程师的成长

构建之法-3-软件工程师的成长

作者: BigLong | 来源:发表于2019-05-06 19:54 被阅读0次
软件工程师的成长.png

本章主要是关于个人成长。如何衡量软件工程师的能力?软件工程师常见的思维误区。职业发展以及技能的反面。


3.1 个人能力的衡量与发展

3.1.1 能力衡量

当你在简历上写下“职业软件工程师”时,有没有想过自己到底有多“职业”呢?就像篮球运动员的职业简历上一样,包含出场数、命中率、防守、助攻等数据。我们可以衡量软件的工作量和质量:

  1. 项目有多大:代码行数(Line of Code, LOC)或者功能点数(Function Point)
  2. 花了多长时间:n个人 * m月
  3. 质量如何:bug数量或者返工的次数
  4. 是否按时交付:交付时间不仅越快越好,还要稳定。即估计与实际用时接近。
3.1.2 个人成长
  • 掌握技能基础知识
  • 积累行业领域的知识与经验
  • 理解软件设计思想、软件工程思想
  • 提升职业技能:管理、表达、交流、合作、执行力

3.2 软件工程师的思维误区

  • 分析麻痹(Analysis Paralysis)
    这种极端的工程师总是想要弄清所有细节、所有依赖关系之后再动手。偏悲观,不想修复问题,出了问题总想赖在相关问题上。

  • 不分主次
    过于积极,总想修复所有的问题,包括主要问题和次要问题。

  • 过早优化
    不能在局部问题上陷入进去,花大量时间优化,审视该问题对全局的重要性。

  • 过早泛化
    总想一次实现所有的功能,能适合所有的用户,等等。


3.3 软件工程师的职业发展

  • 考级
    等级考试和技术资格考试。

  • Steve McConnell ——职业之路
    知识领域+能力(入门、熟练、带头人、大师)

  • 大公司——职业之路
    例如,微软的职业等级:

    微软的职业等级
  • 自我评估
    工程师应该在实际工作中不断学习和不断成长,根据自己的情况选择在哪个方面追求“专和精”,在哪几个方面达到“知道就好”的水平。


3.4 技能的反面

巴克斯顿说技能的反面是“Problem Solving”—“解决问题”。

当你在简历上写下精通xx时,却把时间花在解决一些低层次问题上,那你其实就不精通xx。

提高技能的方法就是不断的练习,把低层次的问题都解决,变成不用经过大脑的自动操作,然后才有时间和脑力来解决较高层次的问题。

image.png

在中间部分是学习区,也就是我们要尝试、失败、学习、再尝试。。。逐渐就构建扩大了底部舒适区。一开始不要直接上手很难的领域,相当于直接进入顶部恐慌区,反而适得其反,出现拖延症现象。

书中,作者以玩魔方为例,如下:

魔方的技能有哪些层次呢?下面是我粗浅的看法。

1. 听说过魔方的玩法,理论上了解(已经知道:通过扭动魔方的各个层面,直到六面出现一样的颜色为止)
2. 对口诀知其然,能在实践中根据某种口诀玩成六面(作者达到了这种水平)
3. 对口诀知其所以然,能够根据情况加以变化
4. 同上,唯手熟尔。几十秒就可以搞定的(学校冠军们达到了这种水平)
5. 同上,但是转得特别快,十几秒就能转好的那些人,还能有一些例如闭眼睛还原魔方的绝技的(世界冠军们达到了这种水平)
6. 能够设计出新型的魔方

那怎么才能考察出一个人是否“精通”魔方呢?我想了这样一个办法:

a . 给面试者一个各面打乱颜色的魔方;
b . 要求他把六面还原;
c . 如果还原了,要求他把魔方恢复成我最初给他的那个混乱的局面,必须一模一样。

精通魔方的同学,来吧。

相关文章

  • 构建之法-3-软件工程师的成长

    本章主要是关于个人成长。如何衡量软件工程师的能力?软件工程师常见的思维误区。职业发展以及技能的反面。 3.1 个人...

  • 【Note】《构建之法》提要

    《软件工程 构建之法》作者邹欣系Windows中国工程师团队首席研发总监 (Link:亚马逊) 整本书,极其认真...

  • 构建之法第三、四章读书笔记

    本周学习了构建之法的第三、四章,对于如何成为一个合格的软件工程师有了基本的了解; 第三章主要讲述了评价软件工程师的...

  • 构建之法--软件工程

    这本书是微软高级工程师邹欣所著,是一本关于软件工程的大学教材。 曾经被用于清华/北航等学校的软件工程课程的教学,非...

  • leetcode 234: 判断是否是回文链表

    链表的定义: 链表的构建: 构建出来的链表为:1->2->3->3->2->1或者1->2->3->4->3->2...

  • 构建之法-13-软件测试

    本章介绍了一些主流的测试方法。 13.1 基本名词解释及分类 介绍几个名词 Bug:软件的缺陷Test Case:...

  • 「没有银弹」的 《人月神话》

    这是近期我阅读的第二本关于软件工程的书籍,第一本是《构建之法》;虽然两本书都是关于软件工程方面,但各有侧重。《构建...

  • 构建之法

    个人能力的衡量(开发的工作量和质量的衡量):通过代码行数或功能点来衡量;花费的时间;交付的代码有多少bug来衡量;...

  • 构建之法,超越软件,不止于代码

    老实说,我是不适合写书评的,作为一名会计学专业的学生,书中太多难啃的概念,大部分章节都一知半解不知所云。以至于,读...

  • 《构建之法》读书笔记

    在《构建之法》的第一章就有醒目的黑体字写着软件=程序+软件工程。作为一名程序员,不能仅仅会写代码,深入了解一个软件...

网友评论

      本文标题:构建之法-3-软件工程师的成长

      本文链接:https://www.haomeiwen.com/subject/odmloqtx.html