We overestimate what we can achieve in a short period. At the same time, we underestimate a long-term improvement process.

It’s pure maths

First, think of any process you’d like to improve.

Say… time-to-market in a given company. Or % of churn. Or lead time for a given team. Or average speed in a 100km bicycle ride.

Imagine you want to improve any of them by 20%. 20% faster, 20% safer, 20% better…


Once upon a time in 1869, a Russian scientist named Mendeleev was obsessed with ordering all elements present in nature. The typical Russian scientist obsession.

He wrote down a card for each known element (63 by that time) and attempted to sort them out by several criteria.

Mendeleev noticed the properties of elements were systematically related to their atomic mass. …


There are many virtues a team can show. But I’ve come to realize that it boils down to this:

If I wanted a team to be better, I’d ask them to be predictable.

“What does ‘predictable’ even mean, Adri?” you might ask.

I’m not a dictionary, but I’ll try to answer.

I understand predictability as “the ability to produce a stable flow of value per unit of time by…


I’ve been told I was going slow in every project I ever participated in.

Every. Single. One.

You end up developing a hard skin on the subject. It is not easy, though. It requires time and strong convictions.

The truth is, “slow” is a big word.

It is also a facade.

You say slow

But this is all I hear:

“We’re fighting against unrealistic expectations ( and…


Why would anyone give money to me to type weird stuff on a computer?

Why would anyone do it? I mean, let’s face it. We, programmers, are picky. We want to work on what we please. We want to go to expensive conferences. We feel entitled to call the shots.

I guess one of the reasons is that we produce software — eventually.

Yet…


Sometimes we face hard choices, where there’s no clear path or direction. Actually, we might not even have a clear goal.

NOTE: This post was first published in my newsletter. Subscribe to receive my posts a week earlier, right to your inbox 🚀

You’ve probably been there before. Think about it. Situations where the line dividing “the right call” and “a fucked up mess” seems blurry.

On such occasions, the temptation…


Someone was pleased with us last week (“us” as in “my team”).

NOTE: This post was first published in my newsletter. Subscribe to receive my posts a week earlier, right to your inbox 🚀

Turns out, we deployed a contrived new version of a form they were using. Among other stuff, there was an input to introduce the bank account. …


Some random thoughts about software development teams

NOTE: This post was first published in my newsletter. Subscribe to receive my posts a week earlier, right to your inbox 🚀

Teams should be the core entity. The primary unit of work within an engineering team.

Teams should be cross-functional: all needed roles should be there — and when…


Recently I’ve been asked how I approach the unit vs. integration vs. e2e debate. I’ve answered it twice below

Photo by Koala on Unsplash

NOTE: This post was first published in my newsletter. Subscribe to receive my posts a week earlier, right to your inbox 🚀

Short answer

I don’t really care about names.

Write tests that provide a higher degree of confidence in your application.

Write a test before writing the “production” code that should…


But but but.

In a perfect world, we’d face charges for writing untested code.

Buuut we are not there yet.

We all “know” testing is important.

But…

“…but it is hard”

If your code is hard to test, it’s probably because it’s doing too much (and it’s too coupled).

If it’s doing too much…

Adrià Fontcuberta

Words matter – Software product development, Front-end, UX, design, lean, agile and everything in between. https://afontcu.dev

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