“Teamwork is essential in overcoming our daily tasks”
In our #CodeThatMovesTheWorld series, we’re talking to a few of our digital minds that work at CARIAD to get an insight into their work, see what drives them and hear about their visions for future automotive mobility. This week, we’re talking to Dirk Herrmann, Software Architect.
Dirk discovered his fascination with computers early in his youth. His parents really had to stop him from using the computer too much. Born in 1968, the Dortmund native grew up in Gifhorn and studied IT in Braunschweig before spending ten years in southern Germany. At the start of his professional career, Dirk dealt with ‘deeply embedded’ systems. He now works as a software architect and, at the same time, teaches the fundamentals of software testing at the University of Hildesheim.
Dirk has gathered a lot of experience in the area of software architecture across various positions. And one thing is still particularly important to him. Programming high-performance applications can only work in a sustained manner if tasks are dealt with as a team. Unlike the common belief that software architects simply sit at the computer and have no contact with their surroundings, Dirk emphasizes just how important discussions with his colleagues are.
Hi Dirk, what do you as a software architect find the most exciting about the transformation of the automotive industry?
The fact that car manufacturers are increasingly taking software development into their own hands is really exciting to me. Not just at CARIAD, but across the entire industry. It used to be the other way around. Device manufacturers sold products complete with software. The products would do what they were supposed to do. Nothing more, nothing less.
At some point, though, car manufacturers reached a limit. More and more components were being built into cars, and all of these had to communicate with each other. At that point, the manufacturers began to consider developing software themselves in order to connect the components to each other in the best possible way. So, the medium of software transformed from being a tool into a business model. That transformation is what’s particularly exciting to me as a software architect.
With this new business model, car manufacturers are striving to make mobility even more digital. How can companies like CARIAD succeed in reaching this goal?
I often wonder what kind of role the vehicle will play in the future of mobility. Mobility is an extremely complex subject. In order to make it more digital, we at CARIAD need to look into the future and anticipate trends so that we can adapt products and ensure that they also function in the years to come. We always need to be a step ahead and not just think about the short-term possibilities. Eventually, we’ll understand the car not only as a car, but as a connected device that can better interact and integrate with the customer and their environment.
That sounds really exciting and it certainly is an area that’s constantly reinventing itself. What does your work as a software architect look like, and what skills and expertise are necessary to be effective in your role?
As a software architect, I determine the framework with which programmers can then build concrete applications. The work of an architect is rather conceptual, and I engage in discussions with various stakeholders. The term ‘architect’ describes it very aptly. I sketch out and plan possible applications of software, which are then implemented by my colleagues. People come to me with software problems and I give them the tools they need to fix them. All of that happens as part of regular discussions.
To work effectively as software architect, you need to enjoy interacting with people. The lion’s share of my work involves communicating with others. The tasks that we’re solving at CARIAD are often so complex that they can’t be completed by a single person alone. There’s always a need for help and expertise from other colleagues. There isn’t a task that I could take on alone and get absolutely right the first time. That just doesn’t happen.
So, is it the ability to communicate that you find particularly important in the role of a software architect?
Absolutely, and you need to be aware of your own capabilities and their limits too. An architect doesn’t necessarily have the expertise in the details of the software. Ultimately, they make sure that everything works together.
Last week, we spoke with your colleague Manuel Aigner, who works as a software engineer in the area of autonomous driving. He wants to know what the biggest challenges are in developing a software architecture – especially one that will be standardized across millions of vehicles.
The goal must be to move away from today’s revolutionary changes in generations of software and towards evolutionary development, where we can continue using larger parts of software and stabilize them in the long term. The challenge for software architecture is finding suitable abstractions – or interfaces – at the right points so that evolutionary development is possible on both sides of those interfaces, even with technological progress. If those interfaces are cleverly chosen, we can more quickly make innovations a reality.
Next week, we’ll be sitting down with your colleague Jasvinder Kaur, who works as a Data Engineer for POI Management. If you could ask her any question about her work with POIs (Points Of Interest), what would it be?
Have there been any recent changes to the points of interests that you work with that you’ve found particularly amusing or generally noteworthy?
Join our journey.
We are CARIAD. We’re transforming automotive mobility. Let’s build the leading tech stack in the automotive industry together.