It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free.
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilisation.
Programming can be fun, so can cryptography; however they should not be combined.
Kreitzberg and Shneiderman
Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don’t improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to improve your software, don’t test more; develop better.
Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road.
The truth does not change according to our ability to stomach it.
You’re bound to be unhappy if you optimize everything.
An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
The most important single aspect of software development is to be clear about what you are trying to build.
If the code and the comments disagree, then both are probably wrong.
attributed to Norm Schryer
Simplicity is prerequisite for reliability
Copy and paste is a design error