About the role
About Bot Auto
Bot Auto develops autonomous trucking technology. Our Simulation team builds software used to train and evaluate autonomous driving systems.
We are looking for a software engineer with C++ and CUDA experience to develop GPU-accelerated simulation software and improve reinforcement learning training efficiency. You will work with data, planning, and machine learning engineers on simulation and training infrastructure for autonomous trucking.
What You'll Do • Build GPU-accelerated simulation software for autonomous driving and reinforcement learning. • Improve the throughput of parallel simulation workloads and their integration with training workflows. • Profile simulation and training workloads, and optimize CPU and GPU execution, memory usage, and data transfer. • Develop tests and benchmarks to measure correctness, performance, and reproducibility. • Collaborate with data, planning, and machine learning engineers on implementation, design discussions, and code reviews.
Required Qualifications • Bachelor's or Master's degree in Computer Science, Computer Engineering, Robotics, Electrical Engineering, or a related field, or equivalent practical experience. • Strong programming skills in C++, including data structures, algorithms, and object-oriented programming. • Experience with CUDA and GPU programming, including an understanding of GPU parallel execution and memory management. • Understanding of parallel and concurrent programming concepts, including multithreading and synchronization. • Familiarity with Python for scripting, testing, or machine learning workflows. • Understanding of reinforcement learning concepts, including environments, agents, actions, rewards, and training workflows. • Experience developing and debugging software in Linux. • Strong problem-solving skills and ability to work collaboratively across teams.
Preferred Qualifications • Experience profiling or optimizing C++ applications, GPU workloads, or machine learning pipelines. • Familiarity with PyTorch or another machine learning framework. • Experience with simulation, robotics, game engines, physics, computational geometry, or high-performance computing. • Experience optimizing GPU kernels or multi-GPU workloads. • Exposure to batched environments, multi-agent systems, or distributed training. • Experience with testing tools, Git, and collaborative software development.
Text as published by Bot Auto. We don't edit postings; apply and ask questions on the employer's site.