BMW TechWorks logo

C++ Software Engineer - Simulation Virtual Car (Autonomous Driving)

BMW TechWorks
3 days ago
Full-time
Remote
India
Automation

C++ Software Engineer – Simulation Virtual Car (Autonomous Driving)

 

Scope of Work

Software-in-the-Loop testing is a state-of-the-art technology and an essential part of the software delivery chain. Our team provides a “Virtual Car” to support ADAS development for our feature teams. We develop and maintain the simulation components required to simulate the ADAS stack, such as low-level and high-level sensor models, restbus components, and the vehicle model. The role includes designing and evolving the software architecture of simulation components, creating new components, adapting existing ones, and supporting the integration of the ADAS stack in close collaboration with other teams. This also includes adaptations to the simulation framework, which acts as the integration layer between environment simulation, models, and the BMW function stack. Together with the team, you will refine requirements and drive the further development of features and infrastructure for the “Virtual Car”.

 

Responsibilities:

  1. Development of C++ tooling software for closed-loop reprocessing, bug fixes, performance optimizations and validation of the tooling software.
  2. Deep validation of the virtual software behavior versus the real-world software behavior.
  3. Identification of differences between virtual and real-world behavior and derivation of tooling improvements.
  4. Apply best practices including optimal algorithms as well as comply with the coding standards.
  5. Ownership of the assigned activities and ensure timely deliveries including documentation.
  6. Alignment of requirements, changes and roadmap with stakeholders to deliver complex and successful solutions. 

 

Must Have Experience:

  1. B.Tech (or preferably M.Tech/PhD) in Informatics, Electrical and Computer Engineering, Robotics or a related subject
  2. At least 3 years of extensive professional experience in the field of software development mainly with Embedded C++. Experience with Python is an added value.
  3. Experience in automated driving software: Behavior Planning, Motion Planning, SAE Level2-4 Functions.
  4. Experience in middleware, vehicle dynamics and coordinate transformations
  5. Experience in SW development tools and CI systems (e.g. Git, Bazel, Zuul).
  6. Understanding of concepts and practical experience in software engineering, modelling, modern C++ (11, 14 or 17) and design patterns, as well as clean code and documentation.
  7. Proven experience with test driven development.
  8. Ability to Review Code fulfilling automotive SW quality standards e.g. MISRA.
  9. Independent work and team and communication skills.