We are looking for an experienced C/C++ Software Engineer to write a considerable amount of software while having the ability to lead and impact software development and calibration efforts between two related teams. This role focuses on critical areas of Motional's autonomous vehicle stack including the interaction between motion planning components in a "ROS-like" main software stack, and control feedback algorithms in a real-time embedded compute platform.
Technical Scope:- Lead software initiatives that span the motion planning and control pipeline across different hardware platforms with C/C++
- Embedded controller hardware bring up, safety feature design (system health monitoring, backup strategy, redundancy) to meet ASIL-D standards for autonomous driving.
- Design and build robust and scalable software that enables rapid exploration and evaluation of different motion planning approaches and algorithms.
- Opportunity to develop state-of-the-art motion planning and control algorithms to ensure safe and comfortable vehicle trajectories.
- Leverage modern development toolchains including testing, HIL, simulation, and continuous integration, to enable rapid development cycles.
- Understand and explain trade-offs and complex concepts to peers and leaders to drive technical decisions.
- Create project proposals that drive long-term technical roadmap and span multiple sub-systems.
- Write high quality code and review designs based on deep understanding of the teams' services and technologies.
- Mentor junior team members to cultivate product-focused mindset, research, and development.
- 5+ years of C++ and C software development.
- Experience with modern coding standard versions C++20 / MISRA-C '01 preferred.
- Bachelors, Masters, or PhD degree preferred in Automotive Engineering, Robotics, Computer Science, Computer Engineering, Electrical Engineering, Mechanical Engineering, or a related field.
- Past experience owning and leading technical development on features from problem formulation, algorithm design, through implementation.
- Experience with vector tools, e.g., CANoe, CANalyzer, CANape, understand CAPL scripts and capable to configure/analyze log data.
- Experience in AutoSAR development, e.g., vector DaVinci, to configure/perform software integration preferred.
- Experience with various Control Theory techniques, state estimation, robust control, MPC, vehicle dynamics, and simulation environments.
- Python and/or SQL experience for the purpose of data analysis, metrics processing, system/control performance analysis
- Experience with hardware interfaces (CAN, CAN-FD, LIN, Ethernet, UART, SPI, I2C) for improved algorithm design across hardware platforms
- Understanding of numerical optimization algorithms (interior point method, sequential quadratic programming, etc)