Some axioms and maxims for software development in the 2020s:
- Computers are faster and have more memory than you think.
- Piling on libraries, databases or sidecars uses up more of that time and space than you think.
- Networks are slower and serialization is more costly than you think.
- If we can find a solution which runs on one computer, we can avoid the cost and complexity of distributed computing.
- It's easier to make Good Software™ when it runs on one computer.
- Running the same software on more computers for redundancy or performance reasons is sometimes a good idea, but it's a different thing.
- Modules are great but 99.99% of the time they don't require a new Git repository.
- Modules are great but 99.99999% of the time calling that module over the network is a bad idea (see #1 and #3).