Software Engineering, Software Architecture, Microservices, Distributed Systems, Systems Thinking.
—Another great source of complexity in a system is the assumed and unassumed guarantees. These guarantees are usually related to consistency, availability, ordered processing, idempotence, scalability, response times, etc. Each of these guarantees is extremely hard to engineer and many are