Essential Complexity in Systems Architecture
This week we had really unique event in Checkmarx — GeekDays, in which RnD and Product folks presented live talks in a multitude of technological domains. The event was designed by our learning and development department led by Nati Aluk, to promote peer learning, knowledge sharing, networking and collaboration.
One of the topics I had a chance to present was about system design and architectural challenges in building distributed systems.
I concluded this talk by positing that building simple systems is hard in general. Often, it’s resulted from our tendency to put too much focus on the future and potential use-cases, but also since distributed systems are inherently complex. Therefore using patterns and practices such as KISS, YAGNI and evolutionary architectures could help us to reduce accidental complexity and build more robust and maintainable systems.
Hope you will find it useful.