In NYC, we are working on creating a collaborative community programming environment and trying to segment out software engineers into differing buckets. At present, we are trying to define:
- Beginners
- Intermediates
- Advanced
- Experts (and/or Masters)
Similar to an apprenticeship, you would need to demonstrate specific skills to achieve different levels. Right now, we have identified beginner programming skills as:
- Object - method, attributes, inheritance
- Variable - math, string, array, boolean - all are objects
- Basic arithmetic functions - precedence of functions
- String manipulation
- Looping - flow control
- Conditionals - boolean algebra
This is a first attempt, and it is a challenge since we know the natural tension between programming and software engineering.
How would you create such a skills-based ranking for JavaScript in this manner? For example, what would be the beginner JavaScript skills that you would need to have to advance to the intermediate training?
And so on.