You can be a genius as a person, but if your code isn't readable and maintainable, you are not a good programmer.
- Words of wisdom from a coworker.
Any fool can write a program that the computer can understand. It takes a good programmer to write a program that other people can understand.
- Words of wisdom from Martin Fowler.
A charlatan makes obscure what is clear; a thinker makes clear what is obscure.
- Hugh Kingsmill
Good code is its own best documentation. As you're about to add a comment, ask yourself, 'How can I improve the code so that this comment isn't needed?' Improve the code and then document it to make it even clearer.
- Steve McConnell in Code Complete
Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.
- Larry Wall
The characteristics of a good programmer have nothing to do with talent and everything to do with a commitment to personal development.
- Jeff Atwood
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
- Brian W. Kernighan
You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away.
- Antoine de Saint-Exupery in Wind, Sand and Stars
The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.
- Bertrand Russell
When asked, most individuals will describe themselves as better-than-average ... Clearly a large number of the self-described "above average" individuals are actually below average ... and they are simply unaware of their incompetence.
Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments
Justin Kruger and David Dunning
Department of Psychology
Cornell University
Good programmers think that they might do good if they try, but bad programmers just know that they're good.
Good programmers suspect that there's always room for improvement, and they look for it. Bad programmers are complacent.
Good programmers learn and get better. Good programmers are mindful that there are many ways that things can be better: shorter code, more readable and maintainable code, neater code, a more elegant expression of the algorithm, a lower bug count, or simply producing code faster.