
How Good Are You At Programming - krat0sprakhar
http://science.raphael.poss.name/programming-levels.html
======
hitchhiker999
Been programming for 30+ years, [ _can solve any problem_ ] in computing, have
saved companies millions and invented new ways of doing entire processes for
thousands and thousand of people

-> I have no idea what most of those matrices were on about. I think I'm a shit programmer.

Edit: [ _have never come across a problem I couldn 't solve given time (as I
think is the case for most of us)_] - fair enough jafaku

~~~
charlesism
I read five or six of those boxes and then just snorted in disgust. It looks
like a great slide to show suckers if you're a productivity consultant. A sane
chart would be less verbose, and more depressing. You can code your whole
life, and still have struggles with pointers, threads, algorithms, new
languages, etc. The majority of coders wouldn't even rank in the first column.
I'm not a complete dummy but it took me a year before I could instinctively
avoid "off-by-one" errors in loops, and almost ten years just to learn to name
variables in a relatively self-documenting fashion.

~~~
circlefavshape
Haha - the older I get the more I agree with the catchphrase about variable
naming being one of the hard problems of programming. Get that right and so
many other problems never even arise

~~~
collyw
I would agree with you if you are talking about halfway decent programmers. I
have seen some really poor code that naming conventions wouldn't save.

------
gaelow
This one is much better: [http://sijinjoseph.com/programmer-competency-
matrix/](http://sijinjoseph.com/programmer-competency-matrix/)

It provided me with practical, straight-forward and helpful advice on where to
focus to improve my programming skills.

~~~
harry8
These kinds of checklists tend to reveal the bias of their authors.

If I were authoring one I'd have a bunch of stuff in there about understanding
the hardware, performance, caching, power consumption. How the compiler
produces the instructions that actually run on the machine. A bunch of the
how's and whys of the various OS designs and how that affects the problem in
front of you might go well in there too. And so I reveal my bias and I'm
probably overlooking something quite important that's your particular strength
that makes you really great in your programming niche. At least I'm aware of
it, which neither of these guys seem to be.

~~~
gaelow
I agree. I should have said: "This checklist helped me a lot, after getting a
masters degree, as a starting point listing the general aspects to get to know
in the particular professional path that I'm currently following". If CS was
my world, that checklist would be a map of the country I'm living in at the
moment (or even better: a travel guide).

------
emsy
I read it and thought that must be written by an academic. Searched for the
"about" page and wasn't disappointed. So as a fair warning for non-academic
programmers: Read it with a grain of salt. That being said, I don't know how
well the matrix applies to academic programmers.

------
hayksaakian
Odd that there's nothing about writing tests in the troubleshooting section

~~~
collyw
You can test without writing automated tests.

I generally find this far more efficient use of my time, though my work is an
in house app, with a user base of around 50. I get informed about errors very
quickly.

------
frozenport
How many Project Euler problems can you solve?

~~~
pcmonk
As great as Project Euler is for learning programming, it's definitely not a
good measure of most aspects of programming. It measures a very small subset
of the required skills. This chart gives a more complete and nuanced way of
evaluating one's skills.

~~~
collyw
I agree, its like the "algorithms and data structures" stuff I was taught at
University. In real life, organization of large code bases, picking an
appropriate abstraction, and general knowledge of OS's are far more important
for most jobs. Never had to implement a linked list in 11+ years of coding.

------
eru
Such nerd link-bait.

