Writing

28 articles

2026

AI

Trying to Keep Up With AI

I used to know what keeping up with technology meant. In Python or data science, it meant reading release notes, trying a few libraries, following a few people whose judgment I trusted and occasionally reading a paper that seemed relevant. There was always more to learn, but the shape of the work was understandable. Most changes were incremental. The important developments were usually visible. If I fell behind for a few weeks, I could catch up.

Leadership

The Attention Economy Inside Engineering Organizations

Together with our Staff Engineers and Tech Leads, we had mapped technical risks, organizational bottlenecks and initiatives worth addressing. We used the classic Eisenhower Matrix in a workshop and agreed on what was important, what was urgent and which topics we wanted to address first. The week afterwards, none of the topic were in my calender.

2025

Leadership

The Expertise Trap

When I became a Director of Engineering, people warned me that I would miss coding. What I really underestimated was how hard it would be to stay out of the details when I knew a topic well. I often caught myself thinking: ll just have a quick look at the repo and figure out how to solve this.

Leadership

Psychological Safety Does Not Mean Work Should Feel Comfortable

One of the concepts that has influenced my leadership is psychological safety. The research is compelling: Psychological safety supports learning behaviours such as admitting mistakes, asking for help, challenging ideas, and voicing concerns. Amy Edmondson helped establish the modern, team-level concept, defining it as "a shared belief that the team is safe for interpersonal risk taking."

AI

What I Learned Redesigning My Chocolate Database Webapp with AI

Before the AI era started, I had hacked together a chocolate ratings "webapp" without using classic frontend frameworks or libraries. I am definetly not a frontend engineer and it was more of an interface to a database. But with AI it should be possible to get a decent looking webapp, I thought.

2024

Leadership

How to Create Effective Development Goals: Lessons Learned

One of my responsibilities as an Engineering Manager was people development. At first, that felt fairly straightforward. If someone wanted to become a better engineer, I could often help by giving them the right opportunities: a technically challenging project, ownership of a new service, the chance to lead an incident, or an opportunity to present their work. Development happened naturally as part of everyday work.

2022

2021

Software Engineering

From localhost to a web server - How to host your Streamlit App on Heroku (for free)

You have built a great streamlit app. So far, you only ran it locally on your computer on localhost:8501. Now you would like to share your app with others, but wonder how. This blogpost introduces you to one option: Heroku. Heroku is a platform as a service that allows you to deploy your apps (not just streamlit apps, but also jvm apps, ruby apps etc.). This post will guide you through the deployment of a streamlit app on Heroku. It’s free for non-commercial apps smaller than 300 MB. You need

2020

Data & ML

Pointwise, Pairwise and Listwise Learning to Rank Models - Three Approaches to Optimize Relative Ordering

In many scenarios, such as a google search or a product recommendation in an online shop, we have tons of data and limited space to display it. We cannot show all the products of an online shop to the user as a possible next best offer. Neither would a user want to scroll through all the pages indexed by a search engine to find the most relevant page that matches his search keywords. The most relevant content should be on top. Learning to rank (LTR) models are supervised machine learning models that attempt to optimize the order of items. So compared to classification or regression models, they do not care about exact scores or predictions, but the relative order. LTR models are typically applied in search engines, but gained popularity in other fields such as product recommendations as well.

AI

AI-Machine-Learning-Buzzword-Bingo

I was recently invited to join a panel discussion among developers to dispel the myth of the typical BS Buzzword Bingo around machine learning and AI. In this blog post, I will share some buzzwords we talked about with a little description and links. Ooops, I already used some buzzwords. So let’s start.

AI

The Intuition of Word Embeddings: How you Teach A Computer to Understand Text

Humans intuitively understand the meaning of words: Which words are similar, opposites or related to each other? But our machine learning models do not have this intuition. Word embeddings are numeric vectors that represent text. These vectors are learned through neural networks. The objective when creating these embedding vectors is to capture as much “meaning” as possible: Related words should be closer together than unrelated words. Also, they should be able to preserve mathematical relationships between words such as

Software Engineering

Mastering ElasticSearch Queries If You Have Only Worked With SQL Before

Elasticsearch is often the storage engine of choice for storing and querying full text data. But writing an ElasticSearch query is pretty different compared to querying a relational database in SQL. In this blogpost, you will learn some basics you need to understand before working with ElasticSearch. In the second part, you learn how to write queries in ElasticSearch.

Software Engineering

How the Inverted Index and Scoring Work in ElasticSearch

Searching through full text fields with regexes in relational database systems like PostgreSQL or MySQL is painful: The query latency is high and your results will be unordered, so you have no idea how relevant your query results are. Elasticsearch is often the storage engine of choice for storing and querying full text data. In ElasticSearch querying fulltext fields is among the least resource intensive tasks and your query results are ordered putting the most relevant results on top. But how does this work?

Data & ML

Working with Complex Datatypes in Hive

The basic idea of complex datatypes is to store multiple values in a single column. So if you are working with a Hive database and you query a column, but then you notice “This value I need is trapped in a column among other values…” you just came across a complex a.k.a. nested datatype.

2019

Data & ML

Plotting with Seaborn

Seaborn is a python library for creating plots. It is based on matplotlib and provides a high-level interface for drawing statistical graphics.

2018

Software Engineering

Everything You Need to Know to Use Git for Version Control

So many people have recommended Git as a version control system to me. I had a look at it, but I was pretty overwhelmed. Since I did not have a technical background, everything seemed so complex! Many tutorials let me copy paste code without giving you a deeper understanding of what and why I am actually doing this. This copy pasting feels like success at first, but when I tried working with it, I could not.