On the "single wisest" line:<p><i>“Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?”</i><p>I wholly disagree, given the ridiculously-simple debugging tools we've got like GDB, and what's in Eclipse and Visual Studio. Certainly, some things are harder to debug (intermittent errors, multiple threads / processes & their problems, etc), but more careful programming around those areas is a good idea anyway. And if you're <i>over</i>-stretching what you know, it could be that the problem is harder than you think it is, not just that it's hard to debug.<p>It's also that many people spend <i>years</i> learning to program, but far far less learning to debug (if any at all. print statements, anyone?). If that's not a hint at difficulty, what is?<p>The rest of the suggestions are overall very spot-on, though, and if nothing else are excellent advice for almost any programmer (as so many violate so many of these).