德雷福斯模型

德雷福斯技能获取模型(Dreyfus Model of Skill Acquisition)

德雷福斯兄弟在 1980 年代提出:人的技能水平分为 5 个阶段,从新手到专家

每个阶段在行为、决策、理解方式上都有质的差异。

德雷福斯技能获取模型

1️⃣ 新手(Novice)

特征:

  • 需要严格规则和步骤
  • 不理解全局,只能机械执行
  • 喜欢 checklist,不能处理例外情况
  • 面对变化容易慌乱

软件工程例子:

  • 初学 Java、Go、Python,只会照着教程写
  • 不知道为何要用接口、泛型、依赖注入,只是“教程这么写”

典型语言:

“能给我一个完整的示例吗?”
“按照步骤做就对了。”

2️⃣ 高级新手(Advanced Beginner)

特征:

  • 能在规则基础上做一点变通
  • 但仍然没建立深层模型
  • 能靠经验处理常见场景

软件工程例子:

  • 会 CRUD、会写简单 API
  • 会用 Spring Boot, Next.js,但不理解底层原理
  • 复制 StackOverflow 代码,能跑就行

典型语言:

“我试过这样写,似乎可以。”

3️⃣ 胜任者(Competent)

特征:

  • 能规划和决策,开始理解 trade-offs
  • 能独立解决复杂问题,但需花时间分析
  • 开始形成 mental model(心智模型)

软件工程例子:

  • 能设计一个模块、一个服务的结构
  • 会做错误处理、日志、测试
  • 知道为什么要这样设计(能“解释”)

典型语言:

“我们可以这样做,但也有另外两种方案。”

4️⃣ 精通者(Proficient)

特征:

  • 能整体把握问题(holistic)
  • 直觉判断正确但仍会验证
  • 经验驱动,但能解释原因

软件工程例子:

  • 能 review 别人的架构,并指出潜在问题
  • 能预测系统瓶颈、故障模式
  • 开始“看到模式”并主动优化

典型语言:

“我感觉这里未来会出现问题,应该提前重构。”

5️⃣ 专家(Expert)

特征:

  • 完全直觉式判断,几乎一瞬间就知道问题所在
  • 解决方案精准、优雅
  • 规则对他们无意义,他们创造规则

软件工程例子:

  • 能设计架构蓝图、制定工程规范
  • 性能调优如探囊取物
  • 看代码就能直觉式发现 bug 根因

典型语言:

“这里的延迟不是网络问题,是你用了错误的数据结构。”

📊 五个阶段的对比

阶段 决策方式 核心能力
新手 按规则 需要指令
高级新手 模式识别(弱) 能处理常规任务
胜任者 思考 → 分析 → 行动 能规划
精通者 直觉 → 分析 看到模式
专家 直觉 创造新模式

💡 德雷福斯模型在工程成长中的启示

  • 新手需要 清晰规则(例如代码规范、PR 模板)
  • 胜任者开始需要 项目经验 而不是刷题
  • 精通者需要 复盘与反思
  • 专家依赖 积累 + 宽度 + 深度 + 复盘

如果你是一个新手,刚刚工作不久,那么不要被所谓的工作经验和所谓的资深工程师的说教局限住,你要去思考规则背后的原理,主动发现新问题然后去解决问题,越过高级新手阶段,直接向着胜任者、精通者和专家前进吧。

如果你是一个有多年经验的资深工程师,那么忘了你的工作年限吧,去问自己,我拥有和工作年限相匹配的工作技能吗?我在德雷福斯模型的哪个阶段?我该如何超越当前阶段,成为一个专家?


德雷福斯模型
https://liuyuhe666.github.io/2025/12/06/德雷福斯模型/
作者
Liu Yuhe
发布于
2025年12月6日
许可协议