I'm Alain Di Chiappari, software engineer and computer scientist specialized in systems and networks. I love contributing to free software and have a passion for whatever runs on computers. My recent years of work have focused on backend development, developer experience, infrastructure and platform engineering, software architectures, observability, and reliability.
You can find me on linkedin, github and my blog.
[WASD] to move, P/R pause/restart.

Latest posts

Beyond Snippets: Where Are AI's Software Masterpieces? Stay pragmatic: neither fear nor follow the vibe coding hype Year 2025, surrounded by AI models that can supposedly do anything.
Redis, Postgres, Vercel, Supabase, Go, Zig, Ghostty, go find the software, tool, tech company you like - these are all remarkable creations that many of us use daily, directly or indirectly. Some we love, some we tolerate, but each represents not just code, but entire ecosystems built through human collaboration: communication, negotiation, documentation, and years of iteration and refinement...
Rethinking MTTR Is elevating DORA (& friends) metrics to business indicators a trap? I've spent the last few years working with various metrics, including DORA, and particularly with MTTR. [...] MTTR's statistical significance is remarkably low. When we look at incident data, we often see a non-normal distribution of recovery times. Some incidents take minutes to resolve, while others might take days, independently of their impact and severity. Moreover, most companies, especially small and medium-sized businesses, don't experience enough incidents to achieve statistical significance in their measurements. And if they do have a high volume of incidents, that itself should be their primary concern rather than optimizing their MTTR...
Tactical vs Strategic Developers A Philosophy of Software Design In the world of software creation, developers have different ways of thinking and working. In his enlightening book "A Philosophy of Software Design," John Ousterhout talks about the ideas and methods that make software design work well (or at least better). One important thing he discusses is the difference between tactical and strategic developers. This helps us understand the various approaches these developers use when creating software, and why the modern approaches that companies adopt bring to a dangerous path...
Death by configuration parameters Where to place complexity? Deeper modules provide a significantly better interface, concealing complexity and enhancing clarity and readability. However, this improvement does not come without a cost. It demands better design and more thoughtful choices. A crucial factor in this process is complexity management, and we understand that it is not always feasible to eliminate it entirely. Sometimes, it is inherent in the domain we operate in, or it arises from real-world scenarios. Additionally, in many 'fast-paced' work environments, those who contribute (directly or indirectly) to the design of a system are often rewarded for short-term choices rather than for long-term sustainability...

Random projects I've been working on

Some places I've worked at

Other stuff I've published

↑ top