Enhancing software, elevating teams.

Experimenting with asynchronous planning

Experimenting with asynchronous planning

No battle plan ever survives contact with the enemy In a continued push for asynchronous work, we attempted to tackle one of the last major meetings we had — Sprint Planning. I’ve found this to be the most dreaded meeting for developers since it’s often a time sink. With...

A nice app on Elm street

A nice app on Elm street

...

Hexagonal Architecture demystified

Hexagonal Architecture demystified

If you try researching “Hexagonal Architecture” these days, you will find a lot of articles and videos that can feel overwhelming because they often include a much broader view of Hexagonal Architecture than was originally proposed by its author Alistar Cockburn. This view often mixes Hexagonal Architecture with other architectures...

How to integrate Elasticsearch in your Laravel App - 2024

How to integrate Elasticsearch in your Laravel App - 2024

Integrating Elasticsearch with Laravel enhances search capabilities beyond simple LIKE matches. This guide covers Elasticsearch basics, setting up a local environment with Docker, creating a demo application, and implementing Elasticsearch integration using observers and repositories.

Delivery oriented stand-ups

Delivery oriented stand-ups

As engineers, we want to focus on delivering value to customers. We noticed that a lot of the projects we work on are following agile processes, but in a format that misses the mark. That’s why we started experimenting with how we could bring back the right focus. I’...

Catching bugs early with static analysis

Catching bugs early with static analysis

PHP is a dynamic language and while this certainly has its benefits, it also means that it’s not uncommon to see errors about calling an undefined method, or an invalid argument count in the logs. What’s even worse is that the application will simply crash when these types...

Let's have pessimistic locking strategies

Let's have pessimistic locking strategies

When managing data, you need to take into account several matters. One of them is concurrency. It happens when multiple people try to simultaneously access some form of data (entities, objects, database records, etc) to either see it or update it. Imagine there is a customers data table and I...

Why do we use bad color schemes?

Why do we use bad color schemes?

If you’re a developer, odds are most of what you’re looking all day is text and code. Whether it’s in a terminal, editor or webpage, you look at text, it’s our main medium of work. So to make life more bearable and to ease things up...

One job, many roles. The different skills needed to be a successful CTO

One job, many roles. The different skills needed to be a successful CTO

Some time ago I came across this article on Harvard Business School’s Working Knowledge blog about when founding CEOs need to go. It’s from 2005, but it is still just as relevant now. The main takeaway is that you need differently skilled people at the helm in different...

You might also like
Making progress without a technical leader

Making progress without a technical leader

Building a customer support machine: a pragmatic approach for startups

Building a customer support machine: a pragmatic approach for startups

Making an impact by combining our services

Making an impact by combining our services

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

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.