Nice breakdown HERE.
5 groups are covered: Computer Science, Software Engineering, Programming, Experience and Knowledge.
Your competency is rated from Level 0 (beginner) to Level 3 (expert) across categories within each group.
- Level 0 == 2n
- Level 1 == n2
- Level 2 == n
- Level 3 == log(n)
These were unexpected.
Programming in the category scripting:
- n (Level 2) – PowerShell/Perl/Python/Ruby/VBScript
- log(n) (Level 3) – if you have published reusable code
Software Engineering in the category build automation:
- 2n (Level 0) - if you only know how to build from the IDE
- log(n) (Level 3) – Can setup a script to build the system and also documentation, installers, generate release notes and tag the code in source control
Knowledge in the category blogs:
- n2 (Level 1) – Reads tech/programming/software engineering blogs and listens to podcasts regularly
- log(n) (Level 3) – Maintains a blog in which personal insights and thoughts on programming are shared




{ 3 comments… read them below or add one }
Very interesting — thanks for sharing. I find myself thinking he’s missed the difficulty-level on some of those (like scripting, and source control), but perhaps these are just areas where I’ve gone off the chart
Well we know you’re off the chart
Maybe a follow up post and your additional thoughts in those areas might be good?
I would strongly take issue with DVCS being the ultimate in source control experience.
I think this would be better:
Level 0: Backup folders.
Level 1: Can use a VCS to make check-outs and check-ins.
Level 2: Can merge changes between branches, create or apply patches, and label builds and releases.
Level 3: Can create a repository from scratch or setup a branching structure appropriate for a project. (Possibly change that to “Understands various branching structures and how to use them”)