zoukankan      html  css  js  c++  java
  • 苦果:像专家一样思考,像外行一样实践

    来自卡内基·梅隆大学金出武雄教授写的这本像外行一样思考,像专家一样实践——科研成功之道 ,是我非常喜欢的一本书。

    金出武雄在书中引用大量事例,说明无论是个人还是团队,思考的时候要像外行人一样无所顾忌地思考,而实践的时候要像专家一样缜密地实践

    那么,反过来会如何呢?这本200页的书,仅用了一小节(6页)举了反例。

    而在构建之法 这本书里,则以软件工程领域的诸多案例,来说明“像专家一样思考,像外行一样实践”导致的苦果。

    苦果之一  像专家一样思考

    何谓“像专家一样思考”呢——

    外行因为没有相关的知识和经验,所以不会束缚于固有的观念,可以大胆想象。他们一切构想的根源都是“我想要这样”,而并不是“能不能实现呢”。而被称为专家的人早就形成了一种“像这种场合,应该这么做”的固定思维模式。就算没形成,也很容易被困在通常的做法中,很难产生飞跃式的想法。因此,某些已经存在的、成功了的方法、经验和知识是导致想象力匮乏、缺少创意的主要因素。

    软件工程师的专家思考特点1:往往以熟练掌握认知阻力大的工具而自豪(例如命令行操作、VI、Emacs等编辑器),这对于工程师的工作是有帮助的;但是大多数用户的心理是要躲避认知阻力:

    Don't make me think.

    软件工程师的专家思考特点2:很多程序员都没有意识到,用户对那些选项对话框中的种种选择会有很大的畏难情绪,

    而程序员则觉得自己开发的功能必须有几个高级选项,才显得有水平

    软件工程师的专家思考特点3:在设计软件的过程中,我们(设计/开发者)往往会以自己使用产品的习惯和对软件行业的熟悉程度出发设计,

    忘记了我们的软件是给千千万万个不那么会用电脑的人使用的

    例1

    例2

    苦果之二  像外行一样实践

    最初的构思往往来自于各种希望和想象,但是,将构思转换成现实还是需要丰富的知识和熟练的技术。构思再好,蹩脚的作品也不能很好地运行,因为毕竟术业有专攻。

    北航的同学们采用《构建之法》所提倡的”做中学“模式上软件工程课,课程上到一半,做了项目,写了不少代码,开始读《构建之法》,对此开始有了切身体会:

    读书报告]构建之法(一)

    【第三章讲软件工程师的成长,我想每一个学生都会很关心这个话题,我当然也不例外。这一章依然印证了职业化的突出特点是规范化。要成为一个优秀的软件工程师,很多东西不能够再用大概、差不多这种词去描述,而应该用真实记录下来的数据说话。而真实的项目是能力提升的必由之路。】

    说到用真实记录下来的数据说话,我印象更是深刻。11月底,我在北航听了一堂软件工程公开课,邹老师也在下面听课,同学在上面个介绍自己的产品将如何如何受欢迎,能够解决哪些”痛点“,邹老师则不断提问:你有什么样的数据证明你的产品受欢迎?有个小组的同学一时经不起这样的质疑,当场还脸红脖子粗抗辩。

    (如图,北航同学在课上介绍自己的项目和产品,邹欣老师在台下抛出一个个问题)

    《构建之法》里讲了不少“拍脑袋、拍胸脯”和“说一套做一套”的故事,这些,都是像外行一样实践的典型。

    像外行一样实践之特点1:拍脑袋,走形式

    例1

    例2

    例3

    例4

    像外行一样实践之特点2:拍胸脯,想当然

    例1

    例2

    例3

    像外行一样实践之特点3:说一套,做一套。

    讲了这么些“不能这么干”的故事,那究竟怎么做,软件工程师们才称得上是“像外行一样思考,像专家一样实践”呢,构建之法 当然给出了自己的回答。因此,得到了同行们的真诚推荐:为什么他们都推荐《构建之法》

    如果你正有类似的迷茫作为一个帝都码农,现在的处境很迷茫,不知道未来在哪里,我该怎么办?

    推荐阅读:

    《构建之法》3.1 个人能力的衡量与发展(1)

    《构建之法》3.1 个人能力的衡量与发展(2)

    《构建之法》3.2 软件工程师的职业发展

    《构建之法》3.3 技能的反面

    如果你正在或考虑创业,推荐阅读:《构建之法》试读:17.1 猪、鸡和鹦鹉的故事

    如果你有这样的烦恼部门不做 Code Review,有什么弥补的措施?

    推荐阅读:

    《构建之法》 4.4 代码复审(1)

    《构建之法》4.4 代码复审(2)

    不过,坚持“把所有的错误记在一个“我常犯的错误”表中,作为以后自我复审的第一步。” 真不易呢,看看豆瓣读者的感叹:



    祝 新年快乐

  • 相关阅读:
    Python之while循环
    Python之分支语句
    Python之变量
    Python开挂的吧!
    xshell 连接 ubuntu 16.04报错
    js中的script标签
    javascript中的事件学习总结
    【JAVAWEB学习笔记】04_JavaScript
    【JAVAWEB学习笔记】03_JavaScript
    【JAVAWEB学习笔记】02_HTML&CSS
  • 原文地址:https://www.cnblogs.com/yeka/p/4195670.html
Copyright © 2011-2022 走看看