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.
Good engineering is characterized by gradual, stepwise refinement of products that yields increased performance under given constraints and with given resources.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
If you think your management doesn't know what it's doing or that your organisation turns out low-quality software crap that embarrasses you, then leave.
One: demonstrations always crash. And two: the probability of them crashing goes up exponentially with the number of people watching.
With enough eyes, all bugs are shallow.
The cheapest, fastest, and most reliable components are those that aren't there.
If you think good architecture is expensive, try bad architecture.
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.
When debugging, novices insert corrective code; experts remove defective code.
Adding manpower to a late software project makes it later
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.
There are two ways to write error-free programs; only the third one works.
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.
It's better to wait for a productive programmer to become available than it is to wait for the first available programmer to become productive.
The question of whether computers can think is like the question of whether submarines can swim.
Nine people can't make a baby in a month.
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.
In preparing for battle I have always found that plans are useless, but planning is indispensable.
The bearing of a child takes nine months, no matter how many women are assigned.
Programs must be written for people to read, and only incidentally for machines to execute.
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.
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
Beware of bugs in the above code; I have only proved it correct, not tried it.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: