Indeed, the woes of Software Engineering are not due to lack of tools, or proper management, but largely due to lack of sufficient technical competence.
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
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.
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Programs must be written for people to read, and only incidentally for machines to execute.
Adding manpower to a late software project makes it later
There are two ways to write error-free programs; only the third one works.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
There are two ways of constructing a software design; one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
The cheapest, fastest, and most reliable components are those that aren't there.
Beware of bugs in the above code; I have only proved it correct, not tried it.
When debugging, novices insert corrective code; experts remove defective code.
Software gets slower faster than hardware gets faster.
The question of whether computers can think is like the question of whether submarines can swim.
The bearing of a child takes nine months, no matter how many women are assigned.
Software is like sex: It's better when it's free.
It's a curious thing about our industry: not only do we not learn from our mistakes, we also don't learn from our successes.
The best performance improvement is the transition from the nonworking state to the working state.
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.
In preparing for battle I have always found that plans are useless, but planning is indispensable.
Nine people can't make a baby in a month.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends