Infotainment platforms unit is responsible for developing, maintaining and deploying BMW infotainment platform. BMW infotainment platform is Linux (Yocto) based SW platform that provides common automotive functions used by multiple automotive ECUs. The platform is deployed into multiple infotainment domain ECUs, ranging from headunits and rear seat entertainment systems to telematics and audio ECUs.
[BMW Infotainment Middleware] Our department’s area of responsibility is the design and development of middleware components for a Linux based operating system in connected cars. Our mission is to develop the central component for BMW Remote Software Upgrade and for the C++ Application Framework for infotainment applications. RSU performs the over-the-air updates to deliver feature improvements and functional enhancements to our BMW customers around the globe. We are looking for a Senior C++ Software Engineer for the central update component. Our software pulls all strings together, communicates with cloud services and realizes innovative update functions inside the car.
-
As part of a dynamic and agile team you will ensure robustness, performance, and security aspects within the software design.
-
The result of your effort is high-quality software which becomes an integral part of BMW vehicles.
-
You will be working in a modern development environment with tools such as C++17/20, Yocto Linux, Git, Zuul CI, Docker, and sometimes Qt.
-
Additionally, you will be participating in enhancing our C++ tooling for our automated testing.
Basic requirements and Education
-
Business fluent English
-
University degree in computer science or a comparable field of study
Required Experience and Skills
-
At least 3 years of practical software development experience.
-
Very good coding skills in Modern C++, including good API design, object-oriented, as well as component-level software architecture and unit testing.
-
Very good proficiency: multi-platform development, state-machines, event driven programming, remote procedure calls, hands on knowledge with Linux stack
-
Very good knowledge with: compiler toolchains (gcc, clang), C++ qualtiy assurance, Git
-
Good knowledge with Qt5Core, CMake, Yocto/Linux, Python, debugging (gdb, strace, log analysis).
-
Self-driven and able to work independently as member of a Scrum team.
-
Business-fluent English is required, German would be an advantage.
-
It is a plus to have OTA experience, but more important for us are your skills as a C++ developer.
-
Automotive Infotainment
-
C++ middleware
-
C++ software development
-
CI/CD
-
yocto / Linux