The best API design principles inspired by nature

Have you ever proudly released an API only to realise months or years later that it had design flaws which made it a pain to work with? Here are some API design principles that help you design better APIs based on nature.

It’s entirely possible to design APIs that are a joy to work with. But you have to change the way you think about your API. Don’t treat it like a machine, treat it like a living organism instead.

Continue reading

What is legacy code and how to avoid it?

The more time passes and the less you actively invest in maintenance the more legacy code you will face. In that sense legacy code is the entropy of software engineering. As a business you need to understand the inevitability and harm of legacy code and fight it continuously.

As an engineer you can build a habit of maintaining and refactoring and learning how to write better tests. However, you can’t beat legacy code on your own so both your organisation and you need to work together to really overcome legacy code.

Continue reading

API design best practices: How to build APIs for humans

I love how you can connect a few APIs and build something completely new. The thought of computers talking to computers is amazing and APIs are a big part of the open web.

To build great APIs design them for humans, not computers. When you talk about a programming interface it’s best to think about a programmer interface because there’s a human on the other side discovering, integrating and eventually falling in love with your API.

Continue reading

How to spot great remote jobs: The Joel test for remote work

The Joel test is a 12 question test to assess the quality of a software team. Let’s try to find a set of questions we can use to identify real remote first companies and great remote jobs in general.

You can use the Remote Joel Test when you’re trying to identify the best remote jobs. The 10 questions help you assess a company’s level of trust in their employees, how much they care for them and how they communicate. Finding and getting great remote jobs is hard but when you get a job at a truly remote-first company it can be very fulfilling.

Continue reading

How to make the most of your software engineering career

Are you afraid your software engineering skills are becoming outdated and your career might be over soon? It’s true that year after year certain software engineering skills get outdated as newer technologies emerge and with that groups of software engineers fall out of demand.

So how can you ensure to keep up with the rate race year after year, decade after decade?

Continue reading

Is a computer science side project worth the effort?

There are a lot of reasons not to code in your free time. You spend most of your waking day in front of the screen already if you hold a computer science degree. Getting more screen time is the last thing your body and mind actually need.

So why should you start a computer science side project?

Continue reading

How to get the right job after your coding bootcamp

You just graduated from your coding bootcamp and you’re looking for a job? Here is some advice how to find your perfect job and how to increase your chances of getting hired.

Getting your first job is the hardest. By scanning the job market thoroughly for matching opportunities you can increase your changes to get hired. Write targeted cover letters, prepare for the interviews and advertise what you have: your drive to learn and improve and your flexibility.

Continue reading

Pillow driven monitoring and alerting

We have vast options for monitoring and alerting. But there’s a simple rule to decide if your monitoring setup and alerts make sense.

If you’re deciding which alerts you want to establish, ask yourself: Does this help me sleep at night?

Continue reading

The uphill battle of prioritising technical debt

Prioritise technical debt by translating it into the language of business. By framing technical debt as cost we have an easily understandable metric we can use to rally for support.

After all, if technical debt does not hurt the business in any way, why should anyone care?

Continue reading

How your startup can survive technical debt


How can your early stage startup use technical debt to survive and thrive? How does technical debt in young startups look and where does it come from?

It’s hard to avoid technical debt completely but you can manage it and use it to your advantage. Let us have a look how technical debt is created in startups and how you can keep it in check even when your company is in hyper growth.

Continue reading

My first year of blogging

It was a year of many firsts. I started this blog, spoke at a conference, started a podcast amongst other things.

This is my year in review including the most interesting statistics of this blog itself.

Continue reading

Technical debt is an organisational dysfunction

Looking back over the last 8 years I almost exclusively worked on legacy code and technical debt.

The difference between technical debt and clean software is a difference in degree, not in kind. Only when circumstances change does our interpretation of the code flip from good enough to technical debt.

Continue reading

Make better predictions, stop estimating

Over half of all software projects are late or over budget. But isn’t late only a failed expectation, an expectation solely based on a team’s estimate? Is your team confronted with the questions of when will it be done or how much will it cost? We tend to respond to these uncomfortable inquiries by sticking our heads together and coming up with an educated guess.

Maybe there are easier, more transparent ways to make predictions about our software releases?

Continue reading

The dark side of KPIs

In our complex world KPIs can give us a false sense of control. They ignore the chaotic nature of our lives and reduce humans to numbers.

What could we achieve if we acknowledged all sides of our humanness?

Continue reading