上一篇文章《少年編程天才之死》裡,我介紹了 Aaron Swartz 的故事。限於篇幅,還有很多沒寫。
Swartz 是一個高效高產的人,他身兼數職。在 2012 年的時候,他是線上組織「求進會」的聯合創始人,是哈佛大學的研究員,給 The Baffler 雜誌供稿(文章還入選最佳技術文章),還在諮詢公司 ThoughtWorks 帶項目。他還每年閱讀近 100 本書。
他是怎麼做到如此高效的呢?他的學習、思維方式是怎樣的?他自己也寫過不少心得文章,我們來看看。
如何學習
在紀錄片《網際網路之子》中,Swartz 的弟弟就說他很小的時候就知道怎麼學習了。在紀錄片中我們也看到,小小的他從學校學到東西就迫不及待地教給弟弟們。
教給別人更有助於知識的掌握,而他從小就有這樣的習慣。
在中學時的博客中,他提到自己的學習習慣是:
當有人教我什麼時,我不會把所教的內容當成事實接受。我會需要了解來龍去脈( the whole picture )。這麼做強迫我自己批判地看待教給我的東西,而有時我發現老師教的是錯的。在其他同學還在忙著完成老師布置的任務,他就已經自己摸索出各個學科的學習方法。他看到學校教學的種種弊端,和校長討論教育改革,並在無法最終實施後輟學。
我找遍了他的博客,沒有發現如何學習的方法介紹,倒是有一篇講他如何面試程式設計師、如何判斷他們是否聰明的文章挺有意思。
在這篇《我如何僱傭程式設計師》(How I Hire Programmers)的文章中,他指出了傳統面試方法的弊端:
我覺得這個方式很可怕。從簡歷上你了解的很少。面試時問一些難題,對方會很緊張。編程不是一個典型的需要在壓力下完成的工作。因此觀察人們在壓力下的表現是沒用的。而經典的面試題通常很殘酷。我自認為是個優秀的程式設計師,但我從沒有通過過那類面試。
他在面試的時候,會關注 3 個問題:
對方聰明嗎?
對方能把事情搞定嗎?
和對方工作上合得來嗎?
關於如何判斷一個人聰明,他會看3個方面:
首先,他們了解事情嗎?
問他們最近在想什麼然後深入提問。他們了解細節嗎?他們能清楚解釋嗎?(清晰的解釋是理解的標誌。)他們是否了解你不清楚的主題?他們會問你問題嗎?他們是真的感興趣還是出於禮貌?針對你說的東西,他們會繼續追問嗎?他們的問題會令你思考嗎?在你們對話的時候,你可能會解釋些東西給他們聽。他們真的能懂嗎,還是只是點頭微笑呢?有些人了解一些小的領域但對其他東西不好奇。有些人有好奇心但不會學習,他們問一堆問題但並沒真的在聽。這幾個方面可以檢驗自己在學習的時候是否真正掌握了議題。另外也確實可以在面試的時候判斷對方是否聰明。
我自己在面試的時候也會關注對方是不是有學習能力。但我通常是問他們一個擅長的領域然後問是怎麼學習的。但是這個方法不總能奏效。要麼我很難判斷所說的領域他們是否真正了解,要麼他們自己真正掌握了但沒有想過描述這個學習的過程。而 Swartz 這幾個問題提供了一個挺好的評估方式。
如何閱讀更多
Swartz 每年都會在博客上做個閱讀總結,推薦他一年中看過的好書(後面可能的話會把他的書單翻譯下~)。基本每年近 100 本。
在這麼忙的情況下,怎麼做到讀那麼多書呢?
他寫過一篇《如何閱讀更多的書》( HOWTO: Read more books ),有 4 條建議,第 1 條是「封鎖你最愛的博客網站。」
當我思考阻滯的時候,我會去開一個最愛的博客網頁。這個行為完全是自動的。結果是,我花了很多很多的時間從一篇博文看到另一篇。我想說,這算壞習慣嗎?現在的人其實連讀長文的耐心都沒有了.
為了改掉這個習慣,他的方法是:
我把我最喜歡的博客網址都重定向到一個虛假 IP。現在我一鍵入這些網址,都會出現報錯信息。對於 Hulu 和一些視頻網站我也這麼做了。真是一個狠人啊。
第二條建議是:從圖書館一次性借大量書
首先他有一段精闢的論述:大多數人認為閱讀更多的書就是花更多時間去讀它。但我發現,這其實是個結果而不是原因,就和鍛鍊一樣。 當我發現一本好書的時候我才會去讀。如果不是本好書,我就不怎麼想讀,或者讀一會就放下了。但當我發現一本好書時,我會特地抽出時間去讀。然後他表示你很難事先知道哪本書好,最好的方法就是讀讀看。所以他會每次從圖書館借一大堆書,有好的就讀,不行就退掉。
他還表示,有截止時間以及看著書堆成山會給你額外的動力閱讀。
後面兩條建議我覺得意義不大。
第3條是「遠離親近的人」。他表示和別人互動太花時間了。以及如果你有其他興趣愛好,能戒掉的話也是極好的。因為他本人除了閱讀沒有任何其他愛好。
第4條是「保持低的室溫」。為了對抗在閱讀的時候睡過去,他保持室溫偏低,因為他發現自己在低溫時不容易睡著。
真是一個狠人啊,沒有預言家要查驗一下的嗎??
就連他自己也在結尾時說,我懷疑沒什麼人能採取所有的建議,但希望對你有用哦。
如何面對壓力
在 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