Live data from Hacker News

Programmer Competency Matrix

indiangeek.net

41–46 of 46 posts

Re: Programmer Competency Matrix

#41

Earlier quoted context omitted.

Honestly, I think it's seems like a great check list for finding holes in one's background and education. If you could make it into a wiki, it would be good since then the hole's in the author's experience could also be filled.

What would add to or remove from the original matrix? What I would change: - add mention of RFCs, e.g. 2616 (HTTP) and 1738 (URL)

I would introduce ‘make’ in the build automation (level 3) section.

Understanding make (dependency graphs, splitting up the build process into small tasks which can be parallelized, restarted, and leave an exact record of how much was succesfully built) I consider a valuable trade and magnitudes better than “writing your own build script” (as is presently what is the level 3 skill).

Re: Programmer Competency Matrix

#42

This matrix is a bunch of crap. The ability to "get things done" is the most important factor of programmer competency. Every thing else is incidental.

Good idea. I'd like to be your manager. I want every thing done in the range of 2-4 hours. More than that I'll fire you.

You sound just like my old pointy haired boss. I'll do with you, what I did with him. I'm going to roll my eyes and call you names when you talk to me, because I know you're too dumb to do my job and smart enough to know that.

Re: Programmer Competency Matrix

#43
post #30

This matrix is a bunch of crap. The ability to "get things done" is the most important factor of programmer competency. Every thing else is incidental.

Not true. Getting "things done" while creating an O(N^2) solution, in spaghetti code, to a problem that's already well solved by an external library is horrible .

Of course an elegant solution is desirable, however I prefer bloatware that works, over a beautifully architected one that is vaporware.

Re: Programmer Competency Matrix

#44
post #30

Earlier quoted context omitted.

Not true. Getting "things done" while creating an O(N^2) solution, in spaghetti code, to a problem that's already well solved by an external library is horrible .

Of course an elegant solution is desirable, however I prefer bloatware that works, over a beautifully architected one that is vaporware.

I used to believe that too, but I've changed my mind.

Now, I'll always prefer clean organized code, even if it doesn't work. I can always hire someone or jump in myself and make the changes that are necessary.

It is safer to assume that all code is broken in some way. E.g. If someone says that code "works", what they usually mean is that the software is broken in ways that they doesn't understand. When someone says a system is "secure", it means that it contains vulnerabilities that they haven't yet discovered.

A pessimistic attitude, but it has served me well.

Re: Programmer Competency Matrix

#45

He misses a few points subjects like computer graphics, computational geometry, understanding of databases (did he mention this?), numerical simulations, GUI design, general math skills, compression algorithm, heuristic algorithm, etc That's what just comes in my mind..

I'd file most of those under "domain knowledge" >_>

Re: Programmer Competency Matrix

#46
post #30

Earlier quoted context omitted.

Not true. Getting "things done" while creating an O(N^2) solution, in spaghetti code, to a problem that's already well solved by an external library is horrible .

Of course an elegant solution is desirable, however I prefer bloatware that works, over a beautifully architected one that is vaporware.

Sometimes a decision can be made to accrue technical debt or to keep paying the interest on the acquired "technical debt rather than the principal. However, the decision has to be made by someone who understands what an elegant solution would look like (if time or budget restrains aren't there).

That's why you need somebody who is both smart (can see the elegant solution) and gets thing done (will ship a minimally acceptable solution and re-factor when needed).

Post reply on HN