Exploring the Dreyfus Model
Summary
This episode of Developer Tea introduces and explores the Dreyfus model of skill acquisition, a theoretical framework that describes how individuals progress through five distinct stages when learning a new skill. Host Jonathan Cottrell explains that the model moves from novice (following rules without context) to advanced beginner (applying rules in new contexts) to competent (selecting appropriate rules based on context) to proficient (developing intuition toward goals) and finally to mastery (automatic, intuitive application of skills).
The discussion focuses particularly on how this model applies to software developers and their career progression. Cottrell uses examples like refactoring and HTML to illustrate how developers can assess their current skill level within this framework. He emphasizes that different skills within software development may be at different stages, and understanding where one stands can help direct learning efforts.
Cottrell acknowledges that the Dreyfus model is a theory rather than definitive science, noting reasonable criticisms such as the fact that even masters often remain methodical in their decision-making rather than purely intuitive. However, he argues that the model provides a useful framework for self-assessment and learning goal setting.
Ultimately, the episode encourages listeners to use models like Dreyfus to gain clarity about their skill development while maintaining perspective that all learning is contextual. The host cautions against treating the model as absolute truth while recognizing its value in helping developers move from disintegrated skill application to fully integrated, intuitive practice.
Recommendations
Models
- Dreyfus model — A skill acquisition model describing five stages from novice to master, discussed as a framework for understanding learning progression in software development.
Topic Timeline
- 00:00:00 — Introduction to skill acquisition theories — Jonathan Cottrell introduces the topic of skill acquisition, noting that most understanding comes from observation rather than definitive science. He explains that skill acquisition differs from general learning as it focuses on applying knowledge in performable ways, typically related to career development. The episode will explore the Dreyfus model as one interesting theoretical framework for understanding skill progression.
- 00:02:26 — Introducing the Dreyfus model — Cottrell introduces the Dreyfus model (pronunciation uncertain) as a framework for understanding different phases of learning. He explains that the model can help developers recognize where they are in their skill development journey. Rather than starting with the formal stages, he begins by describing how the progression typically works for developers in practical terms.
- 00:02:56 — Beginner stage: following rules without context — The host describes the initial beginner stage where developers start by learning basic rules from documentation, copying code, and following style guides without understanding why. At this stage, there’s little friction as rules seem to work consistently across simple examples. Developers are essentially ‘faking it’ while building muscle memory for the next stage.
- 00:04:34 — Encountering friction and rule selection — As developers encounter more complex contexts, they start experiencing friction when rules don’t apply in the same way or begin to conflict with the context. This leads to the first experiences of failure and confusion. Developers must start picking which rules apply in which situations, marking the transition from simple rule-following to more contextual application.
- 00:05:26 — Developing intuition and automatic application — With continued experience across various contexts, developers begin to develop intuition about their goals and which rules apply. Eventually, this intuition becomes automatic, allowing for fluid application of skills. Cottrell notes that even masters often remain methodical, so intuition isn’t the only hallmark of expertise.
- 00:06:50 — The five formal stages of the Dreyfus model — Cottrell outlines the five formal stages: novice (no context, just following rules), advanced beginner (applying rules in new contexts), competent (selecting rules based on context intentionally), proficient (developing intuition toward clear goals), and mastery (automatic, intuitive application). He emphasizes that the competent stage is particularly interesting as it’s where integration begins and mistakes happen.
- 00:09:33 — Applying the model to career development — The host explains how developers can use the Dreyfus model to assess their skill levels across different areas of software development, using refactoring as an example. He suggests identifying which stage you’re at for each skill and using that understanding to set learning goals—whether that means learning basic rules, applying them in multiple contexts, or developing stronger intuition.
- 00:11:08 — Limitations and contextual nature of the model — Cottrell acknowledges that the Dreyfus model is a theory with limitations, noting that proficiency doesn’t require knowing all rules if those rules don’t apply to your context. He emphasizes that everything is contextual in skill acquisition and cautions against treating the model as definitive truth or using it to justify excessive theoretical learning over practical application.
Episode Info
- Podcast: Developer Tea
- Author: Jonathan Cutrell
- Category: Technology Business Careers Society & Culture
- Published: 2018-10-05T09:00:00Z
- Duration: 00:13:28
References
- URL PocketCasts: https://pocketcasts.com/podcast/developer-tea/cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263/exploring-the-dreyfus-model/dd99a9e6-a191-45b1-8b3e-038e1cad43e5
- Episode UUID: dd99a9e6-a191-45b1-8b3e-038e1cad43e5
Podcast Info
- Name: Developer Tea
- Type: episodic
- Site: http://www.developertea.com
- UUID: cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263
Transcript
[00:00:00] Skill acquisition is a difficult process, to say the least. We aren’t really 100%
[00:00:11] certain how people acquire skill. It still is theoretical. A lot of the reason for this is
[00:00:17] because most of what we can do is observe. We can observe how people acquire skill and we can
[00:00:25] hopefully learn from those who acquire skills efficiently and compare them.
[00:00:33] Ultimately, though, most of the ways that we describe skill acquisition are still in terms of
[00:00:40] theory rather than science or, I guess, proof. But the theories that do exist are pretty
[00:00:48] interesting and we’re going to talk about one of those in today’s episode. My name is Jonathan
[00:00:53] Cottrell and you’re listening to Developer Team. My goal on this show is to help driven developers
[00:00:57] like you connect to your career purpose and to do better work so you can have a positive influence
[00:01:02] on the people around you. And one of the most important things you will do in your career
[00:01:07] is continue to acquire skills. Acquiring a skill is really kind of the directed process
[00:01:15] of learning. We talked about learning very recently on the show and over the course
[00:01:21] of the show’s entire lifespan. But more recently, we’ve been discussing how learning occurs
[00:01:29] in usable ways. And in today’s episode, I want to discuss this more in that directed skill
[00:01:36] acquisition perspective. So just to delineate between these two a little bit more clearly,
[00:01:43] skill acquisition is learning for the sake of applying knowledge in some performable way.
[00:01:51] Skill is something that you can use your mind and not only to recall that information but to
[00:01:59] apply that information. And typically the way that we talk about skills is as a useful thing
[00:02:06] with relation to your career. That is certainly true, although it’s also important to understand
[00:02:11] that not all skills will necessarily be directly useful. And this model can still apply to
[00:02:19] skill acquisition in those arenas as well. So the model is called the Dreyfus model,
[00:02:26] or maybe the Dreyfus model. I’m not really sure how to pronounce his name. And this is new to
[00:02:32] me. And I’m really excited to share this with you, because this model can really help
[00:02:38] you understand kind of different phases that you go through when you’re learning. And we’re
[00:02:44] going to kind of talk about this model rather than talking about it purely in stages first.
[00:02:49] I want to kind of give you an idea of how this progression works out for most developers.
[00:02:56] So when you first start out as a developer, you have the sense that there are rules.
[00:03:04] There seem to be some really obvious things that you need to be paying attention to. And so
[00:03:09] you go and you learn the very basic beginner rules. You start out with the documentation,
[00:03:18] and you don’t really stray anywhere beyond that. Most of the time you’re copying and
[00:03:23] pasting code, or you’re reading things directly from a previous example, or maybe you’re doing
[00:03:31] things exactly how another person’s style guide has said to do them. And so everything seems to
[00:03:41] work. You’re not producing anything particularly groundbreaking, but you’re also not experiencing
[00:03:47] a lot of friction. You’re not really running into a lot of problems. And so you move forward
[00:03:52] and perhaps this first phase that you’re in, you’re kind of building the single
[00:04:01] example, but then you move on to the second example. And you’re taking the rules that you
[00:04:06] had in the first example, and you’re trying to see how do these same rules apply in this new
[00:04:12] scenario. And so as it turns out, even in the second example, you’re still kind of learning
[00:04:19] and applying the rules, and so you’re not really facing a lot of friction. And as you
[00:04:25] continue forward, you continue to find the rules useful, but you start encountering
[00:04:34] contexts where those rules don’t really apply in the same way. And perhaps they start colliding
[00:04:40] with the context in a way that you’re finally experiencing a little bit of friction. And
[00:04:46] so you’re having to pick and choose which rules do apply. And as you figure out which
[00:04:54] rules apply, this is the first time where you start actually experiencing some failure,
[00:05:00] and perhaps even failure that leaves you completely confounded. But eventually as you
[00:05:06] continue to gain experience, as you continue to see many different contexts where all of these
[00:05:12] various types of rules and ways of doing things, they apply in those particular contexts,
[00:05:19] you become more familiar and perhaps comfortable. Now, rewinding back to the beginning,
[00:05:26] when you were applying the rules that you found, you didn’t really know why you were applying them,
[00:05:31] and you weren’t even really sure exactly what the point was in some of the actions you were
[00:05:36] taking. You were just kind of following the rules. But now at this stage, you kind of have
[00:05:42] an intuition. You know what your goal is. And now you’re not really sure every single time
[00:05:50] right off the bat which rules are going to apply, but you do have an intuition and you know
[00:05:57] where you’re headed. And eventually after doing this over and over, after gaining the
[00:06:03] intuition for your goals and then applying rules and achieving those goals, at some point,
[00:06:10] the intuition for what rules apply in a given scenario kind of becomes automatic.
[00:06:19] Now, of course, I’m not endorsing this theory as 100% true. And there’s some reasonable
[00:06:26] criticism of this theory. Like for example, the fact that people who are at that high level
[00:06:31] of mastery, the very end of that phase that we just discussed, they still very often are
[00:06:38] very methodical about their decision making. And so intuition is not the only hallmark
[00:06:43] of being a master at a given subject. But the specifics of the Dreyfus model
[00:06:50] as they come together are particularly interesting. As you go from this very early beginner
[00:06:58] stage, we have no context, nothing is integrated. You really don’t know anything about what you’re
[00:07:04] doing. You’re just kind of the middleman between the rules and the actions. You’re sort of faking
[00:07:10] it, right? And in some ways, the faking it part is giving you the muscle memory that you need
[00:07:17] to get to the next stage. The second stage is that advanced beginner stage where you’re taking
[00:07:24] these rules that you’re learning in one context and you’re applying those same exact rules
[00:07:30] in the new context. So even though you may not understand why you’re applying these rules,
[00:07:36] you do understand that the context has changed and you’re starting to learn about how that
[00:07:41] context changes over time. The third stage is perhaps the most interesting stage because
[00:07:48] it’s the first stage where you begin to make some mistakes and the integration
[00:07:54] begins to happen. You start having enough rules available to you at your disposal
[00:08:01] that they don’t all apply all at the same time. So now it’s not only that you recognize context,
[00:08:08] but you’re also starting to pick the rules that you want to use in a given context. And this
[00:08:14] stage is where you become competent. You have context and you’re using that context
[00:08:22] to actually make decisions. However, you haven’t developed much of an intuition yet.
[00:08:27] Everything is a very intentional and methodical process. And this stage is really about being
[00:08:35] able to observe what is happening. You can see what’s happening. You can see the inputs and
[00:08:40] the outputs. You understand kind of the picture and how you are affecting it. Eventually,
[00:08:46] you will get to the place where you have proficiency. Now this goes beyond competency
[00:08:53] and you start to gain intuition when you are proficient. And proficiency means that you have
[00:09:00] a clear picture of the goal. Now you may not have all of the actions lined out in your
[00:09:06] head immediately when you see the goal, but proficiency gives you a stronger intuition for
[00:09:12] how to achieve what you’re trying to achieve. And then finally, the kind of fully automatic
[00:09:18] intuition for what rules apply in what context and what combination of rules. This is full-blown
[00:09:26] mastery of a skill. So how does this work out? How does this actually apply to your career?
[00:09:33] How can you use this skill acquisition model to drive the way that you’re thinking and learning
[00:09:40] as you progress through your career? Well, the first thing that you can do is recognize
[00:09:45] where you are in this line. What phase are you at with various skills? For example,
[00:09:54] software development has a whole litany, a whole list of skills involved. And you can pick
[00:10:01] any one of them and really understand kind of where you sit in these five stages.
[00:10:07] An example might be refactoring. Are you a proficient refactoring
[00:10:14] developer? And how would you know this? Well, do you have a very clear picture of the rules?
[00:10:20] Do you understand how to apply them? And do you understand what context to apply those rules
[00:10:26] in? And what you can do is take this information and use it to drive your learning
[00:10:33] goals. So if you don’t have a clear picture of the rules, then perhaps that’s a good
[00:10:38] first step. You need to understand the rules, understand the playing field,
[00:10:42] and then you need to apply those rules in multiple contexts, right? And then just walk
[00:10:47] through this Dreyfus model and figure out places where perhaps your understanding is
[00:10:55] missing or maybe if you’re in the later stages of your skill acquisition where your intuition
[00:11:01] is lacking. Ultimately, as we’ve already mentioned multiple times on today’s episode,
[00:11:08] these kinds of models are theories. At the end of the day, they don’t describe skill
[00:11:13] acquisition perfectly. For example, you may have a very strong level of skill
[00:11:20] writing HTML, let’s say. And you may not have a perfect full dictionary of all of the rules
[00:11:28] for HTML, but you may be quite proficient with it. How can we have these two things in
[00:11:34] tandem with each other? Well, this is partially because some of the rules of HTML don’t
[00:11:40] necessarily actually apply to you. Not that they don’t apply in general, but rather that
[00:11:47] you’re not encountering situations where those rules apply. And so having that knowledge
[00:11:52] doesn’t really have an overall detrimental effect on that skill. And so the whole point of that is
[00:12:00] not to say that you don’t have to learn all the rules, but rather to say that everything
[00:12:04] is contextual when we talk about these learning models and ways of thinking about things like
[00:12:10] skill acquisition. So I encourage you to use models like the Dreyfus model to understand
[00:12:16] where you’re at and to try to get a clearer picture of your profile, the way that you learn
[00:12:25] and things that you may be able to work on. But don’t take this model and treat it as if it’s
[00:12:31] the definitive truth or go and decide that instead of building something with JavaScript,
[00:12:41] that you need to go and learn the spec. That’s not the message that I want you to take away
[00:12:46] from this show, but instead understand that we progress and eventually we move from this kind of
[00:12:54] disintegrated picture of a skill to a fully integrated and intuitive practice with that skill.
[00:13:02] Thank you so much for listening to today’s episode of Developer Tea. We didn’t have a
[00:13:06] sponsor in today’s episode and in lieu of spending time listening to a message from a
[00:13:12] sponsor, I encourage you to take a moment and subscribe in whatever podcasting app you use.
[00:13:18] Thank you so much for listening and until next time, enjoy your tea.