Jobs in the automotive industry: Senior Software Developer Rust
The young programming language Rust has advantages that predestine it for use in the automotive industry. A developer talks about his job at Cariad.
![Sebastian Rietzscher](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/6/3/8/5/4/2/SebastianRietzscher_Cariad-863b02d4215dfa5b.jpeg)
(Image: Cariad)
- Clemens Gleich
The automotive industry and its suppliers are in the midst of a disruptive change. The switch from combustion engines to electric motors alone will fundamentally change one of the key industries, especially in the world of work. Numerous jobs will be lost, while new ones will be created and many will change. In a thematic focus, we want to shed light on jobs in the automotive industry and its suppliers that did not exist in this form a few years ago, but will become increasingly important over the next ten years. Companies will be looking for suitably trained employees even more than they are at present. Their chances on the job market are likely to be excellent.
Volkswagen has massively expanded and restructured its software development in recent years and changed its management and positioning within the Group. What began in 2019/2020 under the label "Car.Software" now employs around 6,500 people in development, integration, middleware and cloud infrastructure as "Cariad". Cariad brings together the software requirements of the entire Volkswagen Group. The sheer size of Cariad means that working there is different to working in smaller companies. We speak to Sebastian Rietzscher, who is part of a team at Cariad that deals with ECU and platform software development. The special feature: his team programs in Rust.
In one simple sentence, as if you were telling your grandma: What is the core of the job?
Well, my grandma gave me a Lego engineering box as a child, so I would explain it to her like this: We have this big Lego box full of software bricks. Someone has to understand it, has to explain how to put it together. Someone has to design and build new bricks so that the Lego box can also be used in the future. But connections need to be made to things other than Lego. And that's us. I'm not doing this alone, it's a team task.
What are the typical tasks involved?
As a Senior Software Developer, there are other tasks in addition to writing software:
- breaking down larger problems into smaller ones
- discussing how to divide up work
- Coaching/mentoring
- Carrying out reviews
- Creating documentation
- Go through scheduling with the product owner
- Technical management and project management
Of course, this does not apply in general, but this is the example of my specific case. We develop according to the agile methods of the SAFE framework. Due to our size, we are organized as what I would probably best describe as a Scrum team.
What is special about the job?
The biggest special feature is probably that we use Rust. Rust is still a relatively young programming language. Version 1.0 was released in 2015. Compare that to the more than 50 years that C has been around! The first version was developed by Mozilla. At the time, the Mozilla project was struggling with two recurring error classes: memory errors and race conditions from multithreading. On the one hand, they wanted to tackle these problems fundamentally, on the other hand, they wanted to get by without a garbage collector because it cost them too much performance. They wanted the speed of C, but more security. Their solution was Rust. And we were of the opinion that the language, which is now maintained by the Rust Foundation, is ideally suited for software development in the automotive sector.
Rust is still rare in the automotive industry, although major players such as Amazon and Microsoft use it and support the Rust Foundation. There is a lot of C++ in the automotive industry, which is notorious for its memory errors. Rust ensures that errors are noticed very early on, namely during compilation, or cannot be made at all. The compiler simply does not allow many things that have long been familiar if they could lead to errors at runtime. This gives newcomers a real headache at the beginning. Newbies initially work against the compiler, which leads to a complete standstill. Only with time do people learn to work with the compiler, to see it as a help. At some point, the compiler becomes your pair programmer, helping you to write safe code. But there is a steep learning curve between these points. Hardly anyone learns to write productive code in Rust in less than 6 months. After that, Rust delivers error-free software faster than C, but it's a rocky road until you get there.
Once you've walked it, however, you reap the rewards. In five years of Rust development, I have never seen a binary compiled from Rust produce memory errors. So the errors that still exist are all logic errors - for example, when I made wrong assumptions. This results in an uncanny peace of mind. I can concentrate fully on the program logic, and the result runs - whether asynchronously, in threads, it's safe. Documentation can be generated directly from code without additional tools, and these are just some of the special features of the language. Rust also provides a full build environment, dependency management, code linting and much more.
What does the position in the Group mean?
Cariad is the first point of contact in the Volkswagen Group when it comes to software, even though we also buy in software, of course. We are the central integrator of software across all brands. Our team works in the pre-development of platform and control unit software, the Connected Platform and the integration of existing software. We therefore serve both the vehicle world and the backend infrastructure.
How did you get into this job?
I moved to Audi in 2016. I had already developed automotive software before, from user interfaces to brake control systems, and wanted to take the next step. At the time, Audi was looking for someone like me, especially with Android experience. In 2019, my position moved from Audi to Car.Software Org (CSO), which is now called Cariad.
What training do people who are interested in the job need?
Junior developers first need the typical university degrees in computer science, I would say as someone from the "Generation Diploma". You become a senior developer through experience. You should have already made a lot of mistakes. It also helps if you can break problems down into smaller units. If you want to do mentoring, there is usually also suitable training. Being able to give room for error is also part of being a "senior". Errors should happen during the development phase and as early as possible. A design error in the sampling phase is cheap and you can learn from it. A design error that is delivered, on the other hand, is very expensive.
(Image: Volkswagen)
What interests should you have to be motivated to do the job?
I think a healthy love of cars is absolutely essential. If you don't like cars, you probably won't be happy here. You have to like it. With cars, you often have to get close to the product, reach into the tangle of cables and pull a few plugs. So this is less for people who prefer to write abstract cloud software. People with a tinkering instinct often fit in well.
On top of that, you probably shouldn't be super introverted because you have to talk and interact with so many people. The car is a very complex, networked product. There is little code that can be written down alone with little consultation; on the contrary, consultation is the main work on some days. So this is not for people who just want to live in the terminal. We solve our tasks in team structures. Social skills are very important here.
Complete the sentence for people interested in this job: "To find a place here, you need ..."
... a passion for games, a love of cars, communication skills and stamina. We are a huge company. Sometimes things take a little longer and you have to stick to your goals and convictions over this time.
More about the labor market
DGB: Working from home can cost women career opportunities
Study: Job search easier for tradespeople than for software developers
Jobs in the automotive industry: project manager for AI, cloud & virtualization
Jobs in the automotive industry: Head of IT Audit & Compliance Assurance
Despite a strained economy: IT job market picks up again
(cgl)