Software Engineer II
Role details
Job location
Tech stack
Job description
JOB DESCRIPTION: Ensure the accuracy and reliability of perception systems across the autonomous vehicle platform. Develop and maintain software tools and algorithms that calibrate and validate multi-modal sensors including cameras, Lidar, and IMUs-both in simulation and on real vehicles. Design and implement automated calibration pipelines and mathematical models for intrinsic and extrinsic sensor alignment. Execute full software lifecycle activities to ensure spatial and temporal synchronization, directly supporting the safety and robustness of autonomous driving. Build validation frameworks to detect sensor degradation, collaborate with perception teams to refine sensor models, and utilize simulation to verify that software updates maintain peak system performance.
Requirements
Minimum Requirements: Master's degree in Computer Engineering, Mechanical Engineering, Robotics, or related software engineering technical field and 1 year of experience in an occupation related to autonomy robotic algorithm software development. Must have experience with each of the following: Camera Geometry (intrinsic/extrinsic models), sensor alignment, and coordinate frame transformations (e.g., SE(3), SO(3)); Python and C++, leveraging libraries like OpenCV, SciPy, and Eigen (or other advanced linear algebra libraries) for robust real-time and offline sensor calibration, as well as simulation; ROS/ROS 2 or equivalent robotics middleware (e.g., DDS) for data logging, replaying bags, message parsing, and real-time debugging of sensor streams; multi-sensor fusion and calibration involving key modalities: Lidar, Camera, IMU, and GNSS, specifically in the context of robotics, ADAS, or autonomous vehicles; modern development tools (Docker, Bazel or similar build systems like CMake, and Git) to develop reproducible, containerized calibration workflows integrated into CI/CD/CT (Continuous Testing) pipelines; and robotic systems, working within a Linux/POSIX development environment, and utilizing bash/zsh and command-line tools for scripting, debugging, and system management.
Alternative Requirements: Bachelor's degree in Computer Engineering, Mechanical Engineering, Robotics, or related software engineering technical field and 5 years of experience in an occupation related to autonomy robotic algorithm software development. Must have experience with each of the following: Camera Geometry (intrinsic/extrinsic models), sensor alignment, and coordinate frame transformations (e.g., SE(3), SO(3)); Python and C++, leveraging libraries like OpenCV, SciPy, and Eigen (or other advanced linear algebra libraries) for robust real-time and offline sensor calibration, as well as simulation; ROS/ROS 2 or equivalent robotics middleware (e.g., DDS) for data logging, replaying bags, message parsing, and real-time debugging of sensor streams; multi-sensor fusion and calibration involving key modalities: Lidar, Camera, IMU, and GNSS, specifically in the context of robotics, ADAS, or autonomous vehicles; modern development tools (Docker, Bazel or similar build systems like CMake, and Git) to develop reproducible, containerized calibration workflows integrated into CI/CD/CT (Continuous Testing) pipelines; and robotic systems, working within a Linux/POSIX development environment, and utilizing bash/zsh and command-line tools for scripting, debugging, and system management., Minimum Requirements: Master's degree in Computer Engineering, Mechanical Engineering, Robotics, or related software engineering technical field and 1 year of experience in an occupation related to autonomy robotic algorithm software development. Must have experience with each of the following: Camera Geometry (intrinsic/extrinsic models), sensor alignment, and coordinate frame transformations (e.g., SE(3), SO(3)); Python and C++, leveraging libraries like OpenCV, SciPy, and Eigen (or other advanced linear algebra libraries) for robust real-time and offline sensor calibration, as well as simulation; ROS/ROS 2 or equivalent robotics middleware (e.g., DDS) for data logging, replaying bags, message parsing, and real-time debugging of sensor streams; multi-sensor fusion and calibration involving key modalities: Lidar, Camera, IMU, and GNSS, specifically in the context of robotics, ADAS, or autonomous vehicles; modern development tools (Docker, Bazel or similar build systems like CMake, and Git) to develop reproducible, containerized calibration workflows integrated into CI/CD/CT (Continuous Testing) pipelines; and robotic systems, working within a Linux/POSIX development environment, and utilizing bash/zsh and command-line tools for scripting, debugging, and system management.
Alternative Requirements: Bachelor's degree in Computer Engineering, Mechanical Engineering, Robotics, or related software engineering technical field and 5 years of experience in an occupation related to autonomy robotic algorithm software development. Must have experience with each of the following: Camera Geometry (intrinsic/extrinsic models), sensor alignment, and coordinate frame transformations (e.g., SE(3), SO(3)); Python and C++, leveraging libraries like OpenCV, SciPy, and Eigen (or other advanced linear algebra libraries) for robust real-time and offline sensor calibration, as well as simulation; ROS/ROS 2 or equivalent robotics middleware (e.g., DDS) for data logging, replaying bags, message parsing, and real-time debugging of sensor streams; multi-sensor fusion and calibration involving key modalities: Lidar, Camera, IMU, and GNSS, specifically in the context of robotics, ADAS, or autonomous vehicles; modern development tools (Docker, Bazel or similar build systems like CMake, and Git) to develop reproducible, containerized calibration workflows integrated into CI/CD/CT (Continuous Testing) pipelines; and robotic systems, working within a Linux/POSIX development environment, and utilizing bash/zsh and command-line tools for scripting, debugging, and system management.