Programmer Competency Matrix: This page presents a matrix of programmer skills and what it requires to be at different levels, 1-4, from novice to master.
For instance, for “data structures,” it outlines the following levels:
I picked “data structures” specifically for good reason: I still don’t know what a LinkedList is. I’ve always wondered, but I truly do not know. I’ve talked to Joe about it, and he claims I do actually know what they are and have used them, but since I have no formal training in computer science (I was going to be a lawyer, after all), I just don’t know one when I see it.
I looked through the entire list, and I average about the second level (level 1, because the levels are 0-based). That was a little humbling, but there are two points that are important to acknowledge here:
I score much higher on some things than others. For instance, I’m probably at level 3 for “version control,” level 4 for “communication,” and level 3-4 for “code organization.”
Thankfully, besides than one blip on “data structures, ” I don’t think I’m a complete novice for anything else (maybe “systems programming,” just because I’m not 100% clear on the difference between a “linker” and an “interpreter”).
This list is designed for pure programmers. If it was designed around Web development, I’d score much differently. Web development encompasses a wider variety of skills (both code and human-oriented), and it keeps you more superficial inside them. The reason I don’t know what a LinkedList is, for instance, is because I’m abstracted far enough away from C that I haven’t had to use them — there are usually three or four layers between me and the core implementation.
Even if these lists are totally arbitrary and just one guy’s opinion, they’re still valuable because they help you learn what you don’t know. If I really want to bone up on some aspects of programming, this matrix gives me a good roadmap of where to go.
Follow Gadgetopia on Twitter
There's help for you yet, Deane. :)
http://www.geeknews.net/2008/06/21/who-needs-a-computer-science-degree-when-theres-wikipedia
Humbling? That was damn right embarrassing!
And to think the blog post I read right before this was about Impostor Syndrome. I feel like giving all my clients a refund! I'm not worthy!
Hi,
I have "ported" the programmer competency matrix to Excel and added some self-evaluation functionalities.
Please find the Excel version of the Programmer Competency Matrix here: http://www.nodewave.com/programmer-competency-matrix