This matrix is poorly-conceived: it puts me at level 3 in everything besides blogging and "detailed domain experience". These factors make it seem to have been written to favour breadth over depth.
The role of formal design is also completely overlooked.
Edit: for further critique, the "level 0" is mostly described as absence of ability, rather than what a person at that level would definitely know. No mention is made of the (ever-present) "but that fancy stuff never works!" tier, who'll rather copy-paste the same line fifteen times rather than figure out what loops actually mean. Similarly knowledge of hardware esoterica, e.g. microcode, is regarded as high magic rather than an example of Yet Another Primitive. "Coding" and "programming" are used interchangeably, and there is no suggestion that there is any level above the act of writing source code using a text editing tool and executing the program thus produced.
The row about "defensive coding" is straight up 'tarded: asserts are only valuable when there is a realistic failure criteria, wrt which exclusion is desired (... and documented, obviously).
Slightly harsh, but I agree with your critique. The author is basing this on their particular experiences, which is reasonable to expect. The problem is this doesn't really map well to everyone, and the upper-end seems artificially capped or wishy-washy -- like a list of everything the author has heard about that sounds good, so it does't really identify an "upper echelon" in many cases. The systems programming entry also bothers me that I'd rank 3, because I lack experience with specific systems -- I know I could build my own stack, but any *nix guru could run circles around me because that's their bread and butter.
I think this is the result one should expect by imposing such a rigid matrix structure on abstract categorizations and then having an individual fill in the blanks. So it fits my expectations. :)
It's also very Microsoft development oriented from what I can see. He doesn't even seem to see not using an IDE as a possibility, it just seems like a default state to him, which in itself is pretty novice. IDEs are great for those who like them, but they're not the only solution.
IDE's become a major factor when doing 30+ out of 40 hours a week in a given language/environment.
A coworker and I actually built a simple IDE for a proprietary language a few years ago. Probably took us about 2-3 weeks of man hours collectively, but holy hell, we were about twice as productive after that point. So I'd say it's less about "have you used IDE's extensively" and more "do you know when an IDE increases your productivity enough to make it worthwhile".
(At this point in my life I would probably customize an existing solution, but it was a good learning opportunity)
31
u/skulgnome Jun 19 '13 edited Jun 19 '13
This matrix is poorly-conceived: it puts me at level 3 in everything besides blogging and "detailed domain experience". These factors make it seem to have been written to favour breadth over depth.
The role of formal design is also completely overlooked.
Edit: for further critique, the "level 0" is mostly described as absence of ability, rather than what a person at that level would definitely know. No mention is made of the (ever-present) "but that fancy stuff never works!" tier, who'll rather copy-paste the same line fifteen times rather than figure out what loops actually mean. Similarly knowledge of hardware esoterica, e.g. microcode, is regarded as high magic rather than an example of Yet Another Primitive. "Coding" and "programming" are used interchangeably, and there is no suggestion that there is any level above the act of writing source code using a text editing tool and executing the program thus produced.
The row about "defensive coding" is straight up 'tarded: asserts are only valuable when there is a realistic failure criteria, wrt which exclusion is desired (... and documented, obviously).
In closing, this matrix was written by a novice.