Overview
Define the software architecture and technical roadmap for C++-based ADAS resimulation and large-scale analysis platforms, while remaining hands-on in designing and developing critical C++ components.
What you'll do
- Define the software architecture and technical roadmap for ADAS resimulation and analysis platforms.
- Actively design, develop and optimize production-quality C++ software, particularly core and architecture-critical components.
- Architect scalable, modular and maintainable solutions for large-scale ADAS resimulation.
- Define software components, interfaces, APIs, data flows and reusable frameworks.
- Design and implement solutions for Linux, HPC, cloud and distributed computing environments.
- Drive architecture decisions around performance, scalability, reliability, testability and maintainability.
- Perform hands-on debugging, profiling, optimization and root-cause analysis of complex software/system issues.
- Lead technical design and architecture reviews and guide Team Leads and engineers on complex implementation topics.
- Prototype and evaluate new technologies and drive modernization/refactoring of existing solutions.
- Collaborate across ADAS, validation, infrastructure and product teams and mentor senior engineers.
What you'll need
- Bachelor's or Master's degree in Computer Science, Software Engineering, Electronics, Robotics or related discipline.
- 10–12 years of overall Software Engineering experience, including significant software architecture/design experience.
- Minimum 8 years of hands-on C++ software development experience, with expert-level modern C++ proficiency.
- Proven experience architecting and developing large-scale, modular and performance-critical software systems.
- Strong knowledge of object-oriented design, design patterns, concurrency, multithreading and memory management.
- Strong Linux development, debugging, profiling and performance-optimization expertise.
- Experience designing HPC, cloud, parallel or distributed computing solutions.
- Experience defining APIs, interfaces, component architectures and data-processing frameworks.
- Ability to provide architectural leadership while remaining actively involved in software development.
- Strong technical communication, analytical and system-level problem-solving skills.
Nice to have
- Strong experience in ADAS, Automated Driving, automotive software or resimulation.
- Experience with camera, radar or LiDAR data and large-scale automotive datasets.
- Experience developing reusable platforms, frameworks, SDKs or developer tooling.
- Familiarity with containerization, CI/CD and embedded/automotive development environments.
- Familiarity with embedded systems and automotive software development.
Read the full description and apply on the company’s own careers page.