天天看點

讀《Pragmatic Thinking and Learning》筆記及摘錄

作為一名程式員,就意味着要不斷地學習,《Pragmatic Thinking and Learning 》(程式員的思維修煉)這本書是美國Andy Hunt 所著。這本書給出了幫助程式員如何學習及思考的許多非常有用的Tips,在技能擷取方面,其實這些都是通用的。看完此書之後最大的一個感受就是非常的舒暢,寫的樸素,實在,沒有吹噓。隻是把作者的經驗,發現,以及知識分享給了讀者,讀完之後受益匪淺,想把一些感覺非常使用的Tips和讀此書時的一些感想,記錄下來。就有了這篇博文。

好了,言歸正傳,

第一部分,就是技能擷取模型:Dreyfus model:這是一個建構理論,即無法被證明,隻能通過它的用處來衡量。它把人們擷取技能的經曆從新手到專家分成了5個階段。

新手:很少或者根本沒有經驗,不是特别想學習,隻是想實作一個立竿見影的目标(我躺槍!)新手需要與情境無關的規則去參照,比如“當X發生時,執行Y”。需要一份指令清單,但這隻能上你啟程,不能讓你走得更遠。

進階新手:開始多多少少可以擺脫固定的規則,可以嘗試獨立解決問題,但仍然難以解決問題。

勝任者:可以獨立解決問題。并開始考慮如何解決新問題

精通者:需要全局思維,能夠自我糾正。能夠向别人,或從别的案例學習。

專家:有豐富的經驗,根據直覺工作而不需要理由,在特定的情境下,非常擅長做有争對性的特征比對。與新手的差別,新手往往非常自信,他們不知道自己不知道,而專家則非常謹慎。新手使用規則,而專家依靠直覺。從新手到專家,最重要的轉變就是依賴直覺和特定的情境,而不是死搬硬套規則。情境才是應該關注的重點。

關于如何有效地使用Dreyfus model,作者提了非常多的建議,其中我印象最深刻的是勇于承擔責任,并給了一個護士是如何不負責的執行指令的例子,這個我覺得是很重要的一點。還有就是關注情境,萬事萬物是互相聯系的,這就意味着要更多的關注情境,具體分析,而不是生搬硬套。

第二部分,就是大腦如何思考及如何改進以便進行更有效的思考

作者談到,大腦的思考有兩種模式:L型和R型,R型對直覺、問題解決和創造性非常重要。L型讓你細緻工作并完成任務。R型搜尋引擎不受直接意思控制,它是異步的,這也就是通常所謂的靈光一閃,L型主要提供語言能力,抽象能力,推理能力等,而R型主要提供非語言,非理性,直覺,具體,綜合的能力。R型看森林,L型看樹木。

隐喻是一個非常強大的技術,能夠激發創造力,比如我們常聽到的滑鼠,窗戶(window)。硬碟上的檔案夾也不是真的。我們總是在使用隐喻,使用隐喻把抽象的概念與一些具體的、日常可見的事物聯系起來,就更容易讓人了解它。隐喻(metaphor) 源自希臘語metaphora,意思是轉移,表示你正在以一種事實上不可能的方式把一個事物屬性轉移到另一個事物上。清晰的隐喻使代碼更容易學習、了解和擴充。

幽默産生與在不同的想法中制造新奇的聯系,幽默的能力都來自于發掘或擴充正常之外的關系,真正突破思維界限。培養幽默感可以建立更強大的隐喻。

大腦也會出錯。是以需要調試。比如認知偏見,你認為的就不一定是正确的,這是一個典型的認知偏見,還有就是我們對定論的渴望意味着我們總是努力消除不确定性。但是過早地下結論減少了你的選擇,甚至可能消除了成功的選擇。在軟體項目開始時,一般每天你都會學習一點新知識,這意味着在項目的末尾時你會達到智力高峰,而在項目開始時則是最無知的,是以要适應不确定性。

第三部分,了解了大腦的工作方式後,就是如何利用它進行有效的學習

學習不是強加于你的,而是需要你主動做的事情,僅僅掌握知識而不去實踐,沒有用。在學習的時候最好制定SMART目标

Specific,Measurable、Achievable、Relevant,and Time-boxed。首先,目标必須非常具體,不應該是泛泛而談,然後必須是可度量的,即知道何時可以完成,其次這是一個可實作的目标,比如想建立永久的中東和平什麼的就顯得不太實際。還有就是這個目标必須與你相關,這樣你才能充滿激情。最後就是時間可控的,必須設立一個最好期限,否則将會被排擠。

關于控制注意力

生活在資訊豐富的時代,過多的資訊卻導緻了知識和注意力的匮乏。置身于應接不暇的資訊中,很容易失去思考的重心。

注意力是供不應求的,每天有那麼多的事情都争相擷取你的注意,而你僅僅能關注其中的一部分。如果你真正集中注意力,你就可以完成很了不起的事情。與電腦不同,我們的大腦沒有“儲存棧”的操作,這意味着你的分心,需要相當大的代價來切換情境,可能需要平均20分鐘傳回到原來的工作狀态。二十分鐘一次,考慮一下,你在一天中可能會遇到多少次打斷,你就明天一天你浪費了多少時間。這就是代價