Refactor Your Wetware
by Andy Hunt (Pragmatic Programmers)
Free chapter online:
Journey From Novice to Expert
Use the Dreyfus Model on the road to expertise:
Stage 1: Novices
Novices have little or no previous experience in this skill area. By “experience,” I mean specifically that performing this skill results in a change of thinking...
They can, however, be somewhat effective if they are given context-free rules to follow, that is, rules of the form “Whenever X happens, do Y.” In other words, they need a recipe.
Stage 2: Advanced Beginners
Once past the hurdles of the novice, one begins to see the problems from the viewpoint of the advanced beginner. Advanced beginners can start to break away from the fixed rule set a little bit. They can try tasks on their own, but they still have difficulty troubleshooting.
Stage 3: Competent
Competent practitioners can now develop conceptual models of the problem domain and work with those models effectively. They can troubleshoot problems on their own and begin to figure out how to solve novel problems—ones they haven’t faced before. They can begin to seek out and apply advice from experts and use it effectively.
Stage 4: Proficient
Proficient practitioners need the big picture. They will seek out and want to understand the larger conceptual framework around this skill. They will be very frustrated by oversimplified information.
Stage 5: Expert
Experts are the primary sources of knowledge and information in any field. They are the ones who continually look for better methods and better ways of doing things. They have a vast body of experience that they can tap into and apply in just the right context.