码农的思维训练:超越专家
真正的发现之旅不在于追求新大陆,而在于拥有新的视野。
——马塞尔•普鲁斯特(Marcel Proust,1871.7.10—1922.11.18),法国20世纪最伟大的小说家,意识流小说的先驱与大师
那么,现在该怎么做?
有效的改变
当你决心改变时,大脑并不是一定会与我们合作。虽然你有学习的意愿,但你的大脑一直在努力保持事情精简。就像一位过度积极的管家,如果大脑认为这项改变不值得付出感情、无关生死存亡,它就会轻视,就像我们之前提到的早上开车上班的例子。因此,你必须说服你的大脑,这项改变非常重要。你必须关心这件事情。现在请你注意……
改变总是比看起来要困难得多——这是一个事实,而不仅仅是忠告。根深蒂固的老习惯在大脑中形成了一条神经高速公路,而且不会主动消失。你可以在旁边建立新的神经高速公路,走不同的路线,抄近道,但是过去的高速公路仍然存在。它们总是在那里等你回来,重新依赖它们。实践可能不会十全十美,但是却可以保持长久。
请记住老习惯依然存在,如果你又回到了以前的某个习惯,不要太责怪自己。大脑就是这样工作的。只要承认失误即可,按照新的想法继续前进。当然老习惯肯定会再次发生,但是要意识到它的出现,并重新回到正确的道路上去。不论是要改变学习习惯,戒烟还是减肥,都是一样的道理。
关于改变的话题,不论是个人的还是组织的,都非常庞大和复杂。改变虽然非常困难,但是它最终会屈服于持久的坚持。下面是一些帮助你管理有效改变的建议。
制定计划
制定一段时间的计划,然后努力实现。跟踪你的进展,当你感觉做得不够时重新审视你的成果。你可能进步得比你所想的还要远。这是一个使用外部信息处理系统的好机会:用日记、wiki或者web应用来跟踪你的进展。
“不作为”是敌人,而“错误”不是
请记住危险不在于做了错事,而在于根本没去做事情。不要害怕犯错误。
给新习惯适应的时间
在一种新行为变成习惯之前通常需要至少三周的时间,或许更长。给它足够的机会。
信念是真实的
正如我们一直所看到的,你的想法的确会改变大脑的机制和化学物质。你必须相信这种改变是可能的。如果你认为自己会失败,你的预感就会实现。
采取步步为营的细小步骤
开始时目标设低一些。当你实现时奖励自己一下,再设立下一个小步骤。一步一个脚印,脑子里记住你的最终目标,但不要试图把所有步骤都想明白。只关注下一步,一旦你到达这一步,再继续为实现下一个目标而努力。
明天上午做什么
对于新的尝试,都会有一定惯性阻碍它。如果我处于静止状态,我会倾向于保持当前状态。转向新的方向意味着我必须克服惯性的阻力。
不管你能做什么,或者期望自己能做什么,现在就开始做。勇敢可以给人智慧、力量和神奇。现在就开始做吧。
——歌德
现在就开始吧!你选择开始做什么并不特别重要,重要的是主动尝试《高效程序员的45个习惯》中提到的知识,这是你明天一大早要做的第一件事。
下面是对第一步的一些建议。
-
开始承担责任,不要害怕问“为什么”,也不要害怕问“你怎么知道的”或者“我怎么知道的”,同样要大方地回答“我目前还不知道”。
-
挑两件帮助你维持情境、免受干扰的事情,立即实施。
-
创建一个实用投资计划,设定SMART目标。
-
弄清楚你在所属专业领域中所处的位置(从新手到专家)和你期望的位置。保证诚实。你需要更多的诀窍还是更多的情境?更多规则还是更多直觉?
-
实践。某段代码遇到问题了吗?尝试用五种不同的方式编写。
-
允许犯更多错误——错误是许可的,要从中学习教训。
-
携带一个笔记本(最好不带横线)。涂鸦,做思维导图,记笔记。让你的思想自由地流动。
-
打开心扉接收美感和其他的感官输入。不论是你的房间、桌面还是代码,关注它们是多么地赏心悦目。
-
开始在私人wiki上记录你感兴趣的事情。
-
开始写博客。为你读过的书写评论 。阅读更多书,你会有更多可写的东西。使用SQ3R和思维导图。
-
让散步成为你每天生活的一部分。
-
启动一个读书小组。
-
再拿一个显示器,开始使用虚拟桌面。
我只是蜻蜓点水似地介绍了各种有趣的主题,研究人员总是在发现新事物,驳斥旧想法。如果我在这里建议的事情对你都没有用,也不必担心,继续前进。还有很多可以尝试的事情。
超越专家
最后,在我们讨论了技能并变得更加专业之后,比专家更高的境界还有什么?看似一个奇怪的循环,在你变成专家之后,你最想追求的事情是……新手的思维。
新手的大脑有很多可能性,但是专家心里只有很少。
——铃木俊隆禅师
对于专家来说最致命的弱点是像专家一样行动。一旦你相信自己的专业水平,你就会对其他的可能性视而不见。你停止了好奇心。你可能开始抵制所属领域的改变,担心在你花费了很多努力才得以精通的主题上失去权威。你自己的判断和看法不再支持你,而是囚禁你。
这些年来我看到很多这样的例子。人们在某些语言上投入很大,比如Java或者C++(C语言程序员一直固守阵地)。他们取得了认证,并且背诵了摞起来四五米厚的有关API和工具的书籍。然后,一些新的编程语言出现,让他们写更简洁、更直观的代码,更彻底的测试,更容易实现的并发,等等。但是他们完全拒绝这些新语言。他们会花费更多精力来讽刺新语言而不是严肃地评估对它们的需求。
这不是你想成为的那种专家。
相反,要总是保持一个新手的头脑。你需要像小孩一样拥有无穷的好奇心,充满问题和惊讶。可能这种新编程语言真的很酷。或者另一种更新的语言是这样。或许我可以从这门新的面向对象的操作系统中学到知识,即使我从未准备用它。
处理学习方面的事情,不要先入为主,不要存在事先的判断或者固定的看法。要像小孩子一样看待事物的真实面貌。
哇,这很酷。我想知道它到底是怎么工作的?它是什么?
意识到你对新技术、新想法或者其他你不知道的事物的反应。自我意识是成为专家的关键——但是如果过度了,就会陷入“老习惯”问题。
认识你自己,认识当前时刻,认识你所处的情境。我认为失败的最大原因就是我们往往让事情自由发展。除非我们意识到一些新的属性,否则我们就会过时了。达芬奇在600年前抱怨说:“人们看却没有看见,听却没有听见,吃却没有味觉,接触却没有触觉,说话却没有思考。”我们一直在这样做:我们嘲笑快餐却并没有认真品尝它,我们听用户或者赞助商告诉我们他们在产品中到底想要什么,但是我们没有听到。我们看却没有看见。我们以为我们已经知道了。
认识你自己,认识当前时刻,认识你所处的情境。Be aware.
在小说《戴珍珠耳环的少女》(The Girl with the Pearl Earring)中,作者描写了一个画家维梅尔,还有他的女佣启发他画出了最有名的一部作品的故事。故事中,维梅尔准备教女孩画画。他让女孩描述一位年轻姑娘的穿着。女孩回答说是黄色的。维梅尔假装很惊讶:是真的吗?女孩又看了一遍,更仔细一点,然后说,有一些褐色的斑点。这就是你看到的全部吗?维梅尔问道。现在女孩更加仔细地研究。不,她说,它有绿色和褐色的斑点,边缘有一点银色,衣服下方有一点黑色斑点,衣服的褶皱处有一些暗黄色斑点,等等。
当女孩第一次看衣服时,只是简单地说“黄色”。维梅尔鼓励女孩像他一样看待世界:充满了复杂和丰富的细节。这是我们都在面对的挑战——完全看清世界,不断看清世界,和我们自己。
自由的代价是永远提高警惕。
——约翰•菲尔波特•柯伦的名言,1790年
永远提高警惕不仅是自由的代价,也是意识的代价。一旦你启动自动驾驶,你就不会转向了。或许在长途笔直的高速公路上是可以的,但是生活往往类似于通往夏威夷毛伊岛哈纳的弯曲、狭窄的道路。你需要不断重新评估你自己和你的条件,否则习惯和过去的智慧会让你看不到眼前的现实。
诀窍
抓住方向盘,你不能自动驾驶。
大胆前进并且抓住方向盘。你有所需的一切:和爱因斯坦、杰斐逊、庞加莱或者莎士比亚一样的大脑。相比历史上的任何时刻,你随处可得更多的事实、想象和观点。
祝你好运,请让我知道你的进展。
作者介绍
Andy Hunt,敏捷开发权威人士,敏捷宣言首倡者之一,著名IT图书出版Pragmatic Programmers创始人。他还与人合著有多本获奖图书,深受读者欢迎,包括《高效程序员的45个习惯——敏捷开发修炼之道》、《程序员修炼之道》等。