Enhancing software, elevating teams.

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

How do I know my team is productive when working from home?

How do I know my team is productive when working from home?

“How do I know my team is productive when working from home?” This must be the number one question I get when people ask me something about working remotely. I could tell them to install a camera that records the employee’s every movement, combined with a screen monitoring tool...

You might also like
Why involving engineers in product meetings saves time and money

Why involving engineers in product meetings saves time and money

Why engineers need a voice in the roadmap

Why engineers need a voice in the roadmap

Why you shouldn't let customers pay for features

Why you shouldn't let customers pay for features

Death by a 1000 tweaks: the absurdity of maintaining your own UI library

Death by a 1000 tweaks: the absurdity of maintaining your own UI library

Startups don't need corporate culture

Startups don't need corporate 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.