Senior Software Engineer
Core
Design, develop, and maintain production ADAS application-layer software in C++, implementing state-machine logic, vehicle-facing behaviors, and middleware for autonomous driving systems.
Role type
Senior IC embedded software engineer (ADAS)
Builds
Production ADAS software, middleware, communication interfaces, and scalable multi-platform architectures for vehicle programs.
Domain
Automotive / Autonomous Driving Systems
Deliverable
production ML models | product features
Required skills
C/C++ programming, software architecture, embedded systems development, Linux-based development, state-machine design, system integration, debugging, Git-based development, CI/CD workflows
Preferred skills
ADAS/AD experience, HMI integration, functional safety (ISO 26262), QNX, Vector CANoe/CANape, Bazel, CMake, code generation, MATLAB/Simulink, simulation-based validation, diagnostics, fault handling, vehicle data analysis
Technologies
C++, C, Linux, DDS, Ethernet, Git, Bazel, CMake, MATLAB/Simulink, QNX, Vector CANoe, Vector CANape
Responsibilities
Translate system-level requirements into software requirements and own software architecture; Implement features including telltales, warnings, chimes, settings, diagnostics, and HMI interactions; Integrate supplier and in-house ADAS functionality across vehicle programs; Develop middleware and communication interfaces; Build scalable multi-platform architecture and code-generation workflows; Perform unit, SIL, HIL, bench, and in-vehicle testing and lead root-cause analysis
Seniority
Senior, hands-on IC