《Are your lights on?》读后感
楔子(看过某类小说的孩纸对此应该不陌生...):
《你的灯亮着吗?》讲了些什么?它为我们总结了解决问题的一般方法?不,它只是建议我们遇到问题后应该怎么做(绝对不等于解决问题的方法)。这些建议或许并不能帮助我们解决问题,但肯定有助于我们分析问题。
这本书的题目来自哪里?“你的等亮着吗?”这句话本身就是一个问题的解决方案,它来自书中的一个小故事,这个故事充分表现了解决问题的艺术:
“瑞士某旅游景点入口是一段隧道,游客们驾车进入时要打开车灯(避免交通事故),出隧道后应该关掉车灯(否则车子会因为没电而无法启动...),工作人员在隧道入口挂上了提示牌,“前方进入隧道,请开灯”,因此交通事故倒是没有发生,可是问题来了:很多司机都会忘记关掉车灯,所以总有很多车子瘫痪在景区里。解决问题的办法有很多种,比如在景区里建一个充电站,或者在出口旁挂一个提示牌。毫无疑问后者更合适一些。那么应该在牌子上写些什么呢?没错,答案是“你的灯亮着吗?”而不是“请关掉车灯”(晚上不应该关掉)或者“如果现在是白天,请关掉车灯”(天色灰暗时不应该关掉)或者“如果现在是白天并且天色不是很灰暗,请关掉车灯”(...)...”
第一章:分析问题与分解问题
1.这是谁的问题?
寻找问题的顾客。即找出解决问题究竟是为了取悦谁?
2.问题是什么?
真正的问题可能隐藏在问题背后。因此,真正的问题可能很简单(例如,电梯不够用可能只是因为电梯太慢了,需要维修...)
3.当下的问题是什么?
解决问题的过程就是不断发现和解决新问题的过程。因此,当你在探求“当下的问题是什么?”时,你会陷入一个死循环(重复发现与解决的过程)。也就是说,最初的问题永远不可能被完全解决,而我们之所以解决了很多问题,是因为什么跳出了那个死循环,而循环结束的条件就是“我们(问题的解决者)感到满意,或者我们选择了放弃(放弃也是一种解决方案)”。
4.问题从哪里来?
仔细品味的话,“问题的来源”并不等于“问题的顾客”,寻找问题的来源即解决“为什么会出现这个问题?”,这一点很容易被忽视,却至关重要。因为在大多数时候,问题的根源可能是链条的上一个环节,甚至是另一段链条上的某个环节,而不是最直观的当前环节。(例如签证问题的来源并不是签证本身,如果找不到问题的根源就很难找到最轻松的解决方案)。
第二章:解决问题的原则
1.能解决问题的方法就是好方法(寻求最优解的过程必须适可而止,因为永远没有最优解)
2.当别人能很好地解决问题时,千万不要越俎代庖,可能会因为立场的不同而适得其反
3.在没有找到问题的根源之前,任何所谓的“解决方案”都只是暂时性的,因为你总是在和问题兜圈子
4.解决问的关键或许只是某个小细节(换一个微笑,换一种措施,换一种态度,如下图:)
5.并不存在解决问题的一般方法,因为问题本身是多变而负责的,不会有那么一把万能钥匙...
6.对一个问题苦恼很久时,你有两个选择,要么换一个角度去看待它,要么放弃(只有放弃才能快速跳出当前循环,开始下一个循环)
7.陷入当前问题的时候,不妨回头时不时地看看,你会发现可能并不需要解决当前问题,或者有另一种更轻松的解法...
第三章:其实,我们并不想解决问题
这样说可能有些矛盾,我们举个例子。解决问题就像去读一本小说,在读的过程中热切盼望快点读完,而在真正读完后又有些怅然若失,我们所真正享受的是解决问题的过程,而不是问题的答案本身。虽然我们总是不得不承认没日没夜地想要解决问题时的苦恼,但在回头看时,吸引我们目光的却总是那些泥泞的路。
《Are your lights on?》读后感的更多相关文章
- 《DevOps软件架构师行动指南》读后感
从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维.部署流水线.监控.安全与审计以及质量关注,这是本书一开始内容简介的开头,本书的作者是伦恩·拜斯(Len Bass).英戈·韦伯 ...
- nodejs开发指南读后感
nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...
- DevOps:软件架构师行动指南(文摘)
第一部分 背景 第1章 DevOps是什么 第二部分 部署流水线 第三部分 横切关注点 第四部分 案例研究 第五部分 走向未来
- 2020年DevOps工程师入门指南
DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...
- 5月29日 Java性能调优指南 读后感
并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习
- 敏捷开发、DevOps相关书籍——书单
自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...
- 有奖试读—Windows PowerShell实战指南(第2版)
为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...
- [转载]你所不了解的DevOps
DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
随机推荐
- 关于jni调用报UnsatisfiedLinkError的可能
一.说明 最近在做一个项目,需要使用java去调本地动态连接库,之前做测试的时候直接用pojo进行测试,是能够正常调用的.后面项目需要将接口封装为REST api,所以在spring boot上面开发 ...
- 《计算机网络》谢希仁(第7版) 第四章 c语言http://c.biancheng.net/cpp/html/3137.html
第四章 网络层 电信网使用面向连接的通信方式,使电信网络能够向用户提供可靠传输的服务. 互联网设计思路:网络层向上只提供简单灵活的.无连接的.尽最大努力交付的数据报(分组)服务. 网络层不提供可靠传输 ...
- 为什么二代测序的原始数据中会出现Read重复现象?
为什么二代测序的原始数据中会出现Read重复现象? 要搞清楚这个read重复(duplicate)的问题,我想我们需要从NGS数据的产出过程说起,具体来说如下: 基因组DNA提取: DNA随机打断,最 ...
- Codeforces 689B. Mike and Shortcuts SPFA/搜索
B. Mike and Shortcuts time limit per test: 3 seconds memory limit per test: 256 megabytes input: sta ...
- axios 设置拦截器 全局设置带默认参数(发送 token 等)
应用场景: 1,每个请求都带上的参数,比如token,时间戳等. 2,对返回的状态进行判断,比如token是否过期 代码如下: [javascript] view plain copy axios.i ...
- OSGi 系列(十八)之 基于注解的 Blueprint
OSGi 系列(十八)之 基于注解的 Blueprint 1. 注解实现 blueprint 第一步:bundle 添加 Bundle-Blueprint-Annotation <plugin& ...
- 使用JMX监控Storm的nimbus、supervisor、woker
可以通过在storm.yaml中增加如下样例的配置, 启动JMX来监控storm的各个角色. 其中对于Worker的监控,因为一个节点上可以有多个work,为了防止端口号重复导致启动失败,所以用动态代 ...
- C++ 面向对象基本释义
public:子类继承,子类亦可以访问.本类函数可以访问,本类对象可以访问. private:子类继承,子类不可访问.本类(所有)函数以及友员函数可以访问,本类对象不可以访问. protect:子类继 ...
- Devexpress VCL Build v2013 vol 13.2.4 发布
不说了,自己看吧. What's New in 13.2.4 (VCL Product Line) New Major Features in 13.2 What's New in VCL Pro ...
- 2018.10.19 NOIP训练 桌子(快速幂优化dp)
传送门 勉强算一道dp好题. 显然第kkk列和第k+nk+nk+n列放的棋子数是相同的. 因此只需要统计出前nnn列的选法数. 对于前mmm%nnn列,一共有(m−1)/n+1(m-1)/n+1(m− ...