Staff Software Engineer, Onboard Infrastructure
About Stack:
Stack is developing revolutionary AI and advanced autonomous systems designed to enhance safety, reliability, and efficiency of modern operations. Stack's autonomous technology incorporates cutting-edge advancements in artificial intelligence, robotics, machine learning, and cloud technologies, empowering us to create innovative solutions that address the needs and challenges of the dynamic trucking transportation industry. With decades of experience creating and deploying real world systems for demanding environments, the Stack team is dedicated to developing an autonomous solution ecosystem tailored to the trucking industry's unique demands.
About the Role:
Join a high caliber team of experienced software engineers responsible for the delivery of Clockwork, Stack AV’s custom developed, high performance robotics middleware for production grade autonomy applications. Clockwork is critical to Stack’s success as it provides the software infrastructure needed by our safety-critical self-driving system, on the vehicle, in simulation in the cloud and in HIL testing. In this role you will design, implement, test, and deploy new features and optimizations to Clockwork to extend its capabilities, usability, performance, and reliability.
Responsibilities:
- Lead the design, development, and implementation of features, interfaces, and optimizations for Clockwork in collaboration with Autonomy, Cloud, and Safety teams.
- Continually identify opportunities for improving the performance, reliability, and usability of Clockwork, evaluating tradeoffs amongst multiple options in a resource-constrained environment, while working closely with Hardware and Firmware teams to deliver improvements.
- Contribute to the prototyping, development, and maintenance of new and existing sensor interfaces that drive the Perception system of the AV.
- Ensure delivery of high quality software through the principled and consistent use of best practices including robust automated testing, manual and automated code review.
Qualifications:
- Strong C++ development experience is required, some Python experience highly preferred.
- Expert knowledge of software engineering and algorithm design principles.
- Significant experience developing high performance software systems, deployed in resource constrained environments, preferably for safety critical applications.
- Strong understanding of the POSIX programming environment, Linux, and concurrent programming.
- Experience working with common tooling such as Bazel, Boost, etc.
- Excellent communication skills and ability to work in a team environment.
- Domain experience working in autonomous driving, robotics or related industry is highly desired.