Most of the biggest problems in software are problems of misconception.
Once a new technology rolls over you, if you're not part of the steamroller you're part of the road.
Programming is just saying "I have a meeting in an hour so better not start on this yet" to yourself until you die.
A computer is like a mischievous genie. It will give you exactly what you ask for, but not always what you want.
Terrible code is not a good excuse to be mean, because terrible code is not well-correlated with having been written by terrible people.
The best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer.
In carpentry you measure twice and cut once. In software development you never measure and make cuts until you run out of time.
These days, the problem isn't how to innovate; it's how to get society to adopt the good ideas that already exist.
If you say "I told you so", you are the one who has failed. Because you knew, but did not manage to stop the train wreck.
Programmers have to fight against the two most destructive forces in the universe: entropy and stupidity.
Promoting a good developer to management is often a twofold bad move: you'll lose a good developer and get a poor manager.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
Almost every attempt at making something better will be regarded by someone else as a personal attack.