Job Title: Senior Engineer – Autonomy
Job Description
The Senior Engineer – Autonomy designs, develops, and integrates autonomy software for active safety, advanced driver assistance systems, and unmanned ground vehicle control, with a strong focus on embedded systems. This role centers on building and enhancing autonomy capabilities—such as motion planning, perception, and sensor processing—and integrating them into production equipment including boom lifts, scissor lifts, and telehandlers. You will work primarily in C++, contributing to software architecture, computer vision, sensor fusion, graphical user interfaces, and inter-process messaging.
Responsibilities
- Design, develop, and integrate autonomy software for active safety, advanced driver assistance systems, and unmanned ground vehicle control and embedded systems.
- Implement and refine motion planning, perception, computer vision, and sensor processing algorithms to support autonomy features.
- Develop and integrate autonomy software into production equipment such as boom lifts, scissor lifts, and telehandlers.
- Perform engineering calculations, investigations, software development, hardware selection, and other assigned tasks in accordance with industry engineering standards and processes.
- Develop software unit tests and regression tests to ensure reliability, maintainability, and performance of autonomy features.
- Support field tests by deploying, testing, and troubleshooting autonomy software on physical machines and equipment.
- Assist more Senior engineers in preparing plans, designs, computation methods, and technical reports.
- Take responsibility for defined portions of projects of limited to moderate complexity, ensuring tasks are completed on time and to specification.
- Collaborate with supervisors, suppliers, engineering specialists, and cross-functional teams to meet specifications and perform calculations, analysis, and design activities.
- Write clear and comprehensive requirements, design documentation, and technical specifications for autonomy systems and related software components.
- Provide direct support to programs, including travel to off-site locations as necessary to support engineering activities and field deployments.
- Contribute to the enhancement of existing autonomy capabilities and integration of autonomy solutions into existing products.
- Participate in code reviews, design discussions, and continuous improvement initiatives to enhance code quality and development processes.
- Maintain regular, reliable attendance and actively engage with on-site hardware and machines to validate and refine autonomy behavior.
- Perform other related engineering and software development duties as assigned.
Essential Skills
- Proven ability to produce high-quality, maintainable C++ code, with approximately 99% of development work in C++.
- Embedded systems experience, including development and integration of software on embedded platforms.
- Hands-on autonomy experience, with a focus on perception and path planning as core components of previous work.
- Experience building autonomy systems from scratch, improving existing autonomy capabilities, or integrating autonomy solutions into existing products.
- Proficiency in modern software development practices, including structured design, testing, and documentation.
- Familiarity with distributed systems and their application in autonomy or control environments.
- Familiarity with Ubuntu 22.04+ or similar Linux-based operating systems for development and deployment.
- Accredited bachelor’s degree in engineering or a related field.
- Three (3) or more years of related experience in autonomy, embedded systems, robotics, or a closely aligned domain.
- Ability to collaborate effectively with cross-functional teams and support field testing on physical equipment.
Additional Skills & Qualifications
- Experience with active safety, advanced driver assistance systems (ADAS), or unmanned ground vehicle control.
- Background in robotics, automotive, aerospace, or defense autonomy programs, particularly involving perception and motion planning.
- Exposure to or use of SQL in support of development, testing, or data analysis workflows.
- Experience developing or supporting graphical user interfaces and inter-process messaging frameworks.
- Comfort working with early-career engineering teams and providing practical, real-world autonomy perspective.
- Ability to adapt autonomy solutions to production environments and to balance innovation with robustness and mainta