Skip to main content
Deutsch
Software developer Klaus in portrait. Klaus wears glasses and a white T-shirt.

Interview with Software Engineer Klaus

Klaus Hartl is Senior Software Engineer at DigitalService. Previously, he worked as a Software Developer at ThoughtWorks, an international technology consultancy and agile pioneer. He was instrumental in developing a ride-pooling algorithm at the mobility-as-a-service start-up door2door, and founded his own start-up. His two cats are named Coffee and Tea.

„No matter what the problem is, it's always a people problem.“

Klaus, you have more than 20 years of experience in software development with stints at Nokia, door2door and ThoughtWorks among others. What are the most important lessons you have learned so far?

The most important take-away, in Gerald Weinberg's words, is: "No matter what the problem is, it's always a people problem." Most things can be solved technically. But bringing everybody together, creating a common understanding, collaborating, so that the team works together and everyone is ultimately happy, that's the real challenge.

After Nokia and before door2door, you also founded your own start-up, didn't you? What was your approach?

The idea was to recommend TV movies and series based on Facebook likes. This was between 2010 and 2013, when Facebook was not as scorned as it is today. In addition, we informed users where they could watch their favorite content: iTunes, Netflix, etc. Later, there were also notifications whenever interesting, which is to say recommended, films were shown on (linear) TV.

You have been with DigitalService since May 2021. What motivates you to make this commitment?

Purpose. That was definitely my main motivation. Before that, I worked as a consultant at ThoughtWorks. That was the most important time in my career so far. But my last projects there included software development for a large German automotive company. In 2020, however, I didn't want to contribute to more cars being sold, and instead wanted to use my skills more for the common good. So I started looking around for something new based on the premise: now I want to do something that really makes sense to me. Then along came the pandemic experience. There was a lot of public criticism to the effect that public health departments were still communicating by fax… The problems arising due to the lack of digitalization were exposed for everyone to see in this area.

What is your mission in your words?

We want to initiate a change in culture with regard to the methodology of software development in the public administration. Change in culture in the sense that results are achieved more quickly with better results for users.

Why do you actually care so much about citizens? What opportunities do you see in your approach oriented toward the common good?

We want to bring about greater satisfaction among citizens with regard to the services offered by the public administration. Perhaps we can even make a small contribution to democratic cohesion in society.

What makes a good corporate culture for you?

Empathy. Sincerity. Fun. I don't intend any weighting in their order.

How do you experience the spirit at DigitalService?

What distinguishes us is a strong empathy, I already noticed that during the application process. And at the same time, a healthy pragmatism. Everyone is there for a good reason and wants to make a difference for the better. There is a sense, a feeling, of pulling in the same direction for a good cause.

Software developer Klaus explains the Digital Service

How do you think the public administration should develop software in the long term?

Stronger collaboration with the actual users. Findings over the last 20 years of software development have shown that it is not very effective to collate all the requirements for a new software product in advance and pass these on to service providers. There is always a hemorrhaging of know-how and incorrect assumptions. Agile software development makes it possible to develop software collaboratively with the strong involvement of users and with the shortest possible feedback loops. This makes it possible to react earlier and faster if a requirement has actually been misunderstood or if users need something different than previously thought.

Is that also your engineering strategy at DigitalService?

Yes, very clearly so. We want to use this agile software development methodology purposefully and we stand by it. We are not creating a large document with requirements in a quiet room, but rather developing the software collaboratively with the constant involvement of the users. During the development we observe very closely which needs and requirements for our software product emerge during the process. We conduct user testing as early on as possible. Even with the scribble – a sort of idea sketch – of a prototype on paper, valuable things can be learned.

What are your ambitions in software development?

Technical excellence. Quality. Maintainability – ensuring that software lasts a long time and can be further developed. And: I want to develop software in such a way that my fellow developers also enjoy it. Kent Beck, one of the signatories of the agile Manifesto, once said: "Programming at its best is an act of empathy". This has influenced me, or rather my work, a lot. Empathy in software development means keeping the users in mind as well as the co-developers. That means: Is your code readable? Can it be well-maintained by others? Empathy is a two-way street: inside-out and outside-in.

What is your role at DigitalService?

In my first project, I was more of a software architect: designing a system architecture, choosing technologies, following architecture guidelines… We were still in the discovery phase. I had never gone through such an intensive discovery from ground zero before. The task was to understand as precisely as possible what we needed to develop. Specifications commonly used in the public administration attempt to be as predictive as possible. This contrasts with our approach. In agile software development, we want to be adaptive in order to avoid unnecessary complexity. In my current project, the focus is back on actual software development.

What new things have you learned as a developer working with the public administration so far?

Definitely a lot about accuracy and precision. In the agile methodology, we also like to push things to the so-called "last responsible moment". That doesn't always work in management due to plans, internal processes, resources, etc. We are currently arriving at a good compromise between predictive and adaptive with the public administration. Of course, there is no such thing as an ideal agile world.

Software developer Klaus wears a white t-shirt and gestures towards the camera

How do you manage to iterate quickly?

By reflecting on our own expertise and trying not to be thrown off track too much by other ways of thinking. By having self-confidence and transporting our expertise to the outside world. And, secondly, by actively involving people again and again and convincing them with our results. As soon as you produce a good result, it creates trust and confidence, thereby helping you gain the freedom and autonomy to iterate faster. In other words, try to keep sideshows and distractions at a minimum and convince people with good results. Show, don't tell.

What is your tool chain?

In the end, what counts is whether or not the software offers a benefit to the user(s). Technologies are a means to an end. I tend to think in terms of processes. I try to establish a DevOps culture in software development for and with the public administration. DevOps brings development and IT operations together, and is essentially the agile concept consistently thought through at a more meta level.

Go ahead and tell us a bit more about it. What does that mean?

DevOps provides the methodological basis for the interaction between operations and development. This also means enabling developers to run software themselves: you build it, you run it. In the past, the software was just tossed out "over the fence" after it was developed, so to speak, and someone else had to make sure that everything ran somehow. If errors then cropped up, it naturally took a long time to fix them. The DevOps culture aims to have very short release cycles for software: continuous delivery. In other words, software is kept in a deliverable state at all times. Changes are made several times a day. The software is released so continuously that there is no longer a classic release. This requires, among other things, a good test strategy. The more tests you can perform automatically, the more secure and efficient the software will be. This in turn gives you the confidence and belief that you can release the software as often as you like.

It is of course much faster to then fix errors that surface in the process or to take changing needs into account.

That is exactly the point.

The buzzword nowadays is: Out in the open… What are the advantages of open source?

Reusability. Open source is used by a lot of people. This means that these components are tried and tested and may have fewer bugs. Software that matters: Only in the hands of real users does software become relevant, because it is only here that bugs show up. The more people use a software, the more bugs you can find.

Software developer Klaus laughs warmly

How would you explain your work to a 5-year-old child?

I tell computers what to do.

What is a good leadership culture for you?

Constant curiosity among people within the organization. Curiosity also along the lines of: there is no silo thinking. That's what I like about our start-up culture: The openness. The flexibility. The unexpected. And a good feedback culture. Knowledge and lessons learned are passed on quickly – which is also very important in order to keep learning.

What characterizes a learning organization for you?

Constant curiosity among people within the organization. Curiosity also along the lines of: there is no silo thinking. That's what I like about our start-up culture: The openness. The flexibility. The unexpected. And a good feedback culture. Knowledge and lessons learned are passed on quickly – which is also very important in order to keep learning.

What would you like to have known earlier?

No matter what the problem is… see above!

What advice would you give to developers applying to DigitalService?

From frontend to backend to infrastructure: you should be a generalist and have a broad spectrum and the necessary curiosity. Come to DigitalService if the benefits and users of a software are a little more important to you than the pure underlying technology.

How do you practice diversity?

With a lot of empathy. Our basic understanding is to let everyone be the way he or she is. We try to understand why someone acts the way he or she does. This requires both individual and collective sensitivity and tact. An important aspect is that we consciously seek out skill sets and perspectives that complement us as a team. Diversity starts with recruiting.

If the DigitalService was an animal, which would it be and why?

Maybe a cuckoo. We lay eggs in the public administration's nest. That is something good. Something that flies. Something that plants new thoughts.