讀《程式設計師的思維修煉》有感

新一發表於2017-10-29

 

不久前讀過《程式設計師的思維修煉:開發認知潛能的九堂課》,這本書裡面有一段讓我最印象深刻,它將職業分成了5個階段。

從新手到專家的5個階段

  • 新手

  • 高階新手

  • 勝任者

  • 精通者

  • 專家

新手

顧名思義,新手指的是在相關技能領域很少或沒有經驗,沒有足夠經驗指導的新手在接手一個工作時會不知從何做起,當遇到錯誤時也不知如何應付,在出錯時很容易慌亂。 
就像給機器定義指令的規則一樣,我們需要給新手定製規則,向他們表明每一步需要做什麼,當出錯時需要做些什麼,如果給新手一些能忽略情境的規則如“當X發生時,執行Y“他們會變得能幹起來,這樣他們的能力也就可以衡量。

高階新手

經過新手階段開始有了經驗的累積,能夠獨自嘗試一些工作,但仍難以解決問題,這樣的階段稱為高階新手。 
高階新手根據過去的經驗開始能夠在不同的情境下正確的執行規則但比較吃力,他們沒有全域性的觀念也不想有,就像呼叫API卻不想深入的理解它的實現。舉個例子,當有兩個模組A和B,高階新手負責A的工作,在出現由B引起的BUG時,高階新手沒有全域性概念無法判斷出是由B造成的,只會懷疑自己A模組的實現有沒有出錯。

勝任者

這一階段他們可以獨立解決問題並開始如何解決新的問題,碰到沒遇過的問題會開始尋求專家的意見並有效利用。 
勝任者開始會探求和解決問題,他們的工作是基於謹慎的計劃與過往經驗,如果沒有更多的經驗將無法把握細節。他們還是團隊中的好人,既可以指導新手也不會經常騷擾專家,但這個階段還沒有足夠的能力反思和自我糾正。

精通者

精通水平的從業者需要全域性思維,他們會圍繞一個技術尋找並想了解更大的概念框架,對於過於簡單化的資訊,他們會非常沮喪。 
在這一階段他們能夠糾正以往的過失並自我改進,會根據經驗做出自己的判斷,舉個例子“測試一切可能出錯的東西”,對於新手他不知道需要測試什麼,最終可能測試都是無關的東西,但精通者有足夠的判斷力知道哪些地方非常有可能會出錯。精通者有足夠的經驗,他們知道下一步會發生什麼,如果沒有發生又需要改變什麼,他們非常明確哪些計劃需要取消而應該採取什麼行動。

專家

專家是各個領域知識和資訊的主要來源,他們總是不斷地尋找更好的方法和方式去做事,他們有豐富的經驗可以在適當的情境中選取和應用這些經驗,他們著書、寫文章、做巡迴演講,他們是當代的巫師。 
專家根據直覺做事而不需要理由,例如,醫生給病人看病。乍一看,醫生說我認為這病人得了Blosen-Platt綜合症,最後做一些深入檢查。病人做了檢查,結果證明醫生是正確的。你可能會問醫生是怎麼知道的?但醫生可能會回答他看上去不太舒服。

小結

為什麼是小結而不是總結,因為筆者感覺自己沒寫什麼東西。筆者寫這篇部落格主要是想表達團隊中應該認清每一個人技能水平合理的為每個人安排工作,不能讓專家去帶新手這樣會失去專家的優勢,也不能讓新手去做勝任者的工作這樣他們的工作能力無法體現出來。

相關文章