code simple { }

Because a complex solution to a problem creates another problem


About Me

satjinder bath Avatar

I’m a pragmatic technologist and systems thinker who focuses on making complex systems simple, maintainable, and aligned with business intent. I care about clear boundaries, thoughtful domain modelling, and using event-driven approaches where they reduce coupling and cognitive load. I also enjoy helping teams translate messy requirements into well-bounded, testable designs.

A husband and father. Outside work I like to spend time with family, explore new technologies, enjoy weekend cricket with my son and netball with my daughter, and occasionally pen down my thoughts in Punjabi which some generous souls may regard as poetry.

I am a strong advocate of designing simple solutions for complex problems. To achieve that I rely on domain-driven design concepts. Over the course of my software design and development career I have acquired a strong taste for event-driven architecture, which I have found to be helpful in keeping complexity at bay.

So that we don’t amount to iatrogenesis and cause a cure worse than the disease, we should pay special attention to the simplicity in the family of non-functional requirements of systems, though it is hard to measure. After all:

“Simplicity is the ultimate sophistication.”

— Leonardo da Vinci

With that in mind, in my blogs I share experiences from my journey of software design and development.

“A complex solution to a problem creates another problem.”

— Me, I guess 😉

Please feel free to get in touch!

Leave a comment