Any application that can be written in JavaScript, will eventually be written in JavaScript.
Adding human resources to a late software project makes it later.
Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organisations.
The best way to get the right answer on the internet is not to ask a question; it’s to post the wrong answer.
Anything that can go wrong, will—at the worst possible moment
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
When a measure becomes a target, it ceases to be a good measure.
Never attribute to malice that which is adequately explained by stupidity.
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviours of your system will be depended on by somebody.
A cryptosystem should be secure even if everything about the system, except the key, is public knowledge.
We should forget about small efficiencies, say about 97% of the time: premature optimisation is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
Given enough eyeballs, all bugs are shallow.
The effect of a telecommunications network is proportional to the square of the number of connected users of the system.
The number of objects an average human can hold in working memory is 7 ± 2.
The number of transistors in a dense integrated circuit doubles about every two years.
If you write anything criticizing editing or proofreading, there will be a fault of some kind in what you have written.
Anything that can go wrong will go wrong.
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.
Any technology that surpasses 50% penetration will never double again (in any number of months).
Roughly 80% of the effects come from 20% of the causes
Work expands so as to fill the time available for its completion.
Technology is dominated by two types of people, those who understand what they do not manage and those who manage what they do not understand.
Every technical hierarchy, in time, develops a competence inversion.
Be conservative in what you do, be liberal in what you accept from others.
Software is easy to make, except when you want it to do something new. […] The only software that’s worth making is software that does something new.
In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake.
People in a hierarchy tend to rise to their level of incompetence.
Human communications usually fail except by accident.
Software is getting slower more rapidly than hardware becomes faster.
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.