Stop Building Everything, Start Building This: The Power of the MVP

MVP: Stop Shipping Features, Start Killing Risk Most teams don’t fail because they ship too slowly. Speed is rarely the real villain. In fact, many teams move fast, hit deadlines, close sprints, and still end up nowhere meaningful. They fail because they ship the wrong thing with high confidence. That’s the dangerous part. Not ignorance, but confident ignorance. Polished features. Clean architecture. Well-run ceremonies. And underneath it all, an assumption that was never truly tested. ...

March 2, 2026 · 10 min · Dario Di Pasquale

Prepare for the PSM I using Scrum

Originally published on Medium: https://dariodip.medium.com/prepare-for-the-psm-i-using-scrum-f51b67f1a07e Introduction In the fast-paced world of project management and software development, staying relevant and competitive requires continuous learning and adaptation. Since September 2021, I have been working at Prima, a company that utilizes Scrum to manage projects efficiently. In January 2023, I was promoted to the role of Engineering Manager, overseeing a dedicated team. As I took on this new leadership position, I felt the pressing need to deepen my knowledge of Scrum, not just as a project management methodology but also as a valuable tool for personal and professional growth. ...

October 21, 2023 · 6 min · Dario Di Pasquale

Introduction to Domain-Driven Design (DDD)

Originally published on Medium: https://dariodip.medium.com/introduction-to-domain-driven-design-ddd-24a62cb6472d Designing software nowadays can be such a tough job, we know. Software complexity has raised and it is still raising reaching summits above the havoc. All this wave of fear and destruction and fire and chaos can be stopped with a proper software design strategy. Designing and developing software is something that must have to do with solving problems that customers have. However, sometimes the domain of the problem we are trying to solve is very complex and this can lead to difficulty in communication between developers and stakeholders. ...

January 19, 2023 · 4 min · Dario Di Pasquale

Rust: fear => love => hate => love => disillusion

Originally published on Medium: https://dariodip.medium.com/rust-fear-love-hate-love-disillusion-fa9f6f05b54e My journey through Rust was very tortuous and tormented. During this article, I want to retrace my steps towards the discovery of that amazing programming language. First encounter: fear When I was at the university, a colleague of mine and I have been started working on a project for the course of Data Compression. That was something very low-level and bitwise. We already knew a bit of C, Java, Python, and JavaScript. Every of those, except C, were not suitable at all to work with bits, and since we don’t want to work with C anymore, we decided to pick a brand new programming language (the worst idea ever when you have to finish your project as soon as possible). ...

January 31, 2022 · 6 min · Dario Di Pasquale

Find duplicates using Python

Originally published on Medium: https://dariodip.medium.com/find-duplicates-like-a-boss-f46422f54dd1 The exercise of finding duplicates in a list is a classical example of a didactic problem that you may find during your journey through learning algorithms. During this post, we will try solving this problem using different algorithms, showing the differences between each one. This article has been mainly written for fun and as a writing exercise. Its main purpose is to show different solutions to a single problem, explaining the reasoning behind certain decisions. ...

January 19, 2022 · 6 min · Dario Di Pasquale

Understanding Linux Containers: explore User Space, cgroups and Namespaces

Originally published on Medium: https://dariodip.medium.com/understanding-linux-containers-a-simple-recipe-7c24cc1137b4 What is a container? Actually, it is not a real thing. In this post, I will try to explain what containers are and how they work, decomposing them and understanding their components, without going too deep in some concepts which require a way long explanation than the one I could give in a single post. Currently, there are many technologies for containers (e.g. Docker, containerd, runC and so on), but this post is not going to talk about them and therefore, will be (almost) technology agnostic. This does not mean that you should take this information for implementing your own containers in production (this is totally insane, even if you are a nerd 😃). ...

April 10, 2021 · 10 min · Dario Di Pasquale

//go:embed unleashed

Originally published on Medium: https://dariodip.medium.com/go-embed-unleashed-1eab8b4b1ba6 One of the reasons why I love Go is that Go compiler creates static binaries by default unless you use cgo to call C code, in which case it will create a dynamically linked library. It makes it easy to ship Go programs, create very lightweight Docker images and exploit cross-compiling and plugins. Starting from Go 1.16, it also gives you the opportunity to ship your own “batteries” using the package embed. ...

April 3, 2021 · 5 min · Dario Di Pasquale

False Sharing — An example with Go

Originally published on Medium: https://dariodip.medium.com/false-sharing-an-example-with-go-bc7e90594f3f False Sharing — An example with Go Diving in multiprocessor programming is never easy, I know. Unfortunately for you, you should understand much about computer architecture to do it effectively. This post will go deep into computer architecture, trying to explain one of the most insidious problems that we may encounter when we do multiprocessor programming: false sharing. False Sharing: an example in Go Let’s implement a simple counter interface. ...

March 27, 2021 · 6 min · Dario Di Pasquale

Books on my journey

This page has been migrated to Medium In this post I will write down a list of technical books, articles and podcast that I find interesting. I hope that someone will find it interesting as for me. Not all the books I’ve read are listed here, only the ones I would like to suggest. Technical Books I’ve read Designing Data-Intensive Applications This book is the one you MUST read if work with data. Since data is everywhere in modern software engineer, everyone must read it. ...

March 13, 2021 · 4 min · Dario Di Pasquale

Ansible for developers 102

Introduction This page has been migrated to Medium In the previous post we introduced basic aspects of Ansible. Now we’ll talk about some advanced features. Loops Another way to describe the tools of the Ansible family can be Infrastructure as code. This is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The word code brings an important aspect with it: loops. ...

March 27, 2020 · 3 min · Dario Di Pasquale