![]() |
|
The Stages of Domain Knowledge: Using the Dreyfus Model of Skill Acquisition - Printable Version +- Hack Forums (https://hackforums.net) +-- Forum: Tech (https://hackforums.net/forumdisplay.php?fid=444) +--- Forum: Coding (https://hackforums.net/forumdisplay.php?fid=151) +---- Forum: Coders Lounge (https://hackforums.net/forumdisplay.php?fid=5) +---- Thread: The Stages of Domain Knowledge: Using the Dreyfus Model of Skill Acquisition (/showthread.php?tid=4246545) |
The Stages of Domain Knowledge: Using the Dreyfus Model of Skill Acquisition - Haxalot - May 24, 2014 The Stages of Domain Knowledge:
Using the Dreyfus Model of Skill Acquisition "Ignorance more frequently begets confidence than does knowledge." -Charles Darwin
Throughout our careers, we'll acquire a number of different skills. For us programmers (to whom this article is tailored towards), we'll most probably learn multiple programming languages and be forced to keep up with the latest developments in those languages (unless you intend on teaching, ahem). There are no formal methods of measuring our knowledge of a particular domain - that is to say, no event theories in place that can actually 'measure' how knowledgeable we are in a particular field. Instead, there's only construct theories that can be used to help us rate our abilities. One construct theory is that of the Dreyfus model, and that's what we're going to be looking at throughout the rest of this article. We will firstly look at a bit of history with the Dreyfus model, by seeing where it has been successfully applied to in the past. We will then go through each of the five stages outlined by the Dreyfus model: novice, advanced beginner, competent, proficient, and finally expert. Lastly, we'll see how we can move up through the stages of the model to the final and most sought-after stage (expert). Throughout this article, we will also see what prevents us from moving up to the higher stages, and how we can overcome these hurdles. Definitions:
Historical Values As defined above, construct theories are evaluated in terms of their usefulness. It therefore makes sense for us to firstly look at where the Dreyfus model has been successfully applied to in the past and what effect its application has had. In the late 1970s, the US medical profession was experiencing a number of problems. Many of these problems derived from the widely taught and ubiquitously adopted practices. One of these dogmatic practices was ensuring that nurses only carried out orders given by doctors. This was problematic because doctors weren't always (or more accurately, were rarely) free to perform continuous check-ups upon all of their patients, and so they missed many of the subtle changes in their health (and therefore changes in their medical needs). Even though the nurses, who regularly tended the patients, noticed these subtle changes, they diligently went against their own intuition to follow the orders given by the doctors (due to common practice). This lack of responsibility given to nurses inadvertently made patient care worse, and as a result, the true goal of getting patients better was lost for practice over patient welfare. Things needed to be changed. In the early 1980s, the Dreyfus model was applied to the nursing profession. Nurses were given the ability to use their own intuition when caring for their patients as their medical conditions (and therefore needs) changed. This meant that they no longer carried out only orders given by doctors, but rather used their knowledge and experience to suggest different medical requirements - thus patient care improved. The encouragement in leveraging nursing experience instead of giving them context-free rules to follow ultimately placed patient welfare over common practice, which was after all the intended goal of patient care. Doctors still gave their (valuable) input based upon their intuition, but they were no longer definitive orders that couldn't be changed. With the above scenario in mind, we will now look at each of the stages proclaimed by the Dreyfus, along with the changes that occur when passing through each of these stages. The Five Stages The Dreyfus model states that there is a five-stage scale when it comes to human learning of a particular skill. It shows that when moving up through each of these stages, you don't just gain more knowledge or experience, but rather that you also undergo a number of other changes too. Such changes include how you perceive problems and how you go about approaching them, as well as the mental models you form and use during problem solving. Each stage in the model attempts to describe how and why our abilities, attitudes, capabilities, and perspectives change, as we're about to see. Stage 1 - Novice
Stage 2 - Advanced Beginner
Stage 3 - Competent
Stage 4 - Proficient
Stage 5 - Expert
Progressing Through the Five Stages I know most of you who have bothered to read this far are probably wondering how you can move up through these stages as fast as possible, right? Well unfortunately, there are no short-cuts to get you to the final stages in a matter of weeks (or months, or even years). But with that said, you can help yourself to move up through the stages more easily by knowing what barriers lie between you and the next stage and how to overcome these. I've spoken about many of these barriers in each of the Dreyfus model's five stages, so let's cover some new points about how to overcome these barriers. Avoid overestimating your own skills because that will lead to complacency. Complacency comes from ignorance (of not knowing what you don't know) - which is a condition mentioned a few times above called second-order incompetence. It's far better to underestimate your abilities and to actively seek out gaps in your knowledge than to coerce yourself into thinking you know it all already. The classic example of this that many will have fallen victim to is overestimating your knowledge in HTML. Many proclaim to be expert in this skill, and even laugh at HTML's simplicity; but are you really a primary source of knowledge in the field of HTML, even enough to write a whole book about it? (See The Definitive Guide to HTML5 - a 1080 page-long book written on HTML5 alone.) For example, do you know the various markup languages and how they can be embedded together, or even what the various versions of HTML bring? What about the plethora of Web Standards involved when writing in these markup languages? Or what about some of the more intricate features of them such as web sockets, web storage, the geolocation API, etc? Even with all of that knowledge behind you, you may not be considered expert in HTML. Don't rush your learning process. It's a trap I've fallen into many times (and I still do, unfortunately). When trying to master knowledge, without gaining experience in the process, you'll simply forget that knowledge (unless you're blessed with a perfect memory). It's just not effective and you'll find yourself spending a lot of time learning, just to forget what you've learnt a month or two (if that) down the line. You have to reinforce your knowledge somehow, and you must do this continually or your risk forgetting it. Everyone has their own method of this (and if you don't yet, then try to find at least one ASAP). For myself, I enjoy writing articles about what I've learnt. I also practice a lot by writing code to solve particular problems. Doing this each day (even if it's just 30 minutes or so) will greatly improve your problem-solving skills (one of the most important skills for a programmer to have), whilst helping you to reinforce your knowledge and give you some experience points too. Continually seek to evaluate your own work and look for improvements within your work flow. Self-assessment is a critical part of self-improvement and is very important when trying to progress through the stages of the Dreyfus model. Look for things that are time consuming in your work and try to automate them. Look over code you recently released and try rewriting it another way. Try out different tools that aren't in your de facto toolbox to see if they improve your efficiency when programming. There's a number of things you can do, so just give them a try and see what happens! At worst, you'll have wasted some time learning a (perhaps redundant) new skill. The Cessation Throughout this article, we've looked at the Dreyfus model and its five discrete stages, along with how we can better progress up through these stages when acquiring new skills. We've spoken about the curse of second-order incompetence and how to overcome this by developing better metacognitive abilities and actively seeking out what you don't know. We've also briefly looked at better retaining what you've learnt to prevent yourself from forgetting things soon after learning them. (A classic example everyone can related to is revision-cramming, where you intensively revise something shortly before an exam, just to forget all of that knowledge in just a couple of weeks time.) I hope this has given the people of HackForums a better idea of how you can not only rate each of your individual abilities (albeit subjectively, still), but also increase your proficiency in each of your skills with the aforementioned scale. I also hope this has shown why proclaiming to 'know' something is incredibly vague and subjective, therefore making it a rather useless statement because of the broadness of the spectrum involved. If you have enjoyed reading my article, and would also like to read more about the process of learning and how to become a more efficient learner, then grab a copy of this book: Pragmatic Thinking and Learning: Refactor Your Wetware. I have found it to be a very enjoyable and helpful read, and I'm sure you will too! * - ѕнα∂σω - May 25, 2014 So far this is a great read and puts a lot of things into perspective. However, I have one question. What exactly do you mean by "holistic understanding"? I'll write a proper reply once I finish - just wanted to ask that question. We need more of these types of articles around here. * - ~Dec - May 25, 2014 (May 25, 2014 08:21 PM)ѕнα∂σω Wrote: So far this is a great read and puts a lot of things into perspective. However, I have one question. What exactly do you mean by "holistic understanding"? When you talk of a holistic understanding, you essentially mean that you do not only understand the concept as a whole, or what parts of the whole concept are necessary, but how each and every part/step/process of the whole concept fits together. * - ѕнα∂σω - May 26, 2014 (May 25, 2014 10:11 PM)~Dec Wrote: When you talk of a holistic understanding, you essentially mean that you do not only understand the concept as a whole, or what parts of the whole concept are necessary, but how each and every part/step/process of the whole concept fits together. I see, thank you. The article itself was a great read and brings one back to his senses, in a way. I was mostly thinking of myself and Python while reading - it appears that I'm somewhere in between competent and proficient. I don't want to overestimate myself, but... The first to paragraphs of competent apply to me, even though I'm a bit higher than that. But I'll call it competent so as not to overestimate. However, I feel that I'm not completely lacking in a holistic understanding of the language and in the ability to reflect and self-correct. In that sense, I would say I'm proficient. However, skill-wise, I'm probably still only competent. I see lots of people boasting about how they are experts at something or at least proficient at something. I usually laugh it off because I know of only a few people on the forum who are indeed approaching real proficiency. Hard to find such people because it seems to be in the human nature to overestimate oneself. Anyways, thanks for the read. Great article. Really helped put things into perspective and allowed for a self-evaluation. * - Haxalot - May 26, 2014 (May 26, 2014 04:26 AM)ѕнα∂σω Wrote: I see, thank you. Thanks for the comment. When learning about the Dreyfus model, I too felt that whilst I could reflect upon and correct my previous performance, I didn't completely fit into the category of proficiency for my particular skill. I think we cannot be cleanly bound to a particular category because we develop parts of the same skill at different levels, and therefore we find ourselves overlapping to the next level before having finished the current level we are at. This is where the value of underestimating yourself comes in. It prevents you from thinking that you are better than you really are, and so you avoid complacency when building up a new skill. * - ѕнα∂σω - May 26, 2014 (May 26, 2014 08:09 AM)Haxalot Wrote: Thanks for the comment. When learning about the Dreyfus model, I too felt that whilst I could reflect upon and correct my previous performance, I didn't completely fit into the category of proficiency for my particular skill. I think we cannot be cleanly bound to a particular category because we develop parts of the same skill at different levels, and therefore we find ourselves overlapping to the next level before having finished the current level we are at. I was going to mention that but I forgot. Indeed, it's hard to place someone into strictly one category. Actual skill and the understanding of your skill are both interrelated, but they may not always be on the same point in the Dreyfus scale. * - Skyla Blue - May 26, 2014 Very nice article you've got here. I do have one question though. Where do the seemingly smart, yet extremely douchey people fit in that model? Are they proficient? Are they experts? Are they simply novices with big egos? I've encountered several people who are like that. EDIT: Also, what are your thoughts on child prodigies? Are they legit? I don't remember his name off hand, but some kid makes quite a bit of money selling iPad/iPhone apps, and he is 15 (at the time of the Youtube video, so he is probably 16 or 17 now). I looked at some of his apps, and they were extremely basic, a calculator, some organiser thing, etc. Maybe he's selling some super crazy stuff on the underground, but from what I saw he's no prodigy programmer. * - lalalox4 - May 27, 2014 Very interesting article, I greatly admire your skill in the learning field and your will to share knowledge about it. * - Haxalot - May 27, 2014 (May 26, 2014 06:23 PM)Skyla Blue Wrote: Very nice article you've got here. I do have one question though. Where do the seemingly smart, yet extremely douchey people fit in that model? Are they proficient? Are they experts? Are they simply novices with big egos? I've encountered several people who are like that. It's difficult to say based upon someone's personality (and I'm not quite sure how you're exactly defining 'douchey'). You have answered your own question though - they could be experts, proficients, or more simply egotistical people on the lower end of the Dreyfus model (though if they're seemingly smart, then they're unlikely to be novices). (May 26, 2014 06:23 PM)Skyla Blue Wrote: EDIT: Also, what are your thoughts on child prodigies? Are they legit? I don't remember his name off hand, but some kid makes quite a bit of money selling iPad/iPhone apps, and he is 15 (at the time of the Youtube video, so he is probably 16 or 17 now). I looked at some of his apps, and they were extremely basic, a calculator, some organiser thing, etc. Maybe he's selling some super crazy stuff on the underground, but from what I saw he's no prodigy programmer. Some people do just naturally take to particular things (especially if they're passionate about it). Whilst people of that age wouldn't eligible for the expert stage (because of their obvious lack of experience given their age), they could easily be at the proficiency stage. -- (May 27, 2014 03:08 PM)lalalox4 Wrote: Very interesting article, I greatly admire your skill in the learning field and your will to share knowledge about it. Thanks for the comment. I'm glad you enjoyed the article. |