Seaman's Log

Big Ideas & Deep Thoughts

Previous More Next


Skills take time and practice. Great resources speed up learning but true expertise takes a big investment in both time and energy.

How long does it take to learn a new technology?

The Dreyfus Model (google for more detail) offers the best explanation of how effectiveness grows over time. For this model to apply the domain must be sufficiently complex where learning can occur over years. The graph shown above is based on the Dreyfus Model but seeks to quantify investment required to reach each level.

These numbers are not scientifically reported but based on my personal observations of watching many people learn many technologies. Some may quibble with the exact amounts but the overall trends match the real world results.

The model has five levels of proficiency. I've left off the Novice level since it provides no real measurement. Each stage represents a plateau of understanding and behavior that can last for a long time. By investing time and energy a person is able to experiment with the technology and eventually achieves a breakthrough. When a person reaches the next level things stablize for a while. Later levels require roughly ten times the investment of the last level.

Beginner understanding can be achieved in about 10 hours of diligent practice. At this stage a cookbook is required to achieve success. This level is marked by a lot of mistakes and close supervision is needed to stay on track.

Competent understanding can be achieved in about 100 hours of diligent practice. During this time the individual has mastered all of the basic concepts and can produce the desired results. Productivity may be low and unexpected things may cause the person to struggle.

Proficient understanding can be achieved in about 1,000 hours of diligent practice. This stage is characterized by seeing the true complexity in every situation. A deep understanding of root causes allows this person to apply knowledge to any new problem. Past experience lets them troubleshoot problems quickly and with little effort.

Expert understanding can be achieved in about 10,000 hours of diligent practice. An expert is the leader in a field, and has the equivalent of a PhD level understanding of the domain. They work intuitively and effortlessly. When asked they often can't explain how they make decisions, since they have arrived at an intuitive and automatic response.

This model applies to a wide variety of fields as diverse as Olympic athletes, Genetics, Physics, and Web Development. There is no short-cut to understanding and everyone must pay the price.

This book is written so that a beginner can quickly become competent. It also contains enough material to guide your journey all the way to proficiency. By studying the Design Patterns, Demo code, and working the Projects you will well on your way to mastery with Python Web Apps.


Read More