Skip to content

Instantly share code, notes, and snippets.

@weargoggles
Last active January 15, 2022 09:40
Show Gist options
  • Save weargoggles/0a1aafed4cd9864c15fa385fad3ffcdc to your computer and use it in GitHub Desktop.
Save weargoggles/0a1aafed4cd9864c15fa385fad3ffcdc to your computer and use it in GitHub Desktop.
a software manifesto for the 2020s

Some axioms and maxims for software development in the 2020s:

  1. Computers are faster and have more memory than you think.
  2. Piling on libraries, databases or sidecars uses up more of that time and space than you think.
  3. Networks are slower and serialization is more costly than you think.
  4. If we can find a solution which runs on one computer, we can avoid the cost and complexity of distributed computing.
  5. It's easier to make Good Software™ when it runs on one computer.
  6. Running the same software on more computers for redundancy or performance reasons is sometimes a good idea, but it's a different thing.
  7. Modules are great but 99.99% of the time they don't require a new Git repository.
  8. Modules are great but 99.99999% of the time calling that module over the network is a bad idea (see #1 and #3).
  9. The solution to a lack of discipline in structuring a source control repository is not to try and split it up into ten or a hundred new source control repositories. You probably don't have "compelling organisational reasons". The structure still exists but now it's much harder to coordinate improvements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment