程式設計師修煉:從新手到專家的過程

pythontab發表於2013-02-03

最近在看《程式設計師的思維修煉--開發認識潛能的九堂課》,個人感覺作者寫的非常不錯。平時我們IT人員更多的關注的技術學習和架構能力,PM會更多關注專案管理和人員管理。但是大家都沒有怎麼去學習如何鍛鍊程式設計師的思維,以及程式設計師的學習方法等。當然這本書一直在強調敏捷開發的理念。當然個人覺得敏捷最終的目標是,專案更容易管理,人員的效率更好,公司利潤最大化。

根據德雷福斯模型,一個新手到專家需要經過的5個階段。平時我們經常看到書店裡面有,C#從入門到精通,看了這本書相關章節,發現“精通”這兩個詞還真不能隨便能用的。

階段1:新手

俗稱"菜鳥"。描述的沒有經驗的IT人員,大多數是學校的學生吧!當然也很多高手自嘲自己是菜鳥。在這裡有一句話很受啟發:可能一個開發人員聲稱擁有十年的工作經驗,但實際上只是一年的經驗重複了9次,那麼這就不算是經驗。新手需要指令才完成任務,並且都是比較枯燥重複的工作。

階段2:高階新手

高階新手能夠開始或多或少地擺脫固定的規則,他們可以獨自嘗試完成任務,但是仍難以解決問題。他們在解決問題時,不會對問題進行尋根究底,或者溫習一遍基礎知識。同時高階新手不想要全域性思維。

階段3:勝任者

可以獨立解決自己遇到的問題,並開始考慮如何解決新的問題--他們之前沒有遇到的問題。他們開始尋求和運用專家的意見,並有效利用它們。勝任者能獨立解決問題。他們是一個團隊裡面的中堅力量,他們既可以指導新手,又能從專家學到經驗和技術。

階段4:精通者

以前覺得,一個IT人員到了精通的水平已經是最高階別水平了。精通者需要全域性思維,他們將圍繞這個技術,尋找並想了解更大的概念框架。這個階段,他們會去閱讀更多的優秀框架或者實踐方法來高效的完成專案。大多數精通者在企業中充當著技術架構師,或者CTO。因為他們把控著企業技術發展方向和技術架構。同時他們在具體實踐中能自我糾正。知道哪裡做的對,哪裡做的不對。

階段5:專家

總是不斷地尋找更好的方法和方式去做事。他們有著豐富的經驗,可以在恰當的場景中選取和應用一些經驗。他們喜歡寫書,寫文章,做巡迴演講和培訓。說的更邪乎一點,專家很多時候是靠直覺工作。專家大多數從新手走過來的,所以他們對技術和實踐方法都親身經歷過,所以他們不僅對技術大方向和大背景熟悉,同時對技術細節也是瞭如指掌。當然他們有時更多做的更多的是管理和教育,所以有時顯得細節方面不是很好。專家非常擅長做有針對性的特徵匹配。

這本書經常用護理專業和計算機專業作對比,然後從中得出結論。從橫向對比中,我們更容易發現我們遇到的問題,然後我們如何進行有效的改進,才能達到我們想要達到的水平。同時書中也指出,到了高階別水平的人大多數去做管理或者教育的工作。目前在中國,高階別的人員基本在做管理,很少有人出來出書,寫文章,做演講和教育。當然這幾年也慢慢多了起來,最起碼我去年就去了參加了幾場免費技術演講。

推薦閱讀的書,這些書基本上在這本書都有提及過,並且有基本也是本書的作者,所以我看過這本書之後,會接著去看看其他基本,我對本書最大的期待,是如何畫腦圖這章。

《程式設計師修煉之道:從小工到專家》

《高效程式設計師的45個習慣--敏捷開發修煉之道》

相關文章