Software Engineer (C++ Systems)$215K - $325K Salary - $0 - $500K Bonus - Meaningful EquityCompanyThe 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.RoleYour 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.Core Technical SkillsExceptional modern C++ ability, including memory management, concurrency, performance optimization, and systems-level abstraction designDeep understanding of operating systems, low-level networking, compilers, distributed systems, or computer architectureExperience building and operating performance-critical C++ systems in productionStrong Linux systems programming and debugging abilityAbility to reason through unfamiliar systems across multiple layers of the stackMust HavesStrong work ethic and the ability to independently push a project from an experimental prototype through 100% completion under tight deadlinesAttention to detail and the ability to deliver production-ready, thoroughly tested code without significant oversightStrong ownership over correctness, reliability, performance, and operational outcomesAbility to debug ambiguous problems without a clear reproduction, existing playbook, or obvious ownerWillingness to work directly with customers and investigate difficult production failuresPreferredExperience with CUDA, GPU systems, compilers, runtime interception, dynamic linking, high-performance networking, or distributed computingExperience at a trading firm such as Citadel Securities or Jane Street; a hardware or AI infrastructure company such as NVIDIA or SambaNova; a systems research group; or a similarly demanding engineering environmentStrong computer science fundamentals demonstrated through academic work, systems research, competitive programming, open-source contributions, or exceptional professional experienceExperience taking new systems research from a paper or prototype into a reliable production systemWhy JoinYou will join early enough to meaningfully shape the architecture, engineering standards, and technical direction of the company.
You will work directly with the founders on a category-defining systems problem, with a short path between writing code and seeing it run in production. The systems you build will form the foundation of a new infrastructure layer for GPU computing.LogisticsYou will report to co-founder and CTO Brian Model, formerly a Quantitative Developer at Citadel SecuritiesThis role is full-time and in person, five days per week, at our office in downtown San FranciscoRelocation support and visa sponsorship are availableBenefitsCompetitive salary and meaningful equityDaily lunch, snacks, and coffeeTeam dinners and events401(k)Health, dental, and vision insurance
Software Engineer (C++ Systems) in san francisco at Unknown Company
This position is listed as full time and able to be worked remotely.