少年天才 Aaron Swartz 的思维方式

table of contents
    上一篇文章《少年编程天才之死》里,我介绍了 Aaron Swartz 的故事。限于篇幅,还有很多没写。

    Swartz 是一个高效高产的人,他身兼数职。在 2012 年的时候,他是线上组织“求进会”的联合创始人,是哈佛大学的研究员,给 The Baffler 杂志供稿(文章还入选最佳技术文章),还在咨询公司 ThoughtWorks  带项目。他还每年阅读近 100 本书。

    他是怎么做到如此高效的呢?他的学习、思维方式是怎样的?他自己也写过不少心得文章,我们来看看。

    01

    如何学习

    在纪录片《互联网之子》中,Swartz 的弟弟就说他很小的时候就知道怎么学习了。在纪录片中我们也看到,小小的他从学校学到东西就迫不及待地教给弟弟们。

    图片

    教给别人更有助于知识的掌握,而他从小就有这样的习惯。

    在中学时的博客中,他提到自己的学习习惯是:

    当有人教我什么时,我不会把所教的内容当成事实接受。我会需要了解来龙去脉( the whole picture )。这么做强迫我自己批判地看待教给我的东西,而有时我发现老师教的是错的。
    在其他同学还在忙着完成老师布置的任务,他就已经自己摸索出各个学科的学习方法。他看到学校教学的种种弊端,和校长讨论教育改革,并在无法最终实施后辍学。

    我找遍了他的博客,没有发现如何学习的方法介绍,倒是有一篇讲他如何面试程序员、如何判断他们是否聪明的文章挺有意思。

    在这篇《我如何雇佣程序员》(How I Hire Programmers)的文章中,他指出了传统面试方法的弊端:

    传统面试程序包括:
    1)看简历 
    2)电话面试,问些难题 
    3)面试,给一些编程问题
    我觉得这个方式很可怕。从简历上你了解的很少。面试时问一些难题,对方会很紧张。编程不是一个典型的需要在压力下完成的工作。因此观察人们在压力下的表现是没用的。而经典的面试题通常很残酷。我自认为是个优秀的程序员,但我从没有通过过那类面试。

    他在面试的时候,会关注 3 个问题:

    • 对方聪明吗?
    • 对方能把事情搞定吗?
    • 和对方工作上合得来吗?

    关于如何判断一个人聪明,他会看3个方面:

    首先,他们了解事情吗?

    问他们最近在想什么然后深入提问。他们了解细节吗?他们能清楚解释吗?(清晰的解释是理解的标志。)他们是否了解你不清楚的主题?
    其次,他们有好奇心吗?
    他们会问你问题吗?他们是真的感兴趣还是出于礼貌?针对你说的东西,他们会继续追问吗?他们的问题会令你思考吗?
    第三,他们会学习吗?
    在你们对话的时候,你可能会解释些东西给他们听。他们真的能懂吗,还是只是点头微笑呢?有些人了解一些小的领域但对其他东西不好奇。有些人有好奇心但不会学习,他们问一堆问题但并没真的在听。
    这几个方面可以检验自己在学习的时候是否真正掌握了议题。另外也确实可以在面试的时候判断对方是否聪明。

    我自己在面试的时候也会关注对方是不是有学习能力。但我通常是问他们一个擅长的领域然后问是怎么学习的。但是这个方法不总能奏效。要么我很难判断所说的领域他们是否真正了解,要么他们自己真正掌握了但没有想过描述这个学习的过程。而 Swartz 这几个问题提供了一个挺好的评估方式。

    02

    如何阅读更多

    Swartz 每年都会在博客上做个阅读总结,推荐他一年中看过的好书(后面可能的话会把他的书单翻译下~)。基本每年近 100 本。

    在这么忙的情况下,怎么做到读那么多书呢?

    他写过一篇《如何阅读更多的书》( HOWTO: Read more books ),有 4 条建议,第 1 条是“封锁你最爱的博客网站。”

    当我思考阻滞的时候,我会去开一个最爱的博客网页。这个行为完全是自动的。结果是,我花了很多很多的时间从一篇博文看到另一篇。
    我想说,这算坏习惯吗?现在的人其实连读长文的耐心都没有了......

    为了改掉这个习惯,他的方法是:

    我把我最喜欢的博客网址都重定向到一个虚假 IP。现在我一键入这些网址,都会出现报错信息。对于 Hulu 和一些视频网站我也这么做了。
    真是一个狠人啊。

    第二条建议是:从图书馆一次性借大量书

    首先他有一段精辟的论述:

    大多数人认为阅读更多的书就是花更多时间去读它。但我发现,这其实是个结果而不是原因,就和锻炼一样。 
    当我发现一本好书的时候我才会去读。如果不是本好书,我就不怎么想读,或者读一会就放下了。但当我发现一本好书时,我会特地抽出时间去读。
    然后他表示你很难事先知道哪本书好,最好的方法就是读读看。所以他会每次从图书馆借一大堆书,有好的就读,不行就退掉。

    他还表示,有截止时间以及看着书堆成山会给你额外的动力阅读。

    后面两条建议我觉得意义不大。

    第3条是“远离亲近的人”。他表示和别人互动太花时间了。以及如果你有其他兴趣爱好,能戒掉的话也是极好的。因为他本人除了阅读没有任何其他爱好。

    第4条是“保持低的室温”。为了对抗在阅读的时候睡过去,他保持室温偏低,因为他发现自己在低温时不容易睡着。

    真是一个狠人啊,没有预言家要查验一下的吗??

    就连他自己也在结尾时说,我怀疑没什么人能采取所有的建议,但希望对你有用哦。

    03

    如何面对压力

    在 2012 年,Swartz 的官司一边进行的时候,他写了一个系列文章,总结了一些人生和成长的经验。

    其中有一些在当时应该挺不错的,但现在看大家都比较熟悉了。例如成长型心智。另外一些个人觉得比较鸡汤,例如珍视错误、客观认识自己等等。

    但是这篇《靠近痛苦》(Lean into the pain)觉得挺不错的,可以当作如何应对压力的方法。

    他先以健身举例:

    当你第一次开始健身的时候,它总是痛苦的。不是像触摸滚烫炉子的那种很强烈的痛苦,但足以让你退缩,如果你一点苦也不想吃的话。但当你坚持健身,.... 那么你会更痛苦。
    虽然痛苦但你会坚持,因为你知道它让你更强壮。

    然后他表示,心理上的痛苦也是一样的:

    大多数人把心理上的痛苦当作是滚烫的炉子 —— 一想起一些令他们害怕的或是有压力的事情,他们会停止去想,转移到其他事情。
    那怎么办呢?他以令人头秃的合并代码为例:
    想象下  Jane 和 Joan 是一个项目的两个工程师。……  Jane 在让报错提示更友好些而 Joan 在加新功能。他们各自码代码码了好几天。现在面临一个问题:他们要把代码合起来。
    也许你有过类似的麻烦,可能是代码也可能是文档:例如你把一份报告寄给两个朋友,每人都提出了一些修改,而你需要把每人改过的整合到一个文件上。这很烦,而编程就更烦了。所以人们开始拖延。
    Jane 想着“我再把感谢的提示做得更友好点吧。” Joan 想着“我再加点新功能吧。” 他们把合代码的事情一拖再拖。而合代码的工程就变得更大和更痛苦。
    然后他提出了敏捷项目的解决方式:
    敏捷的方式,正好相反:合并代码很痛苦,因此我们就要更频繁做。不是每隔几周或每隔几个月合一次,而是每天、每隔几个小时合一次。
    ……
    拖延、推迟直到你别无选择的时候,你用手去摸一个滚烫的炉子,摸 1 个小时你会很痛。而如果你每次都碰一下,累计到 1 个小时,就没那么糟糕了。
    健身和烫炉的例子都很形象。健身的痛苦我们可以忍耐,但是心理上的痛苦和压力来临时,要不是受住了,要不是逃开,总是很难有“锻炼”的意识。而抗压能力,其实也可以小步频繁迭代呢。

    题图和正文图片来自纪录片《互联网之子》。

    参考资料
    1. 纪录片《互联网之子》.
    2. Aaron Swartz.
    https://web.archive.org/web/20030419055927/http://www.aaronsw.com/school/2000/09/24/
    4. Aaron Swartz’s blog.How I Hire Programmers
    5. Aaron Swartz’s blog.HOWTO: Read more books
    6. Aaron Swartz’s blog.Lean into the pain

    声明:本站文章内容最新发布文章多为原创,同时转载了不少知乎和公众号多年之前就已经发布过的比较好的文章。保存文章的目的是为了提高自己的水平,同时可以看看各位当年的大佬对未来预测是否靠谱,另外也是为了自己查找回顾方便。转载文章每篇都亲自阅读,并且做了整理和修改,删除了一些招生或者培训信息,每篇文章尽量保留原作者信息和意图。