Enhancing software, elevating teams.

CPD method

CPD method

I love DDD, not domain driven design but instead double diamond design. In fact, I even mentioned it in my colleague.readme. Double diamond design solves many of the problems that I see most startups deal with. Engineers try to write code immediately and end up solving problems that no...

I'm starting a greenfield project and I'm terrified.

I'm starting a greenfield project and I'm terrified.

I started a greenfield project this week. I knew it was coming after one of our product managers told me about it during lunch a couple of weeks ago. To be honest with you, I was terrified. I’ve been at madewithlove for a little over 4 years now, working...

Communicating about change is hard. We’re making it easy.

Communicating about change is hard. We’re making it easy.

ChangeHub has been part of our madewithlove family for a long time. The first-ever commit dates back to November 8, 2014, during our team retreat in Lisbon where it started out as a small proof of concept to make it easier for our product managers and clients to know what...

Towards better code reviews

Towards better code reviews

Building software isn’t easy. Add the opinions and needs of multiple people into the mix and it can feel almost impossible at times. Learning to collaborate with multiple people on the same software is an essential skill for every software engineer nowadays, as almost no software gets built and...

Snapshot through the heart

Snapshot through the heart

While snapshot testing has been around for a while in the form of visual snapshots (used in visual regression testing), it’s clear that the introduction of textual snapshots in Jest a few years ago had a big impact on testing, not only in JavaScript but in other languages as...

Abstractions as simplifications

Abstractions as simplifications

As I was browsing through Twitter the other day, I saw someone complaining about abstractions among the lines of “we add abstraction layers on top of more abstraction layers and expect the system to be easy to maintain.” I understand this feeling because I’ve also felt that way before....

Remote is not a substitute

Remote is not a substitute

Every time a popular book is turned into a movie, an outcry of disappointed book lovers follows. While some adaptations really are terrible, what often happens is many of those book lovers fall into the trap of expecting the movie to give them the same experience as the book. Movies...

Thanks for rejecting me

Thanks for rejecting me

Do you know that feeling when you are about to open an important email, knowing you will either really like or really hate what you are going to read? It’s a feeling that we think many applicants have when awaiting feedback on their technical assignment during our hiring process....

Pointers and tips: dispelling the magic of git merge

Pointers and tips: dispelling the magic of git merge

Creating branches in git is blazingly fast and having a bunch of them is pretty cheap. This means we get to merge them quite often. But how is a branch represented internally and what does it mean to merge them? Understanding how this works internally will help you understand why...

You might also like
Your startup does not need more engineers, it needs fewer mistakes

Your startup does not need more engineers, it needs fewer mistakes

Navigating Outages: lessons from recent cloud failures

Navigating Outages: lessons from recent cloud failures

The End of “AI-powered”

The End of “AI-powered”

Stereotypes: are these the biggest misconceptions about software engineers?

Stereotypes: are these the biggest misconceptions about software engineers?

Why freedom beats control: building a proper remote culture

Why freedom beats control: building a proper remote culture

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.