Software Engineering, Software Architecture, Microservices, Distributed Systems, Systems Thinking.
of 25. A flowchart with 10 branches is n times harder to understand than one with 5. A program of 1000 lines is n times harder to manage than one of 500. And n is usually much much higher than 2 in all these cases. Thus the complexity is the fundamental obstacle in running or scaling any system.