當「猝死」、「跳樓」、「34 歲」、「被離職」這些關鍵詞扎堆而起時,程序員們知道,媒體們又在炒做一個名叫「中年危機」的名詞了。這個世界到底是對中年人不夠友好,仍是對不優秀的人不友好?亦或是對不優秀還不努力的人不友好?程序員
不少問題,想不通頭疼,想通了心疼。若是你只是一介布衣,又剛好在競爭激烈的互聯網行業裏討生活,也許你的核心競爭力就是你的學習能力,而這是能支持你可持續發展的根本。問題的關鍵是,你知道如何更高效地學習嗎?編程
寫在前面markdown
「他忘記的比你知道的還要多?」,那我的指的就是我。我成爲一名開發者已經三十多年了,忘記過很多知識。但問題是:我如今知道的,或者說,我記得的,和千禧一代的人【譯註 1】或者 Gen X 一代的人【譯註 2】同樣多麼?個人知識量真的比得上別人麼?在與這些更年輕更聰明的天生適合作技術的人競爭時,我作對了許多事情。其中我作的最好的一件事情可能就是持續學習。可是我如今須要作的更好一些。我須要中止忘記學到的知識,不管是已經學會好久的,仍是剛剛學會的。網絡
這就有了更多疑問:Dreyfus 的技能獲取模型分 5 個級別:新手、高級新手、勝任者、精通者和專家。大多數開發人員在職業生涯的大部分時期都停留在高級新手的階段。我已經在個人職業生涯中完成了足夠多的工做,能夠證實我至少是一名勝任者。可是我須要作些什麼才能成爲精通者和專家?編程技能水平上詳細寫到「編程人員的 7 個等級:碼農、程序員、計算機科學家、開發人員、工程師、架構師。」架構
我在職業生涯的大部分階段一直都使用相同的方法來學習。可是,因爲我再有幾年就 60 歲了並且立刻會和 GenZ 一代的人【譯註 3】競爭,因此我一直嚴肅對待本身的學習策略。爲此,我閱讀了許多關於學習的書、博客和文章。本文詳細介紹了我在學習方面從新制定的策略。app
我將本身重建的學習策略分紅三個方面:ssh
學習隊列的管理ide
主動閱讀與傾聽工具
編排目錄學習
學習隊列的管理
直到最近,個人學習隊列是我辦公室桌上的一堆圖書、我 Kindle 上展開的清單以及大量倉促地標爲書籤的博客帖子。我過去一直用後進先出(LIFO)的方法來清理學習隊列。這在過去是一種很好用的方法。可是,我須要,或許你也須要,主動地管理學習隊列。不要把這個隊列想像成一個挨一個排隊那樣的情形,例如銀行排號、火車站排隊買票或者交管所排隊搖號。而應該把它想象成,在一個 Studio 54【譯註 4】那樣獨一無二的夜總會裏,有一個渾身肌肉的門童,而文章、博客帖子和圖書就像但願進入夜總會的客人同樣站成一排。這個門童眯着眼睛,跳過前面幾個,而後挑出看起來有趣的傢伙。隨後,爲了清理隊列,他指向幾個索然無味的傢伙,說「夥計們,揍扁它。」畢竟,那個隊列表明瞭你未來的知識,你應該主動地管理這個隊列。
圖書
圖書方面,我下降了本身看書的存量,平均每次只看三本不一樣類型的書。我會將那三本書放到個人桌子上(或者 Kindle 主頁),把其它的書放到書架上。我想,你鍾愛的閱讀設備必定有一個文件夾管理工具(在 Kindle 上叫作 collections)。所以,我建議你將你的索引庫放到相似 collections 之類的工具裏,而後將一些最近要看的書放到主頁。我目前喜歡三種不一樣類型的書,例如:一本是關於 Ruby 的,一本是關於 JavaScript 的,以及一本是相似《The Passionate Programmer》的關於學習動力話題的。當我一有空讀書的時候,我就會挑選其中一本做爲我當前的精神食糧。
博客帖子和文章
事實上,我如今不過重視圖書了。我過去的學習方式是在互聯網時代以前造成的,因爲這種學習方式,在一二十年裏,我幾乎忽略了博客帖子和網絡文章。固然,我會用衆所周知的 Google IDE 來獲取即時解決方案,可是我從圖書中獲取大部分新的知識。這可能與大家認爲的我不太同樣,在大家看來,我過去一直爲技術網站付費寫一些文章而且在 2007 年就建立了本身的博客。我從過去那種老舊的學習方式醒悟過來是當我意識到:
我從事的技術進步得如此之快,以致於圖書中沒有我所須要的信息;
我常用的技術太專業了而沒有一本權威的圖書;
個人千禧一代的同事從博客中以更少的時間學到了更多的知識。
可是我應該讀哪些博客呢?它們應該怎麼來篩選呢?個人解決方案是訂閱一些電子郵件形式的時訊週刊或者月刊,它們會列舉一些文章和博客推薦。我也開始主動關注或者被動接收來自我加入的各類 Slack 頻道的其它開發人員的推薦。我還使用一些像 dev.to 和 medium.com 之類的網站,這些網站上面有許多被大量讀者評價過的文章。
過去,我會把文章連接列表放到個人郵箱裏。當從同一個信息源發來的後續郵件堆起來的時候,我會將最近收藏的文章先閱讀掉,而後,刪除這些讀過的郵件。有一個同事向我推薦 getpocket.com。Getpocket(以及相似的網站,例如 instapaper.com 和 flipboard.com)容許你將一篇文章或 Youtube 視頻快速添加到你本身的私人索引中。
如今,當我收到一封郵件列表,我會訪問每篇文章連接,若是哪一篇文章的描述吸引了我,或者大約 20 秒的一瞥以爲它值得一讀,我就會將它加到 Getpoket 上。所以,幾分鐘時間,我就能夠刪除這些郵件。如今,在健身房的訓練間歇時間或者工做任務的間隔時間,我會坐下來閱讀,在個人 iPhone、Kindle Fire 或者 iPad 上訪問 Getpocket,而後閱讀一篇博客或者觀看一段視頻。每當我讀完一篇文章,我會管理學習隊列,將這篇讀過的文章從隊列中移除。
閱讀習慣
我喜歡讀書。我年輕的時候,在整個夏天,我天天都會閱讀一本小說。在我開始個人技術職業生涯後,我也一樣如飢似渴地一本又一本地閱讀技術圖書。我閱讀的其中一個習慣是,首次打開一本技術圖書時至少閱讀 100 頁。我不會打開一本書,除非我準備好快速讀完它。可是,這 35 年來,我這麼作都是錯的。我學到了不少知識,可是沒有記住它們,而我原本應該是能夠記住這些知識的。
如何閱讀技術資料
你曾經和一些看起來過目不忘的人一塊兒工做過麼?你和他們閱讀相同的書籍,但他們可以在結對會議中脫口而出那些書中的技術。他們好像有過目不忘的能力,在任何方面都比你更聰明。但很抱歉告訴你,過目不忘很大程度上是一個神話。惟一不一樣的是,那些天才進行主動閱讀(或者主動聽講,以教學或研討會形式的聽講。)相反地,個人閱讀方式一直都是錯的。我過去一直都只是看過了那些書,可是大部分時候,我是一邊記一邊忘,並且可能忘的比記的還多。
主動閱讀和傾聽
下面總結了我從新構建的閱讀或傾聽策略:
開始以前,先想清楚你但願學到什麼
當你閱讀或傾聽的時候,將你學到的東西與現實或想象聯想起來
作有創意的筆記
不要閱讀你不關心的章節
閱讀以後,反思你閱讀或傾聽到的內容
至少溫習你的筆記 5 次
詳細描述
我曾經的閱讀方式一點也不主動。我經過反覆閱讀去嘗試理解我讀到的內容。我會理解一個概念或技術,可是我不會一直記得它。當你用一種主動的閱讀方式,你會將這個概念與一些事情或事物關聯起來。這些多是你看到過的事物或作過的事情,也多是你喜歡作的事情。在這個學習過程當中,你會積極地運用大腦中有創造力的部分。在 Andy Hunt 所著的《Pragmatic Thinking and Learning》一書中,他將大腦劃分爲兩部分:L 模式和 R 模式,即線性(linear)模型和豐富(rich)模式。Andy 傾向於上述劃分方法,而不是左右半腦的劃分方法,是由於咱們的思惟過程並非嚴格地按照半腦劃分的。他認爲:你閱讀時大腦聯想得越多,你記得越多。你須要在閱讀文章、博客或者報告時進行思考,而且有創意地詳細描述你閱讀到或傾聽到的概念或技術,來調動你的思惟過程。
有創意的筆記
作筆記是主動學習的一部分。若是不是主動學習的狀態,我閱讀的內容會從像夢同樣從個人大腦中流逝。作筆記這個簡單的過程,將那些概念釘進了個人腦海。我以後會利用這些筆記做爲記憶內容位置的索引。個人筆記一般簡短而難以理解,可是我常常嘗試讓它們更有創意。舉個例子:個人一個兒子在醫科大學,他將知識概念畫成圖片。那些亂塗亂畫對其餘學生沒有任何意義,但對他而言,它們將那些概念與記憶情景聯繫起來。
手寫筆記比死記硬背更有效,可是若是你一邊健身一邊閱讀,或者開車時收聽一段播客視頻,就不能寫筆記。
我最近從 Droid 轉向 iPhone(在倒騎獨輪自行車時摔碎了個人 Droid 以後。)我拿到個人 iPhone 幾周以後才收到來電,而我到那時還不知道怎麼去接聽它。個人 iPhone 是一個學習設備。我用 Kindle、Audible、Podcasts、GetPocket、Youtube 以及 Chrome 來閱讀、觀看和聽取技術信息。iPhone 能夠將我在使用的兩款 app 中作的筆記實時同步:Notes(備忘錄)和 Voice Memos(語音備忘錄)。當我雙手空閒的時候就在 Notes 中作筆記,而當雙手忙碌的時候就用 Voice Memos 來作筆記。例如,在鍛鍊的時候我會聽一些播客視頻和有聲讀物,當我聽到一些想要記住的內容,我就建立一個 Voice Memo。
要知道,作筆記的過程會強化大腦中的神經突觸。固然,我會作個測驗,並且稍後還會作更多測驗。
反思
我年輕的時候,每週會開 25 英里車從紐約到賓夕法尼亞州的哈里斯堡兩次,在一個沖繩訓練過的空手道教練的指導下進行鍛鍊。這個課程班大部分由 20 多歲和 30 多歲的成年男性組成。可是,我一個小孩,彷佛有過目不忘的記憶力,由於我學習複雜的一伸流招式(Isshinryu katas)比別人更快。固然,我過去及如今都確定沒有過目不忘的記憶力。個人「祕訣」是,在開回家的 25 分鐘路上,我會在腦海中一遍又一遍複習我那晚學到的招式。學習主要招式花費的時間一般決定你準備好進行黑帶測試的時間。可是我學招式如此之快,以致於我被告知推遲個人測試。(許多年後,通過數次鼻子被打破、眼睛被打成黑眼眶和肋骨被摔裂的經歷後,我成功經過了測試。)
在 Robert C. Brown 的書《Make It Stick:The Science of Successful Learning》中,我年輕時的這種經歷被稱爲反思。儘管我做爲一個武術家能如此高效地使用反思,但我忽略了在個人技術學習中使用它。我過去閱讀一篇文章或書中的一個章節,理解它,而後,它從我有意識的腦海中消失,隱藏到某個也許永遠不會再被看到的隱蔽的角落。如今,經過使用我從新構建的學習策略,我會常常反思我讀過的內容。例如,在健身房花費一個小時邊作交叉訓練邊閱讀文章以後,我會在沐浴和稍後開車回去工做的路上主動反思新得到的信息。
(溫習)5 次
所以,如今我積極地閱讀(或者觀看或者傾聽)博客(或者視頻或者播客)的時候都會記有創意的的筆記。以後我會反思我學過的東西。可是學習這些知識的過程並無結束。我仍然須要去回顧個人筆記。學校裏稱之爲測驗。測驗很煩,可是大量調查顯示,常常測驗很是有助於學習和記憶。學習以後越快測驗越好。在那以後,再進行幾回測驗。當我複習個人筆記的時候,我震驚於這種方式幫我補回了許多我雖然理解可是已經幾乎忘記了的概念。雖然建議溫習筆記 5 次,可是我一般在我自信已經記牢的時候就刪掉那些筆記。我遇到感受枯燥的幾分鐘時,在任什麼時候候或地點,我都會溫習筆記,不管是在商店排隊時,或者在餐館等座位時,或者在電視播廣告時。比較酷的是:當個人筆記箱快空的時候,它就會提醒我去強化主動學習和作有創意的筆記。
我認爲:重複閱讀不少時候是無用功。當你重複閱讀的時候,你的大腦會欺騙你,告訴你這些都是熟悉的信息。可是你在主動閱讀過程當中作的有創意的筆記會強化你的記憶。據我我的觀察:我 5 年前開始在 Audible 上自學意大利語。聽了許多內容以後,我發現本身沒有跟上故事的節奏。所以,我會重複聽,而個人大腦會告訴我它以前已經聽過這段內容,而後宣告說這段內容太枯燥了。可是個人愚蠢的大腦又說不出其中的故事情節。我其實沒在積極地聽。真正的問題是,我聽的時候,我尚未明白一個單詞或一句話時,後面的故事就一堆廢話同樣(balblabla,意大利語中爲 blah,blah,blah)地播放出來了。如今,若是我沒明白一個單詞,我會點擊 30s 從新播放按鈕一次或兩次,而後我讀這個單詞並將它記錄到我 iPhone 上的 Voice Memos 上(Voice Memos 會保存這段聲音,並以一個數字做爲索引),最後,我會重溫這個單詞並根據這個聲音記錄聯想到對等的英文。一段時間以後,我會在 Voice Memos 上再測驗本身。
編排目錄
咱們家過去有一個廢棄的抽屜,裏面有各類雜亂的東西:鉛筆、X-Acto 鉛筆刀、Super Glue 膠水、捲尺等等。一般咱們會懷疑是否是有個東西在那個抽屜裏,而後會漫無目的地在那個抽屜裏翻箱倒櫃地找那個東西。咱們大部分人都將新學到的知識丟進廢棄的抽屜:書籤、充滿匆促記錄文本的被遺忘的文件夾、各類亂寫亂畫的筆記本。想想你知識的廢棄抽屜,它們是否是幾個月之前就像我家(或者個人知識)的廢棄抽屜同樣雜亂了?
幾個月前,我家的廚房意外漏水浸泡了地板。整個廚房不得不翻修,包括容納了咱們那個廢棄抽屜的櫃櫥。當翻修過的櫃櫥安裝好以後,個人妻子也把那個廢棄的抽屜整理好了。
你的知識也須要像咱們的放了各類東西的抽屜同樣進行整理(固然,如今不能再稱它爲廢棄的抽屜)。知識是你的戰利品,你的財富。管理它,爲它編排目錄,常常溫習它,而後將沒有用的東西丟棄。丟棄那些像幹掉的 Super Glue 膠水同樣的東西,或者大量你不會再重複閱讀的文章的連接。
書籤
記住,你是爲了那些你不記得的東西才用書籤,所以你須要記得你把這些東西放在哪裏。想象在一個配對會議中,你說「我抽屜裏有一個微型磁性螺絲刀,如今應該能派上用場。」而後你去你的充滿各類書籤的廢棄抽屜裏翻箱倒櫃地尋找那個螺絲刀。如今,再想一想你走到一個用清晰名字連接的管理好的列表,而後很快就找到了須要的東西。你的結對夥計絕對會對此印象深入,由於你的書籤就像你大腦的擴展體同樣。
只是簡單地瀏覽你的書籤就能強化你的記憶神經突觸。若是你尚未閱讀一個帖子,就把它放到 Getpocket(或者相似的工具)裏。以後若是你閱讀了這個帖子,而後明白了它的意思,就能夠將它刪除。那些很是好而且可能很是適合重複讀或者推薦給其餘人的文章能夠放到 GetPocket,不要放到隊列裏,而是放到收藏夾裏。我會在一個文件夾裏放不超過一打(12 個)左右的連接。若是須要放更多的連接,建議建立一個新的文件夾或者子文件夾。我也會用冒泡排序法將更好的連接放到頂部的文件夾。
個人書籤是我記憶的擴展體。它們是各類技術的總結。若是你想,就能夠查看這些列表。安裝手冊、祕籍小抄、格式指南。例如,我剛剛添加了一個 ES6 cheat sheet。你也能夠從這裏查看這份列表。這是一份精心製做的各類流行工具和語言列表,例如 CSS、Javascript 和 Bootstrap。移除那些已經在 devdocs.io 中存在的內容的書籤,並常常更新書籤列表。
印象筆記(和它的競品)
直到最近,個人印象筆記清單才上了 TV 節目 Hoarders。一方面,我將筆記記在同一家科技公司名下的各類筆記本客戶端上。其中一些個人筆記有不少頁,須要將它們分紅多個筆記。隨着個人書籤被清空,瀏覽個人印象筆記,移動筆記,重命名筆記,刪除不須要的筆記,這是一件很是使人享受的事情。這由於 2 個緣由頗有趣:1)我從新回憶起其它已經忘記的知識;2)我知道我正在優化個人大腦的擴展體的索引。
Wikis
我認爲,咱們作的筆記,最初是爲了咱們本身,由於它們幫咱們完成了許多任務,但並不該該只存在於咱們的 PC 上。那些筆記也屬於你的客戶或僱主。他們爲這些知識收集付費。每個 IT 項目都須要一個知識庫。我最喜歡的工具是 wiki,它與每一個 GitHub 項目都綁定。我已經使用這種策略許多年了,有許屢次在上級管理人員向我或者個人團隊問工做成果的時候,當他們聽到(和看到)在 wiki 上共享知識的容量時都會感到很滿意。
我一樣認爲,當咱們明白了一件事情或者產生了一個有價值的想法時,咱們須要對此繼續跟進。或許是在一個 GitHub wiki 上。不論怎樣,把它放在一個共享的資源上。若是我沒有將那個想法放在一個共享的區域,我將它稱做「丟失的情報」,由於我確定不會再記得它,而後客戶也不會從他們付費的腦力工做中受益。
結對
在我當前的項目中,我從 Al 那裏接手管理 9 個(或者也許是一打)Rails 應用。Al 是 SimpleThread 的楷模之一。在我與 Al 的遠程結對會議上,我感受我就像是在開一輛福特 Fairlane 追着一輛蘭博基尼。他轉過屏幕,快速地描述流程,而後有時會暫停下來問「你明白了嗎」,而我一般的回覆是「明白了」。可是我真正獲得的是一張屏幕截圖和一些在我 markdown 格式的日記本上胡亂拼寫的筆記。個人願望是我可以從潛意識裏就明白他說的內容。隨後,當我像從 Fairlane 中爬出來同樣歇一口氣時,我一邊回顧屏幕截圖一邊剪切和從新命名它們。而後我會建立一個文件夾,用一個描述那個流程的名字命名,再而後把屏幕截圖放到這個文件夾裏。我以後會瀏覽個人 markdown,清理這些筆記,將它剪切並複製到公司的項目 wiki 上。在那個時候,我潛意識裏一般纔是最終「明白」了。同時,我還把知識進行了分類並編排了目錄。
反 思
我將反思做爲文章結尾的副標題,並且以爲這是一個很是好的作法。文章總結一般是做者安排來強制你反思文章涵蓋的信息。當你學習的時候放緩大腦,主動參與到這個過程當中。仔細消化你得到的信息,將它轉化成知識,並明白這些知識。作有創意的筆記,本身唸叨着,看向窗戶,仔細思考你閱讀到或收聽到的內容。把這些變成你本身的知識。雖然主動學習花費時間,可是我讀一半的次數,就能夠記得比別人兩倍還多。在(閱讀、傾聽或者觀看)過程結束以後要進行反思。而且隨後溫習你的筆記差很少 5 次。在書籤、筆記軟件和 wikis 上爲你的知識編排目錄,而後將那些目錄看成知識的戰利品。