Software Engineer, Simulation & Reinforcement Learning
- Houston, TX, United States
Applications open in a new tab.
Job details
- Posting language
- English
- Posted
Original job description
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.