0.写在前面


看了《构建之法》这本书,更多的注重实际,和我们在课堂的学到的东西完全不同,更多的是职场上的事。书中的每个问题都能引发我的深思,这些问题都是我在校园中根本发现不到的,瞬间感觉到一只“井底之蛙”的失落,又有发现新大陆的快感。就随便写篇博客记录一下吧。

1.引子

  • 首先先看一个问题:

以前我觉得,公司中的大佬级别和刚进去的菜鸟程序员的行为会有天差地别的差距。但是事实上他们每天做的事情都是一样的:“每天在电脑前敲敲打打,有时候查邮件……”。这根本就看不出什么区别嘛

  • 那么问题来了:高级程序员到底强在何处?为什么做同样的事情,他们却可以拿到更高的工资?
  • 当初我对这个问题的答案是:高级工程师的代码能力更强,能在很短的时间内完成任务。

2.如何衡量个人能力?


  • 举一个足球运动员的例子:
  • 爱看球的我们知道,职业足球队对足球运动员有很高的要求:

体能、技术、意识、斗志。

  • 当然,上面的都是个人能力。除此之外,懂得团队配合也是很重要的“个人能力”。

阵型、配合、临产应变。

软件开发团队和球队一样,不单单有团队流程,也有个人流程。把每个人的工作有序的组织起来,就是团队的流程。有序不是指直接安排好的,这个有序是建立在大家的讨论上,消除矛盾、经过协商得到的“有序”。


  • 那么对于运动员来说,每场比赛结束后都有得分统计,上场时间等一些可视化的数据。但是在一次软件开发以后,并没有明显的数据来衡量一个人的实力。那么,如何来衡量一位工程师的能力呢?
  • 我对这个问题回答是:代码量与完成任务的时间与质量(返工次数)。
  • 带着自己的答案继续看下去,发现自己遗漏了重要的一点:稳定!完成任务速度用时少是好事,但是完成时间的标准方差也是衡量一个程序员的重要因素。

现在有三个任务:1,2,3,程序员A完成这三个任务用时分别为:1,9,11、程序员B完成这三个任务用时分别为:7,8,9。从总用时来看程序员A的平均用时比B的少一天,似乎是A稍稍优秀一点,但是从标准方差的角度看,显然B会A的交付时间会稳定的多。

  • 在实际的工作中,稳定、一致的交付时间是衡量一个员工能力的重要方面。
  • 一个成熟的软件工程师往往可以降低自己的标准房差。如果你能长时间稳定而按时交付自己的任务,不管是同事还是客户都会对你更有信心,更愿意与你合作!

3. 团队对个人的期望(TSP)


大多数工程师都在团队的环境下工作,怎么才算是一个合格的、优秀的队员呢?

  • 交流:及时发现问题并解决。
  • 说带做到:按时、稳定的交付任务
  • 接受多重角色,并按要求完成任务
  • 全身心的投入团队的工作中
  • 按照团队的流程来工作,不要过分的专注与个人流程。
  • 充分的准备每次组会讨论

4. 技能的反面

相信小时候大家都玩魔方吧,刚刚开始玩的时候我们都可以按照口诀迅速的把魔方还原。这时“精通玩魔方”就算是我们的一个“技能”了。那么技能是用来干什么的呢?或者说技能的反面是什么?

巴克斯顿说,技能的反面是“problem solving”——解决问题。

  • 我们来看一个例子

一个IT专业的大学生来面试,简历上写着“精通visual studio C#编程”。于是面试官叫他用他最精通的IDE写一段程序。其实这就是一个解决问题的过程。

转载于:https://www.cnblogs.com/031602523liu/p/9683382.html

构建之法第三章学习小记相关推荐

  1. 0320 关于构建之法前三章的读后感

    0320 关于构建之法前三章的读后感 构建之法前三章读后感 读完了第一章后,开始对于软件工程的重要性有了一些必要的认识了.何为软件工程,这个问题一直在我的心头萦绕,做软件无非就是把代码写出来,将分支语 ...

  2. 构建之法前三章读后感—软件工程

    本教材不同于其他教材一贯的理知识直接灌溉,而是以对话形式向我们传授知识的,以使我们更好地理解知识点,更加清晰明确. 第一章 第一章的概述中,书本以多种方式,形象生动地向我们阐述了软件工程的内容,也让我 ...

  3. 构建之法第三章软件工程师的成长

    1.现在的我以及我的同学们都还不能够被称之为软件工程师,在各个方面我们都有很多的不足,与那些计算机大佬相比我们也就是大菜鸟,所以我会朝着自己的目标努力. ①我会选择C,但是我希望无论他的技术有多么娴熟 ...

  4. 现代软件工程—构建之法---第三章:练习与讨论

    1.选哪一种医生? (1).如果是我的话,我会选择C类型的医生.因为c类型的医生看着比较靠谱,首先他的从业经验比较丰富,遇见过很多类似的病历,对病情包括手术比较有把握,对患者可能会比较了解:其次就是他 ...

  5. 02构建之法第三章第四章及第五章阅读笔记

    在之前编写过程中,并没有很好的注意程序的优化问题,时不时的会出现一些bug,在编写时并不会特意去关注代码的质量,不能做到精致.而且在编写代码的时候并不会特意注意代码的规范性,等到后来再次看代码的时候就 ...

  6. 第三次作业:阅读《构建之法》1-5章有感

    这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2178 阅读<构建之法>1-5章有感 第1章:概论 ...

  7. 构建之法 第三版 17 章 部分草稿

    构建之法 17 章 人,绩效和职业道德 (<构建之法> 第三版草稿) 2016/12/23 17.1 领导力 在软件开发过程中,有很多平等合作,但是也有上下之分的领导/被领导关系,即使都是 ...

  8. 现代软件工程—构建之法》第一章 中出现的计算机专业术语

    现代软件工程-构建之法>第一章 中出现的计算机专业术语 软件 程序 软件工程 二叉树 遍历算法 数据结构 算法 应用软件 软件服务 源程序 软件架构 软件设计与实现 依赖关系 编译参数 链接参数 ...

  9. 《数字图像处理》第三章学习总结感悟2:直方图处理

    ☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在2021年6月22日发布<<数字图像处理>第三章学习总结 ...

最新文章

  1. 越过网络层看威胁:为什么全攻击界面才是最重要的
  2. 机器学习理论《统计学习方法》学习笔记:第五章 决策树
  3. 深度学总结:weight_initialization
  4. 介绍OpenHub框架
  5. python utc 时间
  6. python读取Excel实例详细教程
  7. linux中兴上网客户端,中兴新支点N-Print,简单高效Linux桌面操作系统网络打印方案...
  8. flex右对齐_移动WEB开发 — Flex布局
  9. 怎样关闭eclipse中的tooltip提示
  10. Atitit 找人软福利建设 技术团队建设大概流程
  11. 复合存储引擎的设计和实现(包含ORM和内容存储)
  12. Nginx从入门到精通(全)
  13. Python操作微信群发消息检测僵尸粉
  14. JFlash软件解锁GD32MCU
  15. mysql获取表属性和表结构
  16. 高数 | 一点可导和邻域内可导能推出来什么?
  17. 几个黑科技、实用网站(转自公众号:趣说软件)
  18. oracle删除redo 未重启,卸载金山和瑞星后未重启就安装了卡巴,系统进不去了
  19. 从招式与内功谈起——设计模式概述(一)
  20. 哲学家是如何思考问题的-2.0版

热门文章

  1. 道友们,听说你们书荒啦?十几万本够吗?用python几步就可爬取
  2. 通过PyTorch中的可视化理解卷积神经网络
  3. 网络拓扑故障诊断讲解总结
  4. Python-cvxopt库的使用(1)(解决LP问题)
  5. sorted函数python_python中排序函数sort,sorted和operator.itemgetter的使用
  6. python traceback_Python 列表操作,节后大放送
  7. 计算机模拟病例考试试题,计算机模拟病例考试评分方法的研究概述
  8. python 财务分析-linux 复制移动命令详解
  9. JDK 5、6、7、8、9、10、11、12、13、14 新特性汇总
  10. Springboot2 搭建 高性能Websocket服务器