Software Engineer, Simulation & Reinforcement Learning

Bot Auto

  • Houston, Texas
  • 3 days ago

    Highlights

    Bachelor's or Master's degree in Computer Science, Computer Engineering, Robotics, Electrical Engineering, or a related field, or equivalent practical experience. We are looking for a software engineer with C++ and CUDA experience to develop GPU-accelerated simulation software and improve reinforcement learning training efficiency.

    Numbers & Facts

    LocationHouston, Texas

    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.

    Similar Jobs