Let’s clear up some common misconceptions.

It isn’t easy to put your finger on exactly what DevOps is, and searching on Google often results in more questions than answers. In this post, I demystify what DevOps is and what it means for your work life.

Let’s first get rid of some misconceptions. DevOps is not:

Indeed, some of these components are related to DevOps, but we tend to miss the point if we focus on them. …

Why I think core values are important and how I use mine.

Where to apply for a job? Should you buy that new piece of equipment? Decision making is hard and exhausting, especially if we don't have an overall direction to follow. However, if we are explicit about our core values, we can use them to guide many difficult decisions. In this post, I first describe my personal core values and how they evolve, and then I demonstrate how I use them to guide my decision-making.

My core values

I have a picture in my head of my ideal self. This picture shows how I would behave if I had an inexhaustible amount of energy…


An overview of the tools we use in DevOps.

In software development, we rely on tools when building anything non-trivial. We can split our tools into two categories: ones that affect the code and ones that affect our process. Tools such as which IDE or database we use typically affect the code, not how we work. On the other hand, tools such as having a build pipeline very much change how we work but have minimal effect on the code. In this post, we focus exclusively on the latter.

This post describes a journey from nothing all the way to microservices and how we adopt which tools. The journey…

How I set myself up for success with my new year’s resolutions

Setting new Year resolutions is a popular tradition that can facilitate self-improvement. Unfortunately, many set unrealistic resolutions and end up forced to give up after only one or two months. After much experimentation, I have gotten better at succeeding with my resolutions, so I share how I set myself up for success with my resolutions in this post.

I generally follow CGP Grey's advice and set long-term themes instead of large behavioral changes. Themes are wide and abstract, like “try more new things.” If you are inexperienced with themes, I recommend having fewer with shorter iteration times, starting with one…


PoC or MVP? Are they even different?

Software development is about knowledge. Developers have to learn parts of the domain and write down their findings in a programming language. The most effective way to gain knowledge from the real world is through experimentation. Therefore talented developers utilize several types of experiments in their work.

However, developers work closely with customers, juniors, users, and project managers who are not trained in these experiments and their differences. Therefore it can be difficult to communicate which questions different types of experiments can answer.

Product owner: Great, can you just put this in production?
Developer: No; it’s just a proof of concept.


A step-by-step guide on how to do color correction in OBS.

This post is quite a bit different from my usual topics of programming. But proper color correction is a cheap and easy way to make a stream or video look more professional. Unfortunately, I keep having to re-figure out how to do it, so I figured I would write it down, and perhaps it can help somebody else too if I make it public.

The tools I use are:


A hands-on introduction to microservices in Java

Loose coupling has been a programmer goal for decades, and its latest evolution is called microservices. With microservices each services’ code is decoupled so not only can they be build independently, but also deployed independently. This requires some fancy technology tricks and quite a big mental shift.

When exploring topics like this I always found it immensely helpful to do so through a practical exercise. Not having to understand the theory, but simply following a step by step guide, while the concepts seep into my brain. Therefore I have designed this programming journey. I do not explain any of the…


There are three reasons why TypeScript is my favorite programming language:

For these reasons, I recommend that people getting into programming start with TypeScript. In this post, I…

Software craftmanship

Typescript’s type system and a puzzle

Typescript has one of the most exciting type systems of any mainstream programming language. It can be challenging to learn, but there is so much strength in good types that it is well worth the effort. This post illuminates a lot of the essential properties of types in Typescript. I promised seven minutes so let’s jump straight into it.

Object types

We start with one of the simpler things: objects. We can define object types very similarly to how we define objects, by listing fields and their types.

type A = { a: string; b: number };type B = { b…

Open-sourcing a passion project

I love teaching, and I love learning. Luckily every time I teach something, I learn something as well. A few years back, I decided to study some medicine on my own, just for fun. I discovered that for some subjects, there were work- and coloring books, with activities just like I used to do when I was a kid. I thought that was such a fantastic idea that I thought, why is there none for programming?

So I did what I often do and decided to start it myself, and as often happens, I discovered that creating such a book…

Christian Clausen

I live by my mentors words: “The key to being consistently brilliant is: hard work, every day.”

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store