I was thinking about development practices established in late 90s where software was created as one giant momolyth, and comparing it to modern concepts such as S.O.L.I.D, Separation of Concerns, Liskov substitution principle, recent push away from using inheritance, as it creates coupling on the way up, and object oriented approach towards functional programming and microservices/containerisation.

I see these developments as a response to exponentially growing complexity of software and attempt to break large complex systems into smaller parts which can be developed, developed and scaled independently.

This aligns with my vision of decoupled and decentralised architecture that instead of concentrating complexity and risks in the core of a solution, spreads risk out by to independent components that comprise the solution.

Some parrallels can be found in the article below that talks about vertical and horisontal split.


Leave a Reply

Your email address will not be published. Required fields are marked *