金出武雄在书中引用大量事例,说明无论是个人还是团队,思考的时候要像外行人一样无所顾忌地思考,而实践的时候要像专家一样缜密地实践。
那么,反过来会如何呢?这本200页的书,仅用了一小节(6页)举了反例。
而在构建之法 这本书里,则以软件工程领域的诸多案例,来说明“像专家一样思考,像外行一样实践”导致的苦果。
苦果之一 像专家一样思考
何谓“像专家一样思考”呢——
外行因为没有相关的知识和经验,所以不会束缚于固有的观念,可以大胆想象。他们一切构想的根源都是“我想要这样”,而并不是“能不能实现呢”。而被称为专家的人早就形成了一种“像这种场合,应该这么做”的固定思维模式。就算没形成,也很容易被困在通常的做法中,很难产生飞跃式的想法。因此,某些已经存在的、成功了的方法、经验和知识是导致想象力匮乏、缺少创意的主要因素。
软件工程师的专家思考特点1:往往以熟练掌握认知阻力大的工具而自豪(例如命令行操作、VI、Emacs等编辑器),这对于工程师的工作是有帮助的;但是大多数用户的心理是要躲避认知阻力:Don't make me think.
软件工程师的专家思考特点2:很多程序员都没有意识到,用户对那些选项对话框中的种种选择会有很大的畏难情绪,而程序员则觉得自己开发的功能必须有几个高级选项,才显得有水平。
软件工程师的专家思考特点3:在设计软件的过程中,我们(设计/开发者)往往会以自己使用产品的习惯和对软件行业的熟悉程度出发设计,忘记了我们的软件是给千千万万个不那么会用电脑的人使用的。
例1
苦果之二 像外行一样实践
最初的构思往往来自于各种希望和想象,但是,将构思转换成现实还是需要丰富的知识和熟练的技术。构思再好,蹩脚的作品也不能很好地运行,因为毕竟术业有专攻。
北航的同学们采用《构建之法》所提倡的”做中学“模式上软件工程课,课程上到一半,做了项目,写了不少代码,开始读《构建之法》,对此开始有了切身体会:
读书报告]构建之法(一)
【第三章讲软件工程师的成长,我想每一个学生都会很关心这个话题,我当然也不例外。这一章依然印证了职业化的突出特点是规范化。要成为一个优秀的软件工程师,很多东西不能够再用大概、差不多这种词去描述,而应该用真实记录下来的数据说话。而真实的项目是能力提升的必由之路。】
说到用真实记录下来的数据说话,我印象更是深刻。11月底,我在北航听了一堂软件工程公开课,邹老师也在下面听课,同学在上面个介绍自己的产品将如何如何受欢迎,能够解决哪些”痛点“,邹老师则不断提问:你有什么样的数据证明你的产品受欢迎?有个小组的同学一时经不起这样的质疑,当场还脸红脖子粗抗辩。
(如图,北航同学在课上介绍自己的项目和产品,邹欣老师在台下抛出一个个问题)
《构建之法》里讲了不少“拍脑袋、拍胸脯”和“说一套做一套”的故事,这些,都是像外行一样实践的典型。
像外行一样实践之特点1:拍脑袋,走形式。
例1
例1
讲了这么些“不能这么干”的故事,那究竟怎么做,软件工程师们才称得上是“像外行一样思考,像专家一样实践”呢,构建之法 当然给出了自己的回答。因此,得到了同行们的真诚推荐:为什么他们都推荐《构建之法》
如果你正有类似的迷茫:作为一个帝都码农,现在的处境很迷茫,不知道未来在哪里,我该怎么办?
推荐阅读:
《构建之法》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
苦果之二 像外行一样实践
最初的构思往往来自于各种希望和想象,但是,将构思转换成现实还是需要丰富的知识和熟练的技术。构思再好,蹩脚的作品也不能很好地运行,因为毕竟术业有专攻。
北航的同学们采用《构建之法》所提倡的”做中学“模式上软件工程课,课程上到一半,做了项目,写了不少代码,开始读《构建之法》,对此开始有了切身体会:
读书报告]构建之法(一)
【第三章讲软件工程师的成长,我想每一个学生都会很关心这个话题,我当然也不例外。这一章依然印证了职业化的突出特点是规范化。要成为一个优秀的软件工程师,很多东西不能够再用大概、差不多这种词去描述,而应该用真实记录下来的数据说话。而真实的项目是能力提升的必由之路。】
说到用真实记录下来的数据说话,我印象更是深刻。11月底,我在北航听了一堂软件工程公开课,邹老师也在下面听课,同学在上面个介绍自己的产品将如何如何受欢迎,能够解决哪些”痛点“,邹老师则不断提问:你有什么样的数据证明你的产品受欢迎?有个小组的同学一时经不起这样的质疑,当场还脸红脖子粗抗辩。
(如图,北航同学在课上介绍自己的项目和产品,邹欣老师在台下抛出一个个问题)
《构建之法》里讲了不少“拍脑袋、拍胸脯”和“说一套做一套”的故事,这些,都是像外行一样实践的典型。
像外行一样实践之特点1:拍脑袋,走形式。
例1
例1
讲了这么些“不能这么干”的故事,那究竟怎么做,软件工程师们才称得上是“像外行一样思考,像专家一样实践”呢,构建之法 当然给出了自己的回答。因此,得到了同行们的真诚推荐:为什么他们都推荐《构建之法》
如果你正有类似的迷茫:作为一个帝都码农,现在的处境很迷茫,不知道未来在哪里,我该怎么办?
推荐阅读:
《构建之法》3.1 个人能力的衡量与发展(1)
《构建之法》3.1 个人能力的衡量与发展(2)
《构建之法》3.2 软件工程师的职业发展
《构建之法》3.3 技能的反面
如果你正在或考虑创业,推荐阅读:《构建之法》试读:17.1 猪、鸡和鹦鹉的故事
如果你有这样的烦恼:部门不做 Code Review,有什么弥补的措施?
推荐阅读:
《构建之法》 4.4 代码复审(1)
《构建之法》4.4 代码复审(2)
不过,坚持“把所有的错误记在一个“我常犯的错误”表中,作为以后自我复审的第一步。” 真不易呢,看看豆瓣读者的感叹: