Senior Software Engineer - Motion Planning, Dev Tooling (C++/Qt)
Remote
Mission Summary
Our Dev Tooling team is a group of software engineers creating an innovative software framework so that our autonomous vehicle researchers and software engineers can build their own tools for testing, debugging (RCA), and visualizing vehicle performance. The framework is written in C++ and currently runs on desktops using Qt.
Team members are versatile, with some team members contributing to core libraries (C++) while others contributing to end-user tools and frameworks (C++ and Qt). This team will regularly interact with various teams with robotics-specific domain knowledge, including motion planning, controls, machine learning, and triage, picking up experience and knowledge in those areas. As we scale this team, we are looking for strong design and code development in C++/Qt to reform some novel tools and their implementations.
We are seeking a highly motivated individual who is passionate about writing elegant, scalable, and robust code.
We truly value curiosity, going the extra mile to understand our users’ needs and come up with innovative features and solutions to increase their productivity.
What you'll be doing:
- Develop and implement robust tooling and testing solutions for the Motion Planner stack to streamline the development and testing processes. Ensure the code is production-ready, well-documented, and includes thorough unit tests.
- Continuously improve the design of the system to promote modularity and expandability, making it easier to adapt and extend in the future.
- Collaborate closely with users to understand their requirements and identify any pain points they may encounter.
- Provide ongoing support for issues reported by users. Assess and prioritize the criticality of these issues, distinguishing between blocking problems and desirable feature requests.
- Take ownership of specific components and drive their technical roadmap, ensuring alignment with overall project goals.
- Actively support team members with their tasks, including development, merge request reviews, debugging, and ideation sessions. Promote teamwork and knowledge sharing within the team.
- Bachelor's, Masters, or PhD degree preferred in Robotics, Computer Science, Computer Engineering, Mechanical Engineering, or related field
- 5+ years of software development in C++
- Strong knowledge of the C++ language:
- Standard library
- Modern features of language (C++17 or higher)
- Build systems. Bonus point if you are familiar with bazel framework
- Debugging - especially with gdb
- Solid software engineering foundations
- Design patterns
- …
This job isn't fresh anymore!
Search Fresh JobsJob Profile
Benefits/Perks401(k) Dental Health saving accounts Life Insurance Medical Pet Insurance Vision
Tasks- Support team members
3D Rendering Algorithms Bazel C++ Debugging Javascript Machine Learning Opengl Python Qt Robotics Software Development
Experience5 years
EducationBachelor's Computer Engineering Computer Science Engineering Machine Learning Master's Mechanical engineering Ph.D. Robotics