Recently a friend of mine shared this list of laws in software development from Tim Sommer.
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.
- The Role of Color in Brand Identity - 10/23/24
- Human-in-the-Loop for Bias Mitigation - 10/16/24
- Challenges in Implementing Federated Learning in Ad Tech - 10/09/24