Back to jobs
New

Software Engineer, Simulation & Reinforcement Learning

Houston, TX

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.

Apply for this job

*

indicates a required field

Phone
Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Select...

U.S. Standard Demographic Questions

We invite applicants to share their demographic background. If you choose to complete this survey, your responses may be used to identify areas of improvement in our hiring process.
Select...
Select...
Select...
Select...
Select...
Select...

Voluntary Self-Identification

For government reporting purposes, we ask candidates to respond to the below self-identification survey. Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

As set forth in Bot Auto’s Equal Employment Opportunity policy, we do not discriminate on the basis of any protected group status under any applicable law.

Select...
Select...
Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to the Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.

Select...