Can You Build Better Software Architectures Using the Operating System?

Do you need a database and an API?

Radu Zaharia
Better Programming
Published in
7 min readMay 23, 2022

--

Photo by Lance Anderson on Unsplash

I would like to present a disclaimer as I am about to launch the kind of talks that drive people away angry. I don’t want to turn software architecture on its head. Today’s projects are not only complex but usually constrained by unfit tooling, unreasonable deadlines, and misunderstood requirements. What I will try to point out here may only be a theoretical exercise. You take what you feel is valuable and leave the rest in the theoretical exercises bin.

The discussion gets academic very fast. You work with your favorite platform and developing language, you work with client requirements and you work with what the company decided to invest in. You have a given set of libraries which allow you to do all sorts of tasks. You probably use a database and some services, and everything you do, every task you work on relies on these dependencies and constraints. If it’s C# it’s also probably Entity Framework, SQL Server, Azure, the .NET API and so on and you are able to do every task in this sandbox. Life as a software developer is good, predictable: it works.

But behind this little sandbox there is a monstrous creature that you forgot about long time ago. You used to tame it maybe in your early years, but the art is…

--

--