苦果:像专家一样思考,像外行一样实践



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

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

那么,反过来会如何呢?这本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)

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

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

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

那么,反过来会如何呢?这本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)

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


阅读更多

没有更多推荐了,返回首页