We are seeking a highly skilled and experienced Senior C++ Software Engineer to join our innovative team at Mobileye. In this role, you will be responsible for developing a Hardware-In-the-Loop (HIL) product that enables autonomous vehicle algorithm developers to re-simulate real-life drives. This is a unique opportunity to contribute to the advancement of autonomous driving technologies by creating high-performance, scalable software solutions that directly impact the safety and reliability of autonomous vehicles.
What will your job look like?
- Design, develop, and optimize a Hardware-In-the-Loop (HIL) product using C++17+ to support the re-simulation of real-life drives for autonomous vehicle algorithm development.
- Design and build the product's main data injector engine that is responsible for injecting all the real-world driving data back to the car "brain".
- Utilize deep knowledge of C++ internals, including Standard Template Library (STL), shared pointers, and move semantics, to build efficient and robust software components.
- Implement and maintain complex algorithms and data structures, ensuring they meet performance and scalability requirements.
- Collaborate closely with algorithm developers, systems engineers, and other cross-functional teams to gather requirements and deliver high-quality HIL solutions.
- Profile and optimize code using tools such as perf and Valgrind to ensure maximum performance in real-time simulation environments.
- Debug and troubleshoot issues with the help of GDB and other debugging tools to ensure the reliability of the HIL product.
- Stay up-to-date with the latest advancements in C++ and autonomous driving technologies, continuously improving code quality and performance.
All you need is:
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
- 4+ years of professional experience in C++ software development, with a focus on C++17+.
- Strong understanding of C++ internals, including STL, shared pointers, and move semantics.
- Experience with CMake and Conan for build and dependency management.
- Experience with profiling tools such as perf and Valgrind and debugging with GDB.
- Solid understanding of real-time simulation environments and high-performance applications.
- Experience with L2+ networking protocols and programming.
- Proven experience in developing software solutions for autonomous driving, robotics, or similar high-complexity systems.
- Strong problem-solving skills and attention to detail.
- Excellent communication and collaboration skills.
- Experience working in a Linux/Unix environment.