Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Programmer competence matrix (self test)

This thread is locked; no one can reply to it. rss feed Print
 1   2 
Programmer competence matrix (self test)
Arthur Kalliokoski
Second in Command
February 2005
avatar

There was a question on stackoverflow about when does a programmer move up to intermediate level, and one of the responses had this link:

http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm

I'd say I'm just barely into the level2 catagory overall, with some hot spots at both extremes. (started with assembly code, but thought Excel was a database :o )

Comments please.

They all watch too much MSNBC... they get ideas.

bamccaig
Member #7,536
July 2006
avatar

kazzmir
Member #1,786
December 2001
avatar

My power rating is 4 trillion.

OnlineCop
Member #7,919
October 2006
avatar

Computer Science:
- data structures: log(n)
- algorithms: n
- systems programming: log(n)

Software Engineering:
- source code version control: n
- build automation: between n2 and n
- automated testing: n2

Programming:
- problem decomposition: log(n)
- systems decomposition: between n2 and n
- communication: log(n)
- code organization within a file: log(n)
- code organization across files: use n in practice for personal projects, but use log(n) for large projects
- source tree organization: log(n)
- code readability: n
- defensive coding: between n2 and n
- error handling: n
- IDE: n, some log(n)
- API: higher n2 to lower n
- frameworks: sadly, between 2n and n2
- requirements: log(n)
- scripting: n
- database: n2

Experience:
- languages with professional experience: uh... I don't really understand the question, so... 2n?
- platforms with professional experience: n, low end
- years of professional experience: n
- domain knowledge: n

Knowledge:
- tool knowledge: n2
- languages exposed to: mid-to-high n2
- codebase knowledge: log(n)
- knowledge of upcoming technologies: n
- platform internals: n
- books: log(n)
- blogs: between n and log(n)

If anyone wants to average that for me, go knock yourselves out ;):P

Crazy Photon
Member #2,588
July 2002
avatar

n for most points, with a few n2 and log(n).

-----
Resistance is NEVER futile...

Trent Gamblin
Member #261
April 2000
avatar

My average was somewhere around 1.7 if I calculated correctly. I had a lot of log(n) points but like 5 2^ns.

Edit: I did calculate wrong... it was actually 1.96, 1 "point" away from an even 2.

Thomas Fjellstrom
Member #476
June 2000
avatar

I'd say I'm between Level 2 and Level 3 for most of it. But I need to improve wrt TDD, and Functional programming.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Neil Walker
Member #210
April 2000
avatar

There are some pretty subjective things there, like you aren't a level 3 until you've tried GIT or programmed in Erlang or read a book on Forth.

Neil.
MAME Cabinet Blog / AXL LIBRARY (a games framework) / AXL Documentation and Tutorial

wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie

Arthur Kalliokoski
Second in Command
February 2005
avatar

There are some pretty subjective things there, like you aren't a level 3 until you've tried GIT or programmed in Erlang or read a book on Forth.

Quote:

Knowledge of distributed VCS systems. Has tried out Bzr/Mercurial/Darcs/Git

I think the specifics were more like examples, naturally everyone's done stuff that wasn't in the test but don't get credit for. I thought most of you guys would have gotten higher, I only have vague notions about half the stuff you talk about.

They all watch too much MSNBC... they get ideas.

Thomas Fjellstrom
Member #476
June 2000
avatar

Oh, I also need to improve my knowledge of more advanced data structures and algorithms (I can do hash tables, linked lists, trees, etc).

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Trent Gamblin
Member #261
April 2000
avatar

My zeros:

Automated testing: boooring!
Defensive programming: I'm probably actually above a zero on this one, but again, boooring.
Platforms with professional experience: Well technically I own a business now, so I just started programming professionally. So only 1 platform, though I've programmed a whole lot more than that.
Years of professional experience: See above
Platform internals: I don't know why I gave myself a 0 on this one. I'm at least a 2...

Neil Walker
Member #210
April 2000
avatar

and they also missed out on 'has written a game' :)

Neil.
MAME Cabinet Blog / AXL LIBRARY (a games framework) / AXL Documentation and Tutorial

wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie

Slartibartfast
Member #8,789
June 2007
avatar

I'm mostly n^2 and n, probably a level 1.5, very few extremes (to both ends), I'm pretty sure my best score is in the Computer Science category.
Nice table, I'll favourite that and whenever I feel like learning something new I'll draw inspiration from that.

gnolam
Member #2,030
March 2002
avatar

There are some pretty subjective things there, like you aren't a level 3 until you've tried GIT or programmed in Erlang or read a book on Forth.

... why would you even need an entire book on Forth?

--
Move to the Democratic People's Republic of Vivendi Universal (formerly known as Sweden) - officially democracy- and privacy-free since 2008-06-18!

Evert
Member #794
November 2000
avatar

Somewhere between 2 and 3, based on a quick examination. I didn't add up the numbers though. I probably score worst at the computer science part, but I'm not a computer scientist and never studied computer science.

Steve Terry
Member #1,989
March 2002
avatar

I would say I'm a little bit between level 2 and level 3 but I did only a quick glance over most of the sections.

___________________________________
[ Facebook ]
Microsoft is not the Borg collective. The Borg collective has got proper networking. - planetspace.de
Bill Gates is in fact Shawn Hargreaves' ßî+çh. - Gideon Weems

MiquelFire
Member #3,110
January 2003
avatar

I would guess I'm between 1 and 2. In some cases, I am a 3 on a technically. When I have the time, I should go through it all.

---
Febreze (and other air fresheners actually) is just below perfumes/colognes, and that's just below dead skunks in terms of smells that offend my nose.
MiquelFire.red
If anyone is of the opinion that there is no systemic racism in America, they're either blind, stupid, or racist too. ~Edgar Reynaldo

Kibiz0r
Member #6,203
September 2005
avatar

2.2 here. I found that a lot of these depended a lot on what you were working on, and not necessarily how well you work on it. It has a lot of good things to keep in mind, but it's definitely not a comprehensive test of ability.

Edit: Do you get bonus points if you kept track in a .txt then wrote a Ruby script at the end to grab your average score rather than do it yourself?

Trezker
Member #1,739
December 2001
avatar

API was funny, I fullfill level 3 but I still have to look up stuff all the time. Though that's probably because I'm currently using API's that are still pretty new to me.

Too lazy to calculate where I am on average. But I'd guess somewhere near level 2.

EDIT: 4000 posts!

furinkan
Member #10,271
October 2008
avatar

:3 Seems I'm a 1 across the board (with some 2s). Oh well, that means I have a lot of room for improvement.

Niunio
Member #1,975
March 2002
avatar

A problem here: I'm Spanish.

I mean, what does "Defensive programming" mean? What does "Codebase knowledge" means? What does "Domain" mean? Actually I can translate those words to Spanish but they are nosense for me (actually they have "sense" but they haven't in computer or programming. May be we use different words for the same concepts...).

BTW I think I'm mostly on n and log(n) with few exceptions. Too lazy to calculate it.

-----------------
Current projects: Allegro.pas | MinGRo

Trezker
Member #1,739
December 2001
avatar

Codebase and domain apply to the specific job you're applying for. So nothing you can say in general. Of course you could apply them to whatever project you're currently working on.

And defensive programming, doesn't the page explain what they mean by that?
It basically means that you don't just barge ahead implementing stuff. Being defensive means that you make sure errors are caught and/or handled.

Like what people often say around this forum, check the return values of allegro functions. Don't just assume they did what you expect just because they don't crash your program.

I must admit I suck at defensive programming, but I do know about it and if required by the man in charge I will apply it. Currently I am in charge and I'm lazy...

axilmar
Member #1,204
April 2001

I'm between n^2 and n.

Is it possible for a human to be in the log(n) level for most of the domain knowledge? I think not.

jhuuskon
Member #302
April 2000
avatar

This matrix very clearly elaborates why I chose automation instead of computer science or IT. Making robots move is so much cooler than de-encabulating a database.

You don't deserve my sig.

GullRaDriel
Member #3,861
September 2003
avatar

They don't have something high enough to score my level ^^

I am between n and n^2 or so.

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

 1   2 


Go to: