Extremes are Usually Wrong for Software Engineers
Software Engineers often divide into extremes with either/or mindsets.
Here are some examples I’ve seen over the years:
- Microservices vs. Monoliths
- Monorepo vs. Multirepos
- Programming Language X vs. Programming Language Y
- Functional Programming vs. Object-Oriented Programming
We need to get into the habit of taking a step back and being more pragmatic. These don’t have to be binary choices. The best answers to are usually somewhere between the spectrum.
Nothing completely sucks; nothing is perfect. There aren’t silver bullets, just tradeoffs.