Software Engineer, Sensors Integration
Position Overview:
We are looking for a skilled Software Engineer to integrate a variety of sensors into our software frameworks. In this vital role, you will design, develop, debug, and maintain the core software stack while also gaining in-depth knowledge of sensor technologies, serving as a key resource to guide team members toward effective solutions.
Key Responsibilities:
- Design, develop, optimize, and maintain low-latency and reliable device drivers and software pipelines for sensors such as cameras, LiDAR, radar, IMU, GNSS, microphones, and other actuators used in autonomous systems.
- Create and refine algorithms for timestamping, filtering, and preprocessing sensor data to eliminate noise, false detections, and artifacts before delivering synchronized data to perception and localization systems.
- Develop and maintain data analysis pipelines to monitor sensor performance, detect out-of-spec behavior early, and pinpoint performance bottlenecks.
- Collaborate with cross-functional teams, including embedded systems, perception, and localization, to integrate sensors into the overall platform, ensuring optimal performance and troubleshooting hardware and software issues.
- Serve as the domain expert on sensors by understanding their technical characteristics, features, and operational principles, as well as application nuances.
- Bachelor’s or Master’s degree in Computer Science, Robotics, Electrical Engineering, Mathematics, Physics, or a related STEM field, or equivalent experience.
- At least 5 years of experience in software development for production environments.
- Strong proficiency in C++ and Python programming.
- Understanding of the fundamentals of camera, LiDAR, radar, IMU, GNSS, and other sensor technologies, including their operational principles, advantages, disadvantages, limitations, and calibration methods.
- Familiarity with ROS or similar frameworks and relevant communication protocols.
- Experience with Linux networking and troubleshooting network-related issues.
- Strong problem-solving and debugging abilities.
- Capability to thrive in a fast-paced, dynamic environment.
- Over 5 years of experience with self-driving technologies, autonomous vehicles, or robotic systems.
- Experience in developing drivers and software for radar, LiDAR, cameras, or expertise in sensor development.
- Background in real-time embedded systems, with experience in asynchronous environments involving multiple real-time, low-latency, safety-critical processes, threads, timers, and interrupts.
- Experience building custom Linux-based systems for embedded devices, including kernel module development.
- Understanding of electronic engineering principles to support functions such as reviewing schematics and designs of embedded devices, as well as performing hardware bring-up and debugging.
- Familiarity with common automotive hardware interfaces like CAN, SPI, I2C, PCIe, and Ethernet.