Programmer Competency Matrix from Indiangeek

HackerNews-ed site good for managers and geeks alike 🙂 Sometimes you wish your compensation is more proportional to this guide than the number of years you have worked in a company.

Source: IndianGeek

IG

Personally, I think I have all the level 2s, even without much coding practice these days. At points in my life I’ve attempted to do things in level 3 “for fun” or “for class”, and accomplished some (e.g. the various data structures for class, while “Maintains a blog in which personal insights and thoughts on programming are shared” for fun.. didn’t quite work out I guess…) Other times I wished I had the time to do things like “Has actually written tools and scripts, added bonus if they’ve been published” and “Concurrent (Erlang, Oz) and Logic (Prolog)“. I think you reach a level of which, if you’re log(n) on this chart, you’re probably n2 on some tangible project on a full time basis.

On the other hand, I think level 2 is a absolute basic minimum for any programmer to achieve professionally. This begets the question, are the training courses that we have today for both fresh graduates and mid-careers sufficient? How long did you need to stare at TDD to realize that it’s “Test Driven Development” and actually know how to do it, not in principle, but to run an hour build / test? What’s the definition of “long function” or a “short function”? Does it mean anything to “normalize” your database tables, and if so how much to do so before compromising query speed (not to mention the rise of hadoop and other map/reduce way of accessing data)?

More importantly, how much of a project does one need to get involve in to build up to at least a level 2 capability, in the said amount of time (4 to 5 years, I actually think a good CS education and 2 years is sufficient)? A large number of “programming” jobs aren’t really programming in the sense that it’s simply a reactionary fix-me-if-i’m-broken, find-pattern-look-up-google-for-syntax kind of game of making sure something “works” for the boss. In other words, those jobs can be quite detrimental in the long run for achieving “programming competency” if there’s such a thing. The usual rebuttal is “someone’s gotta do it”, and chances are it’s the low cost countries – is that really the case?

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top