software engineering principles

A Simple Approach To Fullstack Error Handling

April 11, 2021 · 4 min read
Generic error messages suck. As a user, we encounter them all the time. “An error occurred, please try again later“. Often just to find out the problem wasn't some server outage, but something on our side. A typo in our email - and the server couldn't send that verification email, resulting in a 500 internal server error. Here's a simple but effective way to API error design.

3 Ideas How to Use Whiteboards for Software Development

March 28, 2021 · 1 min read
When I'm programming, I'm often making notes or scribble on paper or a whiteboard. It helps me explore and keep track of my options. For small or big architectural decisions (which we're making all the time), it's hard to keep all options …

Terraform for Fullstack Developers

February 19, 2021 · 9 min read
The more complex your infrastructure the more can go wrong. Let's look at Terraform as a way to automate tedious infrastructure setup (and to make it explicit).

You Need Less (Code) Than You Think

February 12, 2021 · 1 min read
The best code is no code at all. Second best is simple, easy-to-read-and-understand code. “A complex system that works is invariably found to have evolved from a simple system that worked...

Apply YAGNI to More Than Just Software

February 5, 2021 · 1 min read
You aren't gonna need it. That's a programming principle from extreme programming. It states that functionality should not be added until deemed necessary. Let's explore how YAGNI is useful in software development, and as a general productivity tool.

The Two Paretos In Software Development

January 22, 2021 · 1 min read
You know the Pareto principle, right? For many situations, 80% of the consequences come from 20% of the causes. The Pareto principle actually applies to two aspects in software development...

What Is a REPL? [Read-Eval-Print Loop Explained]

January 8, 2021 · 1 min read
Every programmer has used one. Read-eval-print loops (or REPLs) are a centerpiece of modern software development. What exactly is a REPL, how does it work, and where can I use one? Let's find out.

12 Debugging Strategies I Use As a Developer

December 11, 2020 · 4 min read
When you‘re developing software, bugs will appear. Some things won‘t work as expected while developing them, and others will stop working after some time. Often, the cause of a software failure is easy to find. But sometimes the hunt for a bug seems to drag on and on and on. The following are 10 of my most often used debugging strategies.