Skip to content

Benedict Roeser Posts

Building a Kubernetes Cluster in my basement

Rack with two servers
2 servers of my kubernetes cluster in 19″ rack

I know Kubernetes. Often repeated in interviews or talks. But do I? Does anyone really? Kubernetes knowledge is such a complex topic, and encompasses a multitude of surrounding tools, deployment strategies and general networking and security skills. I have worked with Amazon EKS, Google GKE and minikube in the past. To really deepen my knowledge, it is high time to build my own baremetal cluster (including hardware) from scratch in my basement! Here’s how it went.

Leave a Comment

Honest Courses

IT Course

When I first started developing software, I was often lured in by flashy marketing claims of tools or programming languages. “You can display ‚Hello World!‘ in 5 minutes!” claims on the front pages of tools or programming languages. While the claim is often true, it isn’t honest. Yes, it took only a couple of minutes, but I just copied example commands without understanding what I am doing. I had to trust the default settings. I had to accept the shortcomings of the tool I picked. What about security? And of course, I could not sell ‚Hello World!’ to a client. I would have wished for honest courses teaching me what I really need.

Leave a Comment

Leading a team … during a pandemic

When I started leading a team, I defined what I expect from each software developer and how I see the role of a team lead. At that point, I did not know about Engineering Ladders yet, otherwise I would have build upon that framework. Instead I created this diagram.

Venn Diagram: System Integrity, Team Velocity, Domain Expertise; Overlap: Lead Developer.
Venn Diagram of areas relevant to each Software Developer

The diagram shows the three areas I expect every software developer on the team to put work in. Of course the bar is set a bit lower for trainees. As a bare minimum, I expect a trainee (after the onboarding phase) to deploy working code to production.

I’ll explain every area and the effects remote work can have on them.

Leave a Comment

Awesome teams for awesome results

Awesome teams

As startups evolve, their product changes frequently. Instead of focusing on the best possible product though, they should focus on awesome teams. A truly agile, passionate and intelligent IT team can quickly adapt to changed objectives and create different products over time. Through this lens, the software that is created can be considered as a mere byproduct of a well-functioning team. A team that has fun working and builds high-quality software on the side. Here’s how.

Leave a Comment

Banish the boilerplate code! Auto-generate your APIs

Software developers sink a tremendous amount of time into boilerplate code. Code that does not bring any business value and is just there to “make things work”. Over the years, in some areas our community managed to reduce boilerplate code significantly. Projects like Spring Data Rest for instance remove the hassle of writing boilerplate code to access data from a database and map it to entity objects. It even removes the need to write controller code. But is that enough? This article implores more radical steps to avoid or remove boilerplate code.

Leave a Comment

Shared dependencies: Avoiding this micro antipattern

Teams use microservices and microfrontends to reduce mental load, decrease accidental coupling of unrelated code, to deploy independently, for fast feedback loops and CI runs, to isolate issues or to scale with team size. In a microservice architecture, you should avoid shared dependencies or a common core library. To be more precise, don’t share libraries that increase coupling.

As IT professionals, we know that. However, despite our best intentions, shared dependencies sometimes creep in and cause issues. From what I’ve seen, here are the most frequent occurrences in the backend:

Leave a Comment

The perfect consultant: A tale of printers

Printer

For every problem, there is a multitude of solutions. Helping clients to find the ideal solution for their issues, is what a consultant does. In this article, I’ll tell the tale of a very German printing problem, that may or may not have really happened. I’ll present three possible solutions, one of them I consider worthy of the ‘perfect consultant’.

Printing…? Like most IT professionals I have a love-hate-relationship regarding printers. These machines seem expensive, loud, slow and often unnecessary, on the other hand, finding a solution to the arcane art of printing (article in German), is always fascinating.

Leave a Comment