小明畢業以后從事程序員的工作,他很努力。每天下班以后還抱著各種計算機書籍:程序設計語言,算法分析與設計,操作系統與網絡,啃到半夜。小明相信機會只垂青有準備的頭腦,為未來準備了很多知識。小明心想,要是有個大牛列個必學必會清單,學會了這些,以后就啥也不怕,順風順水了。
但不知不覺的幾年過去了,小明的工作依然沒有起色,因為他發現自己偷偷學的東西在工作中根本用不上。還不如下班后玩玩游戲泡泡妞來得實在。眼看著離做成功項目,賺大錢,迎娶白富美,走上人生巔峰的目標越來越遠。小明很著急,問題出在哪里?為什么越努力離牛逼專家的路越遠了?
1 新手與專家的區別
小明所在的工程領域,強調實踐,也就是,linux操作系統的創造者linus所說的:“show me the code”。
而實踐的最大特點是:沒法用文字準確表達,無法被完全客觀化或者正規化,因為實踐必須在特定的關系和特定的時間中完成。
小明想在編程技能方面成為專家,專家與新手的不同在于:專家總是知道具體問題具體分析,而新手總是按規則辦事。德雷福斯模型(Deryfus)談論從新手到專家必須經歷的五個階段:新手,高級新手,勝任者,精通者,專家。在這個變化過程中,人不只是知道更多或者獲得了技術,而是在如何認識世界,如何解決問題以及如何形成使用的思維模型等方面體會到根本的區別。新手掌握情境無關的規則,專家掌握依賴情境的直覺,專家的優勢是在情景之中依靠直覺快速的識別模式。
為什么新手到專家之間以此作為區分呢? 從問題自身和問題的解決者兩個角度來看。
2 問題的特點
軟件創建出來是為了解決現實生活中的問題,而這些問題本身是在情境之中的。問題領域的概念之間互相聯系,而模式潛藏其間,不可能按照一個書本上的知識點照搬就能應對。實踐活動或者說工程構建是沒有辦法嚴格按照清單來的,因為你要構建的作品與世界廣泛聯系,所以很多問題必須在這種聯系之中來解決。
Andy Hunt在《Pragmatic Thinking and Learning》中用了樹這樣一個隱喻:“你可能把一棵樹看做一個單獨、離散的對象,立在地面。但事實上,一棵樹至少是兩個主要系統的連接點:樹葉和空氣的處理循環與根和泥土的處理循環。樹不是靜止的,也不是孤立的。”
另外;問題所在的設計空間也是組合爆炸的,專家必須依賴自己的品味或直覺(右腦無法直接掌控的異步模式識別)來給出答案。
3 問題解決者的成長方式
作為解決問題的人,作品的創造者,在提升自己技能的時候,首先需要面對學習方式的轉變。《程序員思維修煉》中作者提到這種轉變的背景:“我們似乎有一種文化傾向,那就是本末倒置:首先努力獲取信息,然后希望以后再用到它。這是大多數正規教育和公司培訓的基礎。但是現實世界不是這樣運轉的。”
那現實世界到底是怎么樣運轉的?
簡單的說是需求驅動的:你需要實現什么的樣的價值,就通過構建來實現它。實踐活動是通過構建綜合來完成作品,而不是僅僅分析。知識是因使用而學會的,也就是說,通過構造,多做來學習。這是一個翻轉的過程,就像教會別人是最好的學習,寫作和閱讀相輔相成一樣。
你的資源和時間是寶貴的,必須按價值的重要性來分配,才能玩得轉,既解決了問題,也滿足了自己的個體需求。
4
完成學習方式的翻轉以后,小明對自己這個思維的載體產生了濃厚的興趣,開始在神經學和行為理論等認知科學展開研究,收獲頗豐:
4.1 大腦的隱喻
- 大腦:雙CPU單總線的設計,L(Line,邏輯和語言處理)和R(Rich,DSP,大腦中的google,負責異步處理搜索和模式匹配),不同于杏仁核的情緒中心,而是類似意識和潛意識的管理中心。
- L是分析型學習,而R是綜合型學習,強調你是否通過構建輸出了作品(軟件或者書等)。
- L是看樹木,R是看森林,通過R發現整體的模式
4.2 行為能力
你作為一個有自主行為的個體,如何擺脫認知局限,管理干擾,利用好生態系統中的反饋循環。
4.3 溝通能力
沒有人能憋大招成才,需要在你所在的生態系統中吸取反饋,利用反饋不斷的改進自己的構建作品。
- 團隊內部和團隊之間的交流
- 敏捷方法,強調最終客戶和開發團隊之間的反饋
5
小明終于革新自我,成為了python專家,被白富美撲倒,走上人生巔峰了。故事有了一個完美的結局.
后來呢? 沒高興幾天,小明明白了,物質生活的美好僅僅是基礎需求,其實自己的重要問題是:
認識你自己,認識當前時刻,認識你所處的情境。去觀察,更好的看清這個世界,看清自己。
“真正的發現之旅不在于追求新大陸,而在于擁有新的視野”,小明很喜歡馬塞爾.普魯斯特這句話。
愛智求真路漫漫......
——《程序員思維修煉》書評