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.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
If you think good architecture is expensive, try bad architecture.
When debugging, novices insert corrective code; experts remove defective code.
There are two ways to write error-free programs; only the third one works.
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 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.
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.
The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
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 cheapest, fastest, and most reliable components are those that aren't there.
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Beware of bugs in the above code; I have only proved it correct, not tried it.
The best performance improvement is the transition from the nonworking state to the working state.
Software is like sex: It's better when it's free.
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
Increasingly, people seem to misinterpret complexity as sophistication, which is baffling -- the incomprehensible should cause suspicion rather than admiration.
Computer science is no more about computers than astronomy is about telescopes.
Software Engineering is that part of Computer Science which is too difficult for the Computer Scientist.
That's the thing about people who think they hate computers. What they really hate is lousy programmers.
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.
Software gets slower faster than hardware gets faster.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends