Senior Software Engineer, Rendering Infrastructure
Posted 4hrs ago
Employment Information
Report this job
Job expired or something wrong with this job?
Job Description
Senior engineer building GM’s GPU-rendered autonomous-vehicle simulation infrastructure. Connecting rendering, robotics, perception, and distributed compute for deterministic closed-loop testing at scale.
Responsibilities:
- Build production-scale systems for a GPU-accelerated, physically based autonomous-vehicle sensor simulator
- Connect the renderer to autonomous-vehicle software stacks and compute clusters using ROS/ROS 2, shared-memory IPC, gRPC, sockets, and serialization formats
- Integrate the runtime with Gymnasium-style environment APIs and PyTorch-based driving models
- Integrate execution with cloud and on-premises environments for closed-loop testing, continuous integration, and perception training
- Improve and validate deterministic, bit-accurate or frame-deterministic execution across simulation, physics, and rendering
- Reproduce real sensor scheduling and vehicle timing, including camera, rolling shutter, LiDAR, clock drift, latency, transport lag, and packet drops
- Build perturbation mechanisms for timing jitter, dropped or out-of-order frames, and calibration drift
- Build memory-efficient multi-world and multi-scenario execution on a single GPU using shared geometry and instancing
- Optimize GPU memory, scene streaming, and scheduling to maximize frames per second per GPU
- Improve runtime deployment and asset delivery using deterministic packages, read-only filesystems, memory-mapped storage, and low-overhead loaders
- Build distributed caches for textures, shader pipelines, and acceleration structures to reduce cold starts and redundant I/O
- Profile and reduce disk, network, and memory footprints
- Partner with 3D content and USD pipeline teams on runtime budgets, validation rules, and compression workflows
- Produce technical design documents, participate in code reviews, perform reproducibility and performance regression testing, and mentor engineers
Requirements:
- Bachelor's degree in Computer Science, Computer Engineering, a related technical field, or equivalent practical experience
- 5+ years of professional software engineering experience, with substantial focus on performance-critical systems software
- Production proficiency in modern C++ (C++17/20), including performance optimization, memory management, and API/system design
- Working proficiency in Python for tooling and automation
- Strong Linux systems programming foundation, including multithreading, concurrency, memory management, IPC, and high-throughput data movement across processes and machines
- Depth in robotics/autonomous systems or GPU programming through CUDA, OptiX, Vulkan, DXR, or similar APIs, with interest in developing the other domain
- Experience with real-time middleware or interfaces such as ROS/ROS 2, DDS, custom IPC, high-rate publish/subscribe, or Gymnasium-style environment APIs
- Working understanding of GPU memory and execution models
- Track record designing, implementing, and debugging reliable distributed systems
- Experience profiling and optimizing real systems
- Strong communication and collaboration skills across rendering, simulation, perception, infrastructure, and content pipeline teams
- Direct autonomous vehicle experience is not required
- Relevant experience may come from robotics, perception, simulation, rendering and graphics, game engines, HPC, or distributed systems infrastructure
Benefits:
- Bonus potential through an incentive pay program based on company performance, job level, and individual performance
- Medical insurance
- Dental insurance
- Vision insurance
- Health Savings Account
- Flexible Spending Accounts
- Retirement savings plan
- Sickness and accident benefits
- Life insurance
- Paid vacation and holidays
- Tuition assistance programs
- Employee assistance program
- GM vehicle discounts
- Potential relocation benefits for relocation to the Bay Area
- Remote work arrangement


















