Systems Software Engineer (C++)
Thunder Compute, San Francisco, California
- Pay
- $250K–$325K / year
- Work type
- Not stated
- Level
- Not stated
- Area
- Software engineering, Inference & ML systems
- Posted
- Sep 26, 2025
About the role
Company
The world is building massive amounts of GPU capacity. Meanwhile, deployed GPUs are only 20% utilized.
This is because GPUs are not virtualized, while every other type of hardware is. For example CPUs and storage are allocated through virtual abstractions which efficiently manage the physical hardware, while GPUs are statically allocated on a one-to-one basis.
Thunder Compute is building this virtualization layer for GPUs. We have raised over $17.5M from Matrix Partners, Y Combinator, and leading angels from Coreweave, Microsoft, Cognition, and Anthropic.
Leading solutions for underutilization sit at the workload layer and are therefore only able to optimize specific use cases. We believe the ideal cluster optimization solution must be invisible to developers and compatible with all workloads; hence, it must sit at the systems layer.
We are a team of systems researchers productionizing cutting-edge GPU virtualization research to build this general-purpose optimization layer.
Concretely, our virtualization library abstracts GPUs across TCP networking. We use a userspace shim library, loaded through LD_PRELOAD, to intercept CUDA calls and send them over gRPC to a host server connected to a physical GPU elsewhere in the data center.
This enables something like “Ceph for GPUs”: GPUs become network resources that can be abstracted, pooled, and dynamically allocated across a cluster to improve utilization without requiring developers to modify their workloads.
Role
Your work will focus on building the core C++ systems behind our virtualization layer. This includes low-latency performance optimization, distributed systems debugging, production reliability, and research into new techniques for improving GPU utilization.
You will take ownership of complex systems from early experimentation through production deployment. Example projects may include:
- Profiling and reducing latency across remote CUDA operations
- Building high-performance networking and data-transfer paths
- Debugging failures across customer processes, our userspace runtime, the network, and remote GPU servers
- Improving support for process forking, signals, multithreading, dynamic linking, and unusual application behavior
- Designing systems for GPU allocation, scheduling, failure recovery, and observability
- Researching and productionizing new GPU virtualization and oversubscription techniques
- Expanding compatibility across CUDA applications, frameworks, and GPU architectures
You will spend your days bouncing between the weeds of complex, performance-critical systems that are live in production. One week, you may be tracing a synchronization bug across a distributed CUDA workload; the next, you may be redesigning a hot data path to remove microseconds of overhead.
This work is not easy. It blends the hardest parts of systems research and production engineering.
Similar roles at other companies
C++ Systems Engineer
Thunder ComputeSan Francisco
$250K–$325K / yr
Posted 5 days ago
Staff Software Engineer, GPU Inference
CerebrasToronto, CAN +1
Pay not posted
Posted 17 days ago
Software Engineer, GPU Inference
CerebrasSunnyvale, CA +1
Pay not posted
Posted Nov 25, 2025
Senior Software Engineer, GPU Systems
ByteDanceSan Jose, California
Pay not posted
Listed on Y Combinator's job board; checked 28 h ago. First seen by us 28 h ago. Being listed doesn't mean the team is actively interviewing.