Building teams, crafting code,
making impact.

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...

No as a Service

No as a Service

Quiz time. Which of these actually means no: 1. We will try our best 2. Yes 3. Your proposal is intriguing 4. That sounds difficult If you answered “All of the above” you are right. What?! Even yes might mean no? Yup! I was surprised too. The reason is because...

Why your engineers shouldn’t launch your features

Why your engineers shouldn’t launch your features

It has never been easier for engineering teams to build and release new features for your customers. This fits well with our philosophy of shipping value to customers on a regular basis but does your customer experience this in the same way? And who should be in charge of releasing...

You might also like
Making an existing Laravel application multi-tenant with Tenancy for Laravel

Making an existing Laravel application multi-tenant with Tenancy for Laravel

Accessibility in mobile apps: considerations for startups

Accessibility in mobile apps: considerations for startups

How to build roadmaps that can be used by engineering and product teams

How to build roadmaps that can be used by engineering and product teams

Introducing URL: The Zero-Dependency, Framework-Agnostic State Manager

Introducing URL: The Zero-Dependency, Framework-Agnostic State Manager

A company's first steps in AI

A company's first steps in AI

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.