The Holy Grail of Software Architecture May Not Be Divine

Over the past ten years, the role software plays in our day to day lives has increased massively. Computers have increasingly become an intrinsic part of virtually every aspect of our lives. …


File scoped namespaces, record structs, and more

A little over a decade ago, C# was a Windows programming language. You used it on your Windows machine to make “Windowsey” things. Ever since Microsoft decided to open-source .NET in 2014, the language and its ecosystem have come a long way.

Today, C# is a very suitable language for…


After almost a decade, most Agile transitions are still frustrated. But is Scrum really to blame?

Blue paint smudge

A little over two years ago, I wrote an article that discussed how the Agile working methodology in general, and Scrum in particular, had changed the way modern companies — especially software companies — work.

The article was essentially a fairly elaborate rant. Back then, I had been working in…


The next version of C# is around the corner, and it’s laden with exciting new features!

With the upcoming release of .NET 5 — the release which unifies the .NET runtimes — Microsoft recently announced the features that will be included in C# 9. With the final Preview version of C# 9 being announced today, it’s not far off.

In this article, we’ll take a look…


Working with pointers, breaking type safety, and all sorts of fun in the unmanaged world

Over the past few years, C# has established itself as one of the mainstay languages in modern software development. In Stack Overflow’s 2019 Developer Survey, it ranked as the 7th most popular language among both hobby and professional programmers.

With prominent technologies such as ASP.NET Core and Entity Framework gaining…


The Architecture that captures events produces a natural audit log and allows for time travel.

Today, we’re taking a look at a software architectural pattern that has been around for a very long time, but for one reason or another, it isn’t implemented very frequently. …


Deploy and update your applications in a declarative manner with the option to roll back if things don’t go as planned

Kubernetes is rapidly gaining traction as the de facto standard for running large containerized workloads in production. Kubernetes’ takes a different approach to creating and maintaining application components than what we’re used to. …


Kubernetes fixes some very real problems. But are those really the problems you’re facing?

Over the past few years, Docker has become an immensely popular way of building, shipping, and running applications. Long gone are the days of having to rely on server configuration and other external factors. Just build your application for Docker once — and run it anywhere!

While this is a…


Create client code in seconds for all popular languages, and save hours of repetitive manual labor.

Chances are, if you’re developing RESTful APIs, you’ve heard of the OpenAPI specification (formerly known as Swagger) before. The OpenAPI Specification defines a standard interface to describe an API, regardless of the language it was written in. …


How to set yourself apart from other developers and become a joy to work with

Software Developers come in all shapes and sizes. Some have a lot of experience, while others make up for their lack of experience in creativity or sheer perseverance. While the dated and over-used “Rockstar Developer” may not exist, it’s evident that not all developers are created equal.

What exactly constitutes…

Martin Cerruti

Software Engineer writing about his daily software adventures, wherever they may lead.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store