1. 程式人生 > >[轉]所有人都在渲染程序員的中年危機,我們卻在勸你重新學會學習

[轉]所有人都在渲染程序員的中年危機,我們卻在勸你重新學會學習

poke 科技公司 oid cnblogs 如果 階段 備忘錄 javascrip 十年

https://news.cnblogs.com/n/585781/

------------------------------------------------------------------------------------------------------------------------------------------------------

閱讀和理解是不夠的,你還需要記住你學的內容。進行主動閱讀——你的大腦充分理解這些概念並將它變成你自己的東西。放慢你的大腦,做有創意的筆記,而且反復閱讀是沒有用的,測驗才有效。經常反思你讀過的東西並進行聯想。管理你的學習隊列和“離線存儲”(例如書簽、印象筆記或者 wikis)。

  編者按

  當“猝死”、“跳樓”、“34 歲”、“被離職”這些關鍵詞紮堆而起時,程序員們知道,媒體們又在炒作一個名叫“中年危機”的名詞了。這個世界究竟是對中年人不夠友好,還是對不優秀的人不友好?亦或是對不優秀還不努力的人不友好?

  很多問題,想不通頭疼,想通了心疼。如果你只是一介布衣,又恰好在競爭激烈的互聯網行業裏討生活,也許你的核心競爭力就是你的學習能力,而這是能支持你可持續發展的根本。問題的關鍵是,你知道如何更高效地學習嗎?

  寫在前面

  “他忘記的比你知道的還要多?”,那個人指的就是我。我成為一名開發者已經三十多年了,忘記過不少知識。但問題是:我現在知道的,或者說,我記得的,和千禧一代的人【譯註 1】或者 Gen X 一代的人【譯註 2】一樣多麽?我的知識量真的比得上別人麽?在與這些更年輕更聰明的天生適合做技術的人競爭時,我做對了許多事情。其中我做的最好的一件事情可能就是持續學習。但是我現在需要做的更好一些。我需要停止忘記學到的知識,不論是已經學會很久的,還是剛剛學會的。

  這就有了更多疑問:Dreyfus 的技能獲取模型分 5 個級別:新手、高級新手、勝任者、精通者和專家。大多數開發人員在職業生涯的大部分時期都停留在高級新手的階段。我已經在我的職業生涯中完成了足夠多的工作,可以證明我至少是一名勝任者。但是我需要做些什麽才能成為精通者和專家?編程技能水平上詳細寫到“編程人員的 7 個等級:碼農、程序員、計算機科學家、開發人員、工程師、架構師。”

  我在職業生涯的大部分階段一直都使用相同的方法來學習。但是,由於我再有幾年就 60 歲了而且馬上會和 GenZ 一代的人【譯註 3】競爭,所以我一直嚴肅對待自己的學習策略。為此,我閱讀了許多關於學習的書、博客和文章。本文詳細介紹了我在學習方面重新制定的策略。

  我將自己重建的學習策略分成三個方面:

  1. 學習隊列的管理

  2. 主動閱讀與傾聽

  3. 編排目錄

  學習隊列的管理

  直到最近,我的學習隊列是我辦公室桌上的一堆圖書、我 Kindle 上展開的清單以及大量倉促地標為書簽的博客帖子。我過去一直用後進先出(LIFO)的方法來清理學習隊列。這在過去是一種很好用的方法。但是,我需要,或許你也需要,主動地管理學習隊列。不要把這個隊列想像成一個挨一個排隊那樣的情形,例如銀行排號、火車站排隊買票或者交管所排隊搖號。而應該把它想象成,在一個 Studio 54【譯註 4】那樣獨一無二的夜總會裏,有一個渾身肌肉的門童,而文章、博客帖子和圖書就像希望進入夜總會的客人一樣站成一排。這個門童瞇著眼睛,跳過前面幾個,然後挑出看起來有趣的家夥。隨後,為了清理隊列,他指向幾個索然無味的家夥,說“夥計們,揍扁它。”畢竟,那個隊列代表了你將來的知識,你應該主動地管理這個隊列。

  圖書

  圖書方面,我降低了自己看書的存量,平均每次只看三本不同類型的書。我會將那三本書放到我的桌子上(或者 Kindle 主頁),把其它的書放到書架上。我想,你鐘愛的閱讀設備一定有一個文件夾管理工具(在 Kindle 上叫做 collections)。因此,我建議你將你的索引庫放到類似 collections 之類的工具裏,然後將一些最近要看的書放到主頁。我目前喜歡三種不同類型的書,例如:一本是關於 Ruby 的,一本是關於 JavaScript 的,以及一本是類似《The Passionate Programmer》的關於學習動力話題的。當我一有空讀書的時候,我就會挑選其中一本作為我當前的精神食糧。

  博客帖子和文章

  事實上,我現在不太重視圖書了。我過去的學習方式是在互聯網時代之前形成的,由於這種學習方式,在一二十年裏,我幾乎忽略了博客帖子和網絡文章。當然,我會用眾所周知的 Google IDE 來獲取即時解決方案,但是我從圖書中獲取大部分新的知識。這可能與你們認為的我不太一樣,在你們看來,我過去一直為技術網站付費寫一些文章並且在 2007 年就創建了自己的博客。我從過去那種老舊的學習方式醒悟過來是當我意識到:

  1. 我從事的技術進步得如此之快,以至於圖書中沒有我所需要的信息;

  2. 我經常使用的技術太專業了而沒有一本權威的圖書;

  3. 我的千禧一代的同事從博客中以更少的時間學到了更多的知識。

  但是我應該讀哪些博客呢?它們應該怎麽來篩選呢?我的解決方案是訂閱一些電子郵件形式的時訊周刊或者月刊,它們會列舉一些文章和博客推薦。我也開始主動關註或者被動接收來自我加入的各種 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 上為你的知識編排目錄,然後將那些目錄當作知識的戰利品。

  本文翻譯已獲授權,原文鏈接:https://www.infoq.com/articles/relearning-learn

  書籍推薦

  • 《Make It Stick: The Science of Successful Learning》,Peter C. Brown

  • 《Pragmatic Thinking and Learning: Refactor Your Wetware》,Andy Hunt

  • 《Moonwalking with Einstein》, Joshua Foer

  • 《Unlimited Memory: How to Use Advanced Learning Strategies to Learn Faster, Remember More and Be More Productive》,Kevin Horsley

  • 《Quantum Memory Learn to Improve Your Memory with The World Memory Champion! 》,Dominic O‘Brien

  譯註

  • 【譯註 1】:千禧代(Millennial),也稱為 Generation Y,是指 1980 年代初到 2000 年代初出生的人,這代人開始逐漸熟悉通訊、多媒體和數字科技。

  • 【譯註 2】:Gen X,即 Generation X,是指 1960 年代初到 1980 年代初出生的人,是第二次世界大戰後出生的一代人。

  • 【譯註 3】:GenZ,即 Generation Z,是指 1990 年代中期到 2000 年代中期出生的人,這代人很小的時候就開始接觸互聯網,適應新技術,習慣使用社交媒體。

  • 【譯註 4】:Studio 54 是 1970 年代在美國紐約市的傳奇夜總會,因為聚集大量名流和美女,很多人都慕名而來。而這個俱樂部的門童每天晚上會從排隊的客人中挑選出令人感興趣的客人允許進入,沒有被挑選中的客人則不能進入。

  作者介紹

  Don Denoncourt 是 simplethread.com 的一名開發人員。他很早就開始編程,那時候還沒有 Windows 和 Linux,更別提 Internet。在 90 年代初,Don 從 RPG 和 Cobol 轉向 C 和 C++。他在 1996 年就開始學習 Java,那時候 Java 還沒成型。經歷了 Java 框架(包括 Struts、Spring 和 EJB)的不斷演變之後,Don 選定了約定大於配置的框架,Ruby and Rails。Don 在 2011 年最終轉向 Rails 之前,還用過 Groovy and Grails。Don 喜歡寫作,已經出版了幾本書,發表了上百篇技術文章。Don 從上個世紀就開始在家辦公。Don 在工作之余,喜歡花時間陪他的 3 個孫子。為了讓他的頭腦保持年輕,Don 閱讀和傾聽意大利文小說。為了讓他的身體保持年輕,Don 是一個狂熱的全地形(越野和街道)獨輪自行車手。

[轉]所有人都在渲染程序員的中年危機,我們卻在勸你重新學會學習