Austin, US
Full time
On site

Senior Software Engineer – Motion Planning and Data Systems

Apply now
Apply now

About the Team

Our team develops the core software and data processing systems that power motion planning and decision-making in autonomous vehicles. We work at the intersection of machine learning, large-scale data infrastructure, and real-time vehicle control, collaborating across engineering, analytics, and product teams to deliver safe and intelligent driving capabilities.

About the Role

As a Senior Software Developer, you will focus on building and optimizing critical components for motion planning and data analysis. You will work on high-performance systems, develop tools for large-scale simulations, and contribute to machine learning pipelines that improve lane-changing behavior. This role offers the opportunity to tackle complex technical challenges and help shape the future of autonomous driving technology.

What You'll Do

  • Lead development of the motion planning component, focusing on lane-changing functionalities for self-driving cars.
  • Enhance software performance, demonstrating specialized expertise in improving critical components.
  • Develop versatile data preparation processes for classification models, adaptable for various tasks with minimal modifications.
  • Collaborate across cross-functional teams, including analytics, product management, and QA engineers, to ensure project alignment and optimal performance.
  • Optimize data processing systems for self-driving car technology, improving performance and reducing memory usage.
  • Using tools like Perf, Heaptrack, and Flame graphs to enhance data component efficiency.
  • Establish a distributed service on Kubernetes for complex calculations on remote GPUs, ensuring proper measuring and monitoring systems.
  • Enhance the primary framework for data analysis and simulations, increasing speed and effectiveness.
  • Utilize advanced data processing technologies such as Spark, SQL, Iceberg, and Argo, in conjunction with Avride's internal tools.
  • Develop tools for analyzing road scenes, using SHAP (Shapley Additive exPlanations) to explain model behaviors to the business team.
  • Construct a service managing a vast index of over 10 million scenes, enabling quick comparison and analysis of similar scenarios.
  • Collaborate with the Quality Assurance team to address feedback from real-city environment tests and simulations.
  • Identify and resolve issues within the vehicle's lane-changing process, leveraging comprehensive knowledge of the driving system.
  • Recommend solutions to prevent issue recurrence and contribute to ongoing development plans.
  • Participate in regular team meetings to discuss and present in-depth reports on the latest research papers in motion planning and prediction.
  • Stay current with new scientific developments to guide the team in cutting-edge advancements for self-driving vehicles.
  • Conduct thorough code reviews to ensure compatibility with the self-driving car's system, identify logic errors, and suggest performance improvements.
  • Provide feedback on organizing new code and avoiding common coding errors, ensuring adherence to company coding standards.
  • Apply deep knowledge of programming languages and tools like C++, Python, Spark, Iceberg, and Argo, as well as detailed understanding of the company’s codebase.

What You'll Need

  • Master’s degree in Computer Science.
  • Proficiency in C++, Python, and their associated frameworks and libraries.
  • Familiarity with additional programming languages such as Go, JavaScript, and SQL.
  • At least 5 years of professional experience in software development/engineering or equivalent roles.
  • Extensive experience with data processing tools and technologies including Spark, SQL, Iceberg, and Argo.
  • At least 5 years of experience in developing and deploying machine learning models, including deep learning frameworks such as TensorFlow, PyTorch, and scikit-learn.
  • Strong understanding and experience with high-load systems, including performance optimization and scaling techniques.
  • Experience with containerization and orchestration tools such as Docker and Kubernetes, with a focus on deploying and scaling machine learning models in production.
  • Proven ability to work with large datasets, including preprocessing, cleaning, and transforming data for machine learning applications.
  • Familiarity with well-known algorithms and proficiency in writing complex algorithmic logic for high-performance computing.
  • Strong ability to participate in project management activities, set goals and deadlines, and collaborate effectively with other teams in a fast-paced environment.

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.

Apply now

Resume/CV*
.pdf only
Attachments must not exceed 10MB
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
This field is required
Email*
Additional information
This field is required
Submit your application

By clicking Submit, you agree to our Job Candidates Privacy Notice

* Required information

Your application has been sent. Thank you!
We'll get back to you within a week.
Something went wrong. Please, try again.