The Product-Market Fit Engineering Trap

Product-market fit is often celebrated as a major milestone for startups and businesses, and for good reason – it means that the product or service is meeting the needs of its target market and gaining traction with customers. However, what is often overlooked is the fact that reaching product-market fit can also lead to the accumulation of technical debt.

Read on if you want to understand how the Product-Market fit engineering trap works and how your startup can keep growing rather than dying.

Continue reading

The Art of (Not) Caring About Domain Names

Hands up if you ever had an idea for a startup or side project and immediately lost yourself in trying to choose the perfect domain name.

Good domain names are an asset in itself, they can affect SEO and most importantly they matter to your target audience or customer. How to choose a good domain name is an art in itself.

Continue reading

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

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

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

How to measure technical debt

In my years as a software engineer I was always drawn to the shiny new things. But time and time again I got confronted with code ridden with technical debt. If you are working in tech you probably heard of technical debt.

For product managers it is the sword of Damocles alluding delayed projects and rejected feature requests. For engineers it can be a tremendous source of frustration and reason to quit jobs and move on. Why is technical debt so widespread and why is it so hard to beat?

Continue reading