我上中学的时候是个挺不讨人喜欢的孩子,物理老师问,小红步行1米/秒,小明骑自行车3米/秒,小红先出发30分钟后小明开始骑车追,请问多久能追上?我说这得看小红肯不肯接受小明,老师说你他妈给我出去站着。(情节虚构雷同必究)
我很委屈,我这一生都不需要计算以恒定速度追逐小红所要花费的时间,为什么还要学习这些无聊的物理课程?
后来要上大学了,面对琳琅满目的专业,大家都不免为自己捏一把汗——如果选了通信专业,就无法成为一个考古学家;选了金融专业,就无法成为一个工程师;而如果选了临床医学,可能都很难保证自己能活到退休。人生的可能性似乎在这次选择后骤然减少。
然而我们战战兢兢填写志愿时所不知道的是,不论选择什么专业,我们其实都能学到同一种技能——解决问题的技能。区别在于,基于不同的专业知识,我们会把这种技能应用在不同领域中。
《咨询的奥秘》就是一本关于「解决问题」的书。
作者温伯格是一名经验丰富的咨询顾问,他把这本书写得非常随意,也非常有趣。他信手堆出各种「定律」,还穿插着各种段子和包袱。比他那些麦肯锡的日本同行写的东西轻松许多,也完全不同于他其他著作的行文风格。
我在刚毕业时读过这本书的上一个版本,那个版本翻译的烂爆了,读起来让人浑身别扭。值得欣慰的是,过了这么多年,终于有人把这本书重新翻译制作出版了……这个版本虽不能算翻译得出神入化,但至少可以一读了(注1)。
在跟大家分享我的收获之前,我想给大家一个小小的阅读建议:书中最有价值的东西隐藏在字里行间中,而非那些作者总结出的「定律」里面,定律只是「线索」,如果你过于关注那些定律,可能会忽略更有意思的部分…
这本书给我的最大启发是关于解决问题的态度的,温伯格说:「你要是在意功劳记在谁头上,那就啥事也干不成了」,我想把它引申一下 :「你要是在意自己的输赢,那就啥事也干不成了」。
想赢是人之常情,但如果这成了一个人做事的目的就非常危险了。这会让你被蒙蔽,从而忘记了事情的初衷。本来你跑出去是抓贼的,结果心里憋着一股劲一定要赢,终于经过不懈努力兴高采烈地把小偷甩在了身后。
听起来荒唐,但这种事情其实屡见不鲜,我就在电影院见过情侣为选什么片子闹别扭的,好像谁输了就多没面子了似的,其实跟选什么片子已经完全没关系了,双方都瞪着「别想赢我」的血红的大眼睛。
所有过后想想觉得后悔的爆发,其实都是被输赢冲昏了头脑的不理智。你可以试着回忆一下自己最近一次大动肝火,看看究竟是为了赢,还是为了解决问题?
第二个启发是关于看待事物的方法,作者提醒我们不要随意把事物或观点标签化。贴标签太容易让人上瘾了,我们很容易给看见的东西加上一个标签并以此行事,好像这个标签就是真实而完整的表述了。
温伯格说「真正的专家可以在一个情况中看到许多方面,而新手只能看到一个标签。所以新手容易脸谱化、偏激,专家看问题则会整体一些」。
比如,在其他行业的人们眼里,「搞IT的」便是一个标签(我因为被贴上了「搞IT的」这个标签已经修了无数个电脑了,唉)。在他们的眼中会把所有搞IT的一元化,脸谱化,甚至看到你早晨出门洗头了都会惊奇万分,说啊卧槽我以为你们搞IT的都不修边幅呢。
任何标签都不是事物本身,我们应该跳出标签思维。作者让我们借鉴「爱斯基摩人视角」来看待事物——爱斯基摩人描述「雪」的词有好几十个,而且他们真的能看到好几十种不同的雪,但在我们的眼中,只有一种,称为「雪」。
当我们意识到自己可能又陷入标签化时,试着用不同的说法去区分同一个标签。比如「搞IT的」这类人里面,有可能有「Java程序员」「数据库管理员」「系统管理员」「Web产品经理」等等。
这能帮助你看到栩栩如生的真实世界,而不是充满标签和归类的抽象平面。
今天想分享的最后一个启发,是关于做事态度的,我们应该如何投入到工作中去呢?这里有一个全书中我最喜欢的段子,花一点篇幅摘抄给大家:
在达沃斯参加一次计算机会议的时候,我听到了专家委员会的三位教授就计算机科学的教育问题所进行的争论。在描述了三种不同的课程安排后,他们要请在座的听众提问。有人问道:「你怎么衡量课程的效果?」
他们没有给出回答,而是在那里不停地清嗓子,哼哼唧唧、支支吾吾。听众在座位上躁动起来,周遭充斥着关于大学无用和教授智力水平的评论。最后,台上的一位教授请听众提出自己的考量方法。看到似乎没有人愿意冒这个险,我接受了这个挑战。
「比方说,」我说,「这次会议结束了,大家得坐火车到苏黎世再飞回家。你上了飞机,舱门关了,然后你听到喇叭里用合成的声音说了这么一段话」
「乘客们:今天,你们见证了一个历史性的时刻——首次全自动商业飞行。从这一刻起,直到您到达目的地的登机口,这架飞机将完全处于电脑控制之下。没有真人飞行员或副驾驶。但您完全无需担心自己的安全。控制飞机的程序已经通过了X大学的计算机科学博士论文评审。祝您旅途愉快!」
「对教学的真正测试,」我继续说,「就是你这一刻的感受。」
哈哈,在这里,温伯格给出的测试标准就是 :「你愿意把自己的生命托付给你的工作成果吗?」
如果「生命」有些过于严肃,他还给出了几个弱一些的版本,比如「你愿意押上你的右胳膊吗?」、「你愿意押上一生的积蓄吗?」或「你愿意押上自己的十块钱吗?」
他曾经试着用十块钱这个赌注去测试过几百个宣称自己的代码毫无缺陷的程序员,他说:「一百个程序员中,九十五个都退缩了,拒绝押上十块钱来赌我在合理的时间内找不出一个缺陷。一百次中的另外五次,我都赢了十块钱。」
我觉得这是一个评估工作态度最公正的方法,自从我学会了这个方法,每当觉得自己的工作还凑合的时候,我都会用它来检验自己,看看自己究竟是在夸夸其谈自欺欺人,还是真的已经尽了全力。
如果是你,你愿意为自己的工作成果,押上十块钱吗?
相关推荐
算法心得:高效算法的奥秘是计算机科学中的一种重要技术,指的是能够在有限时间内解决大规模、复杂问题的算法。这类算法具有简单性、通用性、并行性和鲁棒性等特点,能够大大提高计算效率和精度,降低计算成本。 ...
问题式教学是一种以问题为核心,以学生为主体的教学方法。它强调的是教师如何通过问题来引导学生进行自主学习、探究学习,以培养学生解决问题的能力和创新精神。问题式教学的应用,特别在通用技术课程中,不仅促进了...
同时,培养一种跨领域的思维能力,能够从不同的角度看待问题,是解决问题的关键。这种思维方式的培养,可以通过阅读专业书籍、参与项目实战、参加技术社区讨论等多种途径实现。 ### 第三奥秘:坚持不懈的学习态度 ...
算法是解决问题的步骤或方法,排序算法(如冒泡排序、快速排序)、查找算法(如二分查找)和图遍历算法(如深度优先搜索、广度优先搜索)都是常见的例子。 软件开发流程通常包括需求分析、设计、编码、测试和维护等...
PCAP(Packet Capture)文件是一种数据包捕获格式,广泛被网络分析工具如Wireshark所使用。这种文件能够保存网络接口上的原始数据包,包括包头信息和数据负载,使得分析人员可以查看网络通信的细节。PCAP文件中的...
1. **7z文件格式**: 7z是一种高压缩率的文件格式,由7-Zip软件创建。它能提供比ZIP和RAR更高的压缩比率,通常用于存储大量数据或源代码。解压7z文件需要7-Zip软件或其他支持7z格式的工具,如WinRAR或WinZip。 2. **...
C++是一种通用的、面向对象的编程语言,它继承了C语言的强大功能,并加入了类、模板等面向对象特性。C++的性能优异,是许多系统软件、游戏和高性能计算应用的首选语言。在这个源代码中,我们可以看到C++如何用来创建...
虽然对于某些特定的角度,如90°和180°,三等分是容易的,但是否存在一种通用方法对任意角进行三等分呢?如果能将60°角三等分,就能构造出20°角,进一步可以做出正18边形和正9边形。然而,旺策尔在1837年的证明...
3. **环保行动**:除了过上低碳生活,减少温室气体排放之外,我们还可以通过种植树木来吸收二氧化碳,这是一种积极的碳补偿行为,有助于改善环境。 4. **森林的作用**:森林在生态建设中扮演着关键角色,它们不仅有...
例如,vector是一种动态数组,提供了高效随机访问,但插入和删除操作在中间位置时效率较低;list则是一个双向链表,插入和删除操作快速,但随机访问性能较差。了解这些容器的内部结构和特性,有助于选择最合适的容器...
C++是一种强大的、通用的编程语言,以其面向对象特性、高效性能和丰富的库支持而闻名。...通过阅读这本书,开发者不仅能学习到C++语言本身,还能理解其背后的编程哲学,从而提升编程技能和解决问题的能力。
总的来说,《C_C++ 深层探索》将涵盖从C语言的基础到C++的高级特性的全面内容,让读者能够深入理解这两种语言的本质,提升编程技能,为解决实际问题和开发复杂系统打下坚实基础。学习这个主题需要耐心和实践,只有...
USB是一种通用接口,允许各种设备(包括U盘)轻松连接到计算机。U盘,或称USB闪存驱动器,是一种便携式存储设备,通过USB接口与电脑交换数据。Linux内核有内置的USB存储驱动,使得可以无缝地挂载和访问U盘。 通过对...
C++是一种通用的、面向对象的编程语言,它的强大性能和灵活性使得它成为进行复杂算法实现的理想选择。通过编写C++程序,学生可以深入了解费诺编码的内部工作机制,包括编码构造、编码映射、编码解码过程等。 具体...
C语言是一种强大的、通用的编程语言,被广泛用于系统编程、软件开发、嵌入式系统以及各种应用程序。它以其简洁的语法和高效的执行而闻名,是许多程序员学习编程的起点。"必须知道的495个C语言问题"很可能是包含一...
敢于提出问题,勇于尝试解决问题;参加科技创新活动,锻炼动手能力。 3. 尊重他人:倾听他人的观点,不轻易打断;对待他人友善礼貌,不歧视和侮辱;尊重他人的隐私和个人空间;理解并接纳他人与自己的差异。 4. 化解...
Sister Mary Celine Fasenmyer提出了一种通用的方法,可以用来解决特定类型的线性递归方程。这种方法后来被称为Sister Celine’s Method。它提供了一种系统的方法来寻找给定递归关系的闭合形式解。 #### 2. Gosper...
通过实际操作,学生能加深对硬件和软件交互的理解,提升解决问题的能力。 总的来说,设计模拟时钟是一项挑战性的任务,它融合了硬件原理、软件编程和实际应用。通过ASM实现的模拟时钟,不仅展示了编程的灵活性,也...