🎯 什麼情境該想到我
當你想判斷自己在某項技能上到底在哪個程度、下一步該怎麼進步,或者想知道怎麼帶不同程度的人的時候。
出處:Andy Hunt《程式設計師的思維修煉》(Pragmatic Thinking and Learning,站內為簡體譯本,引文保留原書字形)。對應第 2 章。
⚙️ 怎麼用
前提:針對每一項技能
「德雷福斯模型针对每项技能。」「这是一个情境模型,而不是个性或能力模型。」——「你可能只是烹饪新手,但却可能是跳伞专家。」
五個階段
| 階段 | 原書的描述 | 需要什麼 |
|---|---|---|
| 1. 新手 | 很在乎能不能成功,出錯容易慌亂;不知道哪條規則最相關,意外發生就不知所措 | 「与情境无关的规则」,形式是「当 X 发生时,执行 Y」;「新手需要指令清单」 |
| 2. 高級新手 | 能稍微擺脫固定的規則,自己嘗試任務,但仍難以解決問題;想快速找資訊(例如快速翻文件找方法的定義) | 還沒有全貌——「高级新手不想要全局思维」 |
| 3. 勝任者 | 能建立問題領域的概念模型;能獨立解決問題;「开始寻求和运用专家的意见」;常被視為「有主動性」「足智多謀」 | 但還不能反思與自我糾正 |
| 4. 精通者 | 「需要全局思维」;「精通者能够自我纠正」;能從他人的經驗與案例中學習;能理解並運用「格言」(在情境中使用,不是指令清單);能有效運用設計模式 | 全貌與情境 |
| 5. 專家 | 知識的主要來源;約占 1%–5%;「专家凭直觉工作」,而且「不需要理由」;可能完全說不清自己怎麼得出結論 | 不要用規則束縛他們 |
三個轉變:從依賴規則轉向依賴直覺;問題不再是一堆同樣重要的單元,而是只有部分相關的整體;從問題的旁觀者變成系統的一部分。
原書也指出:「经验」要能改變思維——「一年的经验重复了九次」不算。
原書引用的研究
- 規則會斷送專家:研究者請資深飛行員替新手訂出最佳實踐的規則,新手照著做確實進步了;但再要求專家遵守自己訂的規則,「结果专家的表现明显不如以往」。
- 大多數人停在第二階段:技能的分布不是鐘形曲線——「大多数人的大多数技能……从来没有高于第二阶段高级新手」。
- 一次用掉 17 個設計模式:一位開發者剛讀完 GoF,就把 23 個模式中的 17 個塞進一小段平凡的程式碼——高級新手與勝任者常把設計模式當成指令清單用。
自我定位最大的障礙:「二階不勝任」
原書引用 Kruger 與 Dunning 的研究——一位銀行搶匪以為臉上塗了檸檬汁,攝影機就拍不到他。缺乏準確自我評估的狀態,原書稱為「二阶不胜任(second-order incompetence),也就是说,不知道自己不知道」。低技能的人會高估自己;唯一的矯正方法是提升技能,進而提升元認知能力。
原書的實踐單元
- 自我評價:你工作中的主要技能,在模型的什麼位置?
- 辨別哪些技能在哪個階段——「注意可能会出现二阶不胜任的情况」。
- 「对于每项技能,判断你需要做什么才能提高一个级别」。
第 9 章的提醒:「保證誠實。你需要更多的訣竅還是更多的情境?更多規則還是更多直覺?」
用在帶人
「一种规格并非处处适用」:
- 新手需要「快速成功和与情境无关的规则」——給他們需要的幫助,而不是全貌。
- 專家需要全貌——「不要用约束性、官僚的规则妨碍他们」。
- 團隊理想上混合各種層次。
在工作中的樣子:一個工程師的自評
| 技能 | 階段 | 需要什麼才能進一級 |
|---|---|---|
| Go 語言 | 勝任者 | 讀好的開源專案、讓資深者 review,理解各種寫法背後的取捨(情境) |
| Kubernetes | 高級新手 | 一份「遇到 X 就查 Y」的檢查清單,加上親手處理幾次事故 |
| 系統設計 | 新手 | 從具體的規則開始(例如 工具-容量估算 的步驟) |
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 專家不是完人:專家會犯錯、有認知偏誤,彼此之間也會有分歧。
- 專家不等於老師:教學是另一項技能;專家常說不清自己怎麼決策,所以「处在胜任水平的人可能更合适教一名新手」。
- 模型是工具,不是鏡子:原書引用了形式模型可能造成的危害,例如把模型和現實混為一談。不要拿階段去替別人貼標籤。
🔗 相關工具
- 工具-務實學習投資計畫 —— 同一本書:知道自己在哪之後,怎麼規劃
- 工具-心理表徵 —— 《刻意練習》:專家的直覺是從哪來的
- 工具-找對導師與模仿頂尖 —— 《刻意練習》:找什麼程度的人來教你
- 自視過高傾向 —— 蒙格:為什麼人會高估自己