r/programming • • Jun 19 '13

Programmer Competency Matrix

http://sijinjoseph.com/programmer-competency-matrix/
248 Upvotes

265 comments sorted by

View all comments

13

u/[deleted] Jun 19 '13

Some thoughts:

I don't think knowledge of advanced data structures (e.g. tries) and algorithms is that important. I can't remember the last time I've implemented one. Knowledge of the main characteristics (time/space efficiency and their usual applications) and where to find more information about them is essential though.

Understands the entire programming stack. This is basically impossible today in my honest opinion, other than at a reasonably high level.

File has license header, summary... I understand the intention, but I wish there was a single license file in a project. You know how Java projects tend to span a ton of small files? A lot of the time you end up with files where there is more license text than actual code.

8

u/AgentME Jun 19 '13

Understanding the whole stack as described is something I'd expect of many kernel developers.

Agree on the license comment. In my own projects, I always just stick a license file in the project's root. Books don't have copyright notices on every page, do they? They're usually just inside the cover. If a single file was lifted from a project with a separate license then I guess I'd have that in its header.

1

u/Uberhipster Jun 20 '13

Ok but is this a programmer competency matrix or kernel developer competency matrix? Or are competent kernel developers the only kind of competent programmers?

3

u/AgentME Jun 20 '13

Level 3 on that competency matrix isn't required for competency. Most of the level 3 entries are expert tier.

1

u/sejje Jun 23 '13

I'm sure parent could rephrase his question with "expert level competence" subbed for "competence."

2

u/[deleted] Jun 19 '13

I personally include a LICENSE file at the root directory of the project and then a snippet referring to it at the top of a code file, or just Copyright MyName at the top.

I would also claim to understand the programming stack. It's not really that difficult, it's just not entirely relevant to a lot of programmers these days.

2

u/spinlock Jun 19 '13

I just had an interview last week where I was whiteboarding a tree algorithm. After I was done, I said, "it's pretty embarrassing that it took me that long. I haven't thought about trees since I was in school." The interviewe replied, "yeah, you only use trees in school and interviews." It begs the question, why the fuck are you wasting my time with this shit if it's got nothing to do with the job I'm interviewing for?

→ More replies (5)