About the Team
At Avride we are revolutionizing autonomous driving by developing cutting-edge self-driving technologies for both passenger transport and delivery robotics. Our team is composed of world-class engineers who are passionate about solving complex mobility challenges. We work in a fast-paced, startup-like environment where every contribution has a direct impact on our products and the future of autonomous transportation.
About the Role
We are looking for a Software Engineer – Vehicle Motion Planning to join our autonomous driving team. In this role, you will develop advanced motion planning algorithms that ensure safe, smooth, and efficient vehicle navigation. You will work on trajectory generation, path optimization, and real-time decision-making while considering vehicle dynamics, environmental constraints, and complex traffic scenarios. Your work will play a key role in enabling high-performance autonomy for self-driving vehicles, validated through rigorous simulations and real-world testing.
What You'll Do
- Develop control algorithms for lateral vehicle dynamics, focusing on optimal trajectory generation for lateral maneuvers such as lane changes, overtaking, and collision avoidance.
- Develop advanced trajectory planning algorithms that ensure safe and efficient navigation of self-driving cars. Work on planning paths that account for the vehicle’s kinematics and dynamic constraints.
- Develop algorithms that handle complex road layouts, intersections, and varying lane geometries, ensuring planned paths are smooth, optimal, and adhere to vehicle dynamics constraints.
- Design and implement algorithms that utilize GPU computing, such as NVIDIA CUDA, to accelerate trajectory planning and other computationally intensive tasks. Optimize performance and reduce latency in critical path planning and decision-making processes through parallelization.
- Develop and refine predictive models for the future trajectories of detected objects, including predicting lane changes and lateral maneuvers of other vehicles using machine learning techniques.
- Use Python with libraries like Pandas, NumPy, and Scikit-learn alongside C++ for data analysis. Extract critical features to understand vehicle behavior and environmental interactions, and develop algorithms using anomaly detection and reinforcement learning to improve system reliability.
- Engage in code reviews and participate in architecture evaluations to ensure high standards of software quality and performance, with a focus on C++ code efficiency, maintainability, and scalability.
What You'll Need
- Bachelor's degree in Computer Science, Applied Mathematics, Robotics, or a related field.
- 6+ years of experience in Software Development/Engineering or related field.
- Advanced knowledge of C++, including modern standards (C++17/20), with a strong grasp of memory management techniques, multithreading, and performance optimization strategies. Experience with libraries such as Boost, STL, ROS, and Eigen for mathematical computations.
- Deep understanding of complex algorithms, data structures, and software design principles. Expertise in distributed computing systems, data processing pipelines, and cloud-based data management systems.
- Proven expertise in developing control algorithms for vehicle dynamics, focusing on lateral maneuvers and geometry planning, with experience in geometry-based path planning algorithms that consider vehicle kinematics and constraints.
- Expertise in developing high-performance computing solutions using NVIDIA CUDA and other GPU programming techniques. Experience with parallel programming models and optimization strategies for building and searching trajectory graphs on GPU architectures. Familiarity with tools such as cuDNN, TensorRT, and OpenCL.
- Proficiency in machine learning frameworks such as TensorFlow and PyTorch, with experience in ML techniques relevant to autonomous driving, including supervised learning, reinforcement learning, and probabilistic modeling. Familiarity with deep learning tools like CNNs and RNNs for sensor data processing.
- Strong background in data analysis using Python libraries (Pandas, NumPy, Scikit-learn) and experience with big data tools and cloud platforms (e.g., Apache Spark, Grafana, Kubernetes) for managing and analyzing large datasets.
- Expertise in real-time data processing and integrating analytics into autonomous systems.
- Ability to work closely with cross-functional teams, including planning, perception, and control engineers.
- Experience in leading code reviews, technical discussions, and project planning activities.
- A strong interest in self-driving technology and its potential impact. Familiarity with the architecture, deployment, and data processes of self-driving projects, and experience working with autonomous vehicles and robots.
- Capable of participating in project management activities, setting goals and deadlines, and collaborating effectively with other teams to achieve project objectives.
Nice to Have
Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.