實用方法
《程序員的思維修煉》英文版書名為《pragmatic thinking and learning》。pragmatic,指實用、實務、有效處理當前情境中的問題,是全書書眼。書中拋出實用錦囊若干,幫助讀者更加有效地學習、思考、處理問題。
1 能力定位:德雷福斯模型
身在山中,容易自滿自足,不知山外有山。若望高山,而不知山,則只有望山興嘆,縮回自己的小山頭。德雷福斯模型展開了一幅能力進階的群山圖,新手、高級新手、勝任者、精通者、專家,盤踞一處。這幅圖,可鳥瞰,與群山比拼,知曉高低。這幅圖,可細察,撥開迷霧,把高山看個清楚。
從新手到專家,隔了幾座山?新手與專家眼中的問題
截然不同。新手只看得到眼前的問題,并急于解決它。專家不僅分析問題還分析問題所在的情境
;能把問題關聯到更深入的模型
;能主動預測
問題。董振磊老師在分享會里介紹的芒格,就是建立跨學科模型,使用模型解決問題的專家。新手與專家解決問題的方法
也不同。新手需要行動指南,手把手指點。專家則依賴基于大量經驗的直覺解決問題。另外,專家有更強的元認知和反省能力,他們不止步于解決
問題,他們致力于尋找更好的解決辦法
。
作者在書的開篇即介紹德雷福斯模型,用意是讓讀者評估自己的能力階段,找到與高階者的差距。然而,模型僅僅是對事物的一般抽象,會有疏漏、偏差、過時。正如作者在警惕工具陷阱一節中也提到,如果一昧依賴模型,將會忽略現實,忽略情境,過度簡化事物。德雷福斯模型也不會例外。了解模型之余,不妨把目光投向自己所在領域,觀察領域中的低階者和高階者,再分析、比較、歸納出自己領域里的能力進階圖。
2 善用大腦:大膽直覺,小心debug
大腦有兩種加工模式*:模式1,線性加工,運行速度慢,邏輯思考、語言加工都靠它。模式2,直覺、整體式加工,非語言加工,不受意志控制,問題解決、創造力需要它。一般觀念里會更加倚重模式1,但是模式2同樣重要,專家的直覺和創造力,來自模式2。高效的學習和思考,兩種模式缺一不可。
開啟模式2,激發直覺:
- 具像化
將抽象的文字,轉化為圖像,調動多種感官,使之可看、可摸、可聽、可聞。 - 隱喻
找到事物之間的聯系。以具象的事物隱喻抽象,便于理解抽象概念。把看似不相干的事物連接起來,需要創造力。 - 散步
把模式1關掉,出去走走
直覺會犯錯,不想被直覺帶坑兒里,切換到模式1,小心debug:
- 認知偏差
了解認知謬誤,并避免之;極端值里可能存在有價值的信息,別輕易扔掉;忍受不確定性,別輕易做決斷 - 個體與背景
了解自己、了解時代精神 - 反向思考
想象自己觀點的對立面
3 實戰升級:learn by doing
通過構造來學習,而不是通過學習來構造
學習是主動求索、創造,而不是像海綿一樣貪婪地吸收信息。學習需要在情境中實戰,持續輸出,不怕犯錯,根據反饋不斷改進。一個高效的學習流程應該是什么樣?
- 目標
參照制定目標的SMART原則:specific
,measurable
,achievable
,relevant
,time-boxed
- 計劃
繼續參照SMART原則,制定短、中、長期計劃 - 執行
- 打造學習環境
- 版本管理(git + github)
能保存歷史版本,可回溯任一歷史版本,保證可大膽嘗試而不怕寫壞寫廢 - 能提供即時準確的反饋(學習小組、師徒制的優勢)
- 減少干擾
- 版本管理(git + github)
- 專注
- 管理知識
- 養成做筆記的習慣,隨時記錄想法
- 建立個人wiki
收集案例,記錄觀點,建立信息間的連接
群友推薦使用gollum,有時間的話試試(參考陽志平老師的網志。另,感覺陽老師是萬能的……)
- 反饋、迭代、改進
4 小結
這本書最讓我獲益的點:
德雷福斯模型
這個模型讓我對解決問題能力的差距模模糊糊的感覺和認識,清晰了許多,實實在在看見了問題解決能力之間的差距。借助德雷福斯模型,我更加了解身邊的牛人,牛在哪里,而自己跟他們的差距又在哪里。模式2與直覺、創造力和專家的聯系
我對這種雙加工模式并不陌生,但從來沒有把它與專家技能、問題解決和創造力關聯起來。冥冥之中,知識跟知識貫穿聯系的感覺很奇妙。構建式學習,learn by doing
去年一次自學python的經歷,讓我意外實踐了一把構建學習。當時的目標非常明確(被逼無奈),1-2個月內,編出實驗程序,能夠用鍵盤移動屏幕上的物體,能夠記錄正確率和反應時。在實戰中學習的好處是,任務本身會創造需要解決的問題,在解決問題的過程里,掌握新知識。學習者一直處在積極學習,積極發現問題、解決問題的環路里,搭建自己的知識網。若是在平常課堂上學習知識,學習順序是顛倒過來的,先學習知識,再通過練習鞏固知識,這樣的學習過程,被動太多,遠沒有構建式學習,苦中有樂,學得扎實。
讀罷《程煉》,如果讓我回到1年前,我會做的改進是:不要獨自學習,找到學習小組,找到導師,獲得更加即時的反饋(互相吐槽,舒緩下焦慮的情緒,也是極好的)。使用版本控制系統,當時搞了n個.py文檔,完全分不清每個文檔都做了哪些改動,還不敢刪。建立個人wiki,或者以寫一本編程入門手冊的思路來學習,如果這樣做了對概念的理解,對概念之間的聯系,應該會更加明晰。
這本書讓我比較失望的地方是結構松散,論述也有混亂,有時候找不到小節之間或者論據與中心句之間的聯系。實用方法太豐富,以至于想實踐都不知道從哪兒開始,這有違‘pragmatic’的宗旨呢!
5. 關于讀書會
從來木有讀一本書,讀書筆記打卡10次,再加一篇大筆記,實在是巨大挑戰。幸好有同讀一本書的小伙伴互相敦促,以及熱心負責的組長,每天在群里吆喝。很喜歡讀書群的氛圍。速來是個愛潛水的人,竟然會很有安全感地在群里說幾句話,對我也是不容易的事 o_O。
最后,開智第一次讀書會,讓我學習到,讀書筆記應該分攤在平時做。開智第二次讀書會,讓我學習到,除了讀書筆記,最后的大筆記也應該分攤到平時思考總結。。。
能一直學些什么的感覺,很好!
*. 本書將大腦的兩種加工稱之為L模式和R模式。L和R很容易聯想到左腦和右腦,讓人誤認為左腦和右腦分工不同,獨自工作(盡管作者自己也有在文中澄清,大腦的左右半球是協同合作的)。為避免混淆,這里用模式1和模式2指代這兩種模式。