Mercedes-Benz logo
ic_info
image credits: AI generated

How to make our developers happy

by Nicolas Krischker, April 30, 2024

Reading time: 5 minutes

Developer Productivity is a crucial aspect of any successful software development company. It refers to the efficiency and effectiveness of developers in completing tasks and delivering high-quality code. At Mercedes-Benz, that is of course also a very important topic we’re working on. Here you can read more about our challenges and our contribution to make our developers more productive and – happy.

In recent years, there has been a growing emphasis on Developer Productivity, and for good reason - also at Mercedes-Benz. The company is in the middle of a transformation towards a software-driven car manufacturer and from fossil fuels to EVs. Software plays a key role here, making the quality of development processes just as important as the assembly lines in our factories.

We at Mercedes-Benz Tech Innovation GmbH, a 100 % subsidiary of Mercedes-Benz, are a strategic partner, driver of innovation and develop digital products and software solutions exclusively for Mercedes-Benz. This is why we work on the productivity topic not just for us, but for the whole company. So, let’s dive a little bit deeper into it.

Developer Productivity – More than just another buzzword

Firstly, improving Developer Productivity leads to faster delivery of software products. When developers are enabled to complete tasks more efficiently, they can deliver features and updates to customers at a faster pace. This not only improves customer satisfaction but also helps us stay competitive in a rapidly changing market.

Secondly, increased productivity can lead to better quality code. Developers who have the chance focus on their work without distractions or unnecessary obstacles, can produce higher quality code that is easier to maintain and less prone to bugs. This ultimately saves time and resources in the long run.

Thirdly, Developer Productivity can have a positive impact on team morale. When developers can work efficiently and see the results of their efforts, they are more likely to feel satisfied with their work and motivated to continue improving. This can lead to a more positive work environment overall and strengthen employee loyalty.

Finally, increased Developer Productivity also leads to cost savings for businesses. By streamlining processes and reducing inefficiencies, we can save time and resources that can be allocated to other areas of the organization.

time
AI generated

So much for the theory - But let's talk about challenges

Mercedes-Benz has around 170.000 employees in many locations all around the world. What this entails, like in other big companies, is a very high complexity, for example within the organization, due to the sheer variety of (software) projects and of course different tech stacks.

Another big issue is fragmentation in our IT landscape, mainly caused by the organization itself being fragmented – a connection described by Melwin Conway. He found out that there are dependencies between systems, which are designed by organizations and their communication structures: in the end, these systems will be copies of those communication structures.

Many passionate colleagues work in small initiatives together, identifying our challenges and going after them. This sounds very good at first and it is amazing to have such committed employees. The challenge, however, is to combine these many small initiatives into a large, effective initiative and together come closer to our goal at the end of the day.

This also means we must deal with different systems, tools, a lot of data in a lot of data platforms, functions, teams and bring them all together. Additionally, we often face regulation related challenges. Sometimes we are over- sometimes under-regulated, depending on questions like is it “just” enterprise IT or will our customers interact with that piece of software.

What is our contribution to Developer Productivity at Mercedes-Benz

Now let’s get into it: What exactly are we doing to become more productive in terms of software development?

As mentioned before, we have a lot of passionate colleagues who want to be part of our Developer Productivity journey. We’ve put together a team of dedicated people, mostly engineers, to identify our challenges and drive the topic. Part of their work is collecting data at reasonable points and providing metrics, for example to make invisible costs in teams visible. Invisible costs include those caused by complex ordering processes or the operation of databases and CI infrastructure done within teams that could be centralized. These metrics enable management as well as product teams to make data informed decisions and thereby increase productivity.

We are also convinced that the topic Developer Productivity should not only be examined from a technical perspective, but also from a community management one. We must have an ear in our community and respond to feedback, suggestions, and criticism to identify upcoming challenges and communicate transparently. That’s one of the keys to a lively community and necessary for example to share knowledge, work on templates or howtos.

Another key to increasing productivity in our software development teams is to lower cognitive load and the complexity in our IT landscape by reducing the tool catalogue and providing standards. We for example provide runtime infrastructure for GitHub actions which is available to all teams without any configuration needed. Thus, we provide a centralized solution and not every team has to build the same infrastructure by themselves.

Following this, we must integrate these tools and workflows smoothly into one another and make them feel part of the “natural” workflow.

We also support IT Squads within Mercedes-Benz by delegating our experts to architecture squads to provide knowledge and expertise and bring the Developer Productivity perspective into top management discussions and decisions.

group
AI generated

As you see, Developer Productivity is a positive force in software development. It leads to faster delivery of high-quality code, better team morale, and cost savings for businesses. By prioritizing Developer Productivity, businesses can stay competitive and deliver better products to their customers. But it also means a lot of work, passion, and knowledge to be successful in the end.

Nicolas Krischker
Community Manager

Nicolas Krischker

© Mercedes-Benz AG. This is the Open Source website of Mercedes-Benz AG