Saw this blog post from 2005 about identifying your skill level in any programming language, the post still remains relevant and hits the points right on. Author stated it would take you 10 years to become an expert programmer, but that I think is debatable which is the only thing I don’t agree with his post.
Which skill level do you think you have?
Quoted from procata.com
Level 1: Beginner
* Little or no previous experience
* Doesn’t want to learn: wants to accomplish a goal
* No discretionary judgement
* Rigid adherence to rulesLevel 2: Advanced Beginner
* Starts trying tasks on their own
* Has difficulty troubleshooting
* Wants information fast
* Can place some advice in context required
* Uses guidelines, but without holisitic understandingLevel 3: Competent
* Develops conceptual models
* Troubleshoots on their own
* Seeks out expert advice
* Sees actions at least partially in terms of long-term plans and goalsLevel 4: Proficient
* Guided by maxims applied to the current situation
* Sees situations holistically
* Will self-correct based on previous performance
* Learns from the experience of others
* Frustrated by oversimplified informationLevel 5: Expert
* No longer relies on rules, guidelines, or maxims
* Works primarily from intuition
* Analytic approaches only used in novel situations or when problems occur
* When forced to follow set rules, performance is degraded