In this role, you’ll lead the architecture and development of the abstraction layers that bridge our autonomous driving software with the physical world — from low-level sensor inputs and actuator commands to scalable integration with real-world hardware. You’ll be a key force behind enabling real-time autonomy at scale.
This is more than just an engineering role — it’s a chance to craft the future of robotics and self-driving technology
What you will be doing:- Lead the VAL and SAL teams, designing and developing optimal software abstractions and plugin frameworks to interface with real-world vehicle and sensor systems, consistently exceeding customer expectations.
- Build efficient and user-friendly mechanisms to improve software integration across a wide range of vehicles and sensor configurations.
- Work on core areas such as component abstraction layers, sensor and actuator interfacing, and inter-process data sharing and communication, enabling reliable and scalable autonomous driving solutions.
- Solidify existing frameworks and software components, validating improvements through extensive real-world and synthetic testing to enhance computational performance and system utilization.
- Perform in-vehicle tests, collect and analyze sensor and vehicle data, and support the completion of autonomous drive missions.
- Develop unit tests and documentation for key features, evaluate software quality, and propose corrective actions in alignment with industry best practices.
- Develop highly efficient, production-quality C++ code, demonstrating parallel computing capabilities through GPGPU (CUDA) to accelerate processing workloads.
- Follow industry safety and quality standards, including MISRA and other automotive-grade software development practices.
What we need to see:- MS or higher in computer engineering, computer science or related engineering fields (or equivalent experience).
- 12+ overall years of relevant industry experience and 8+ years of managing a team
- Excellent C and C++ programming skills
- Experience developing and debuggingmultithreaded/distributedapplications like multimedia systems, game engines, etc.
- Strong knowledge of programming and debugging techniques, especially for parallel and distributed architectures.
- Strong knowledge on Linux, Android, and/or other real-time operating systems.
- Experience with frameworks for robotics such as ROS and/or for multimedia such as GStreamer
- Thrive on writing low latency, highly performant code
- Phenomenal communication and analytical skills.
- Self-motivated and a great teammate
Ways to stand out from the crowd:- Understanding of embedded architectures and developing software in heterogeneous architectures, including GPUs.
- Knowledge of automotive systems, notably ADAS applications, AUTOSAR and drive by wire systems.
- Software development for modern OpenGL (Core Profile) and Linux.
- Experience with version control systems GIT and build system like CMake/Bazel
- Be hands-on and work well within a team of algorithm, software and hardware engineers, with a significant level of detail orientation and a penchant for data organization and presentation
You will also be eligible for equity and .