The Laws of Software
This site is a catalog of the laws of software development. These “laws” are in fact informal rules-of-thumb with varying degrees of applicability to software development. Why they are called laws is a bit of a mystery: they’re not binding in the legal sense, nor do they have nearly the kind of empirical backing which reifies a theory in the scientific sense. Many of these guidelines have been around for a relatively long time, and do seem to match a broad swath of experience: in an industry as fast-changing as software, that is about the best we’ll do for the time being.
Some of these laws really are just about software, like Moore’s Law. Some of them are more general-purpose laws that happen to apply to software, like Parkinson’s Law. Some of them were discovered in the context of software development, but turn out to be very useful in other endeavors. A great example of this last category is the Law of Leaky Abstractions.
It’s this last category which, in my view, is most interesting and is part of this site’s entire raison d’etre. Not only do I hope for this site to serve as a useful guide to software developers, product managers, engineering managers, and anyone else involved in making software: I also hope that some of these concepts prove more broadly useful outside our discipline.
My name is Shai Sachs, and I’m a Staff Engineer at Wayfair. I’ve long been fascinated by the “rules-of-thumb” which govern various disciplines, ranging from literature to business to… well, the law. Naturally I’m particularly interested in the rules-of-thumb of software, so I pulled together this site to document the “laws” I discover in my travels.
Feel free to contact me if you have any questions - or especially if you’re interested in joining us at Wayfair. We’re always looking for talented engineers!
How to contribute
If you see something here that’s missing or incorrect, please speak up! Just submit a pull request.
Needless to say, this site has an API!
Template by Artem Sheludko
Site and contents licensed under GPL v3.