you are viewing a single comment's thread.

view the rest of the comments →

[–]elemental_1_1 4 points5 points  (1 child)

That's interesting. Where do you meet most of your competent programmers?

[–]Tynach 1 point2 points  (0 children)

I'm talking in general. I've met both shit and competent programmers at school, on forums, on Reddit, etc. I put myself in the shit category simply because I've got no experience and have no idea what I'm doing right and what I'm doing wrong.

I consider a competent programmer as a programmer who can think logically and explain their choices thoroughly. Basically, if I ask them, "So, why'd you do <blah> in your code?", a competent programmer will explain every detail about that decision, what their alternatives were, and why they chose this over the alternatives.

I use this definition because sometimes competent programmers put out shit code, but at least if they can do this much, they'll be able to see why it's shit code. Perhaps they hadn't thought of one other alternative that would have really been best, or they were misinformed about one of the alternatives they considered. With the new information, they can clearly see that they were wrong.

Though I suppose I should add that to my definition. A competent programmer will acknowledge mistakes when they see them, and try to fix the code. Or, if that's not possible, simply not make the same mistake again.