Complexity is killing software developers
The shift from building applications in a monolithic architecture hosted on a server you could go and touch, to breaking them down into multiple microservices, packaged up into containers, orchestrated with Kubernetes, and hosted in a distributed cloud environment, marks a clear jump in the level of complexity of our software. Add to that expectations of feature-rich, consumer-grade experiences, which are secure and resilient by design, and never has more been asked of developers.
The problem is that a lot of development decisions are being made to follow trends. Techniques that are being used in FAANG companies are being adopted by much smaller enterprises. The problem is, FAANG's problems are not the norm, they are outliers. They are mega corporations with users in the billions. Most organizations do not have this problem. Their architectures are designed to handle their essential complexity. However if you adopt their techniques, they become your accidental complexity.
- Software Engineering