If you are a CTO, VP/Director of Eng., or Principal Engineer you might be already familiar with them. For those who don’t (and don’t want to look bad in a conversation about them), here is a quick summary -of my favorites-:
Murphy’s Law: “If something can go wrong, it will.”We need to move data from one MySQL server to another, what can go wrong?
Brook’s Law: “Adding manpower to a late software project makes it later.”Let’s hire a senior engineer; he would probably ramp up in our 10-years of development platform in one day.
Hofstadter’s Law: “It always takes longer than you expect, even when you take into account Hofstadter’s Law.”I used to have a boss that claims he can build a CRUD app in zero time. That’s correct, zero time.
Pareto Principle (80/20 rule): “For many phenomena, 80% of consequences stem from 20% of the causes.”I can’t count how many times I overlooked this rule.
Linus’s Law: “Given enough eyeballs, all bugs are shallow.”Don’t ship something without QA, and don’t be the QA person.
Moore’s Law: “The power of computers per unit cost doubles every 24 months.”Which causes lazy developers.
Wirth’s law: “Software gets slower faster than hardware gets faster.”Fortunately, we can buy more hardware for cheap.
Knuth’s optimization principle: “Premature optimization is the root of all evil.“Try to say “we need a refactor” in an overdue project meeting.