Senior Software Engineer, GPU Systems
ByteDance, San Jose, California
- Pay
- Not listed by the employer
- Work type
- Not stated
- Level
- Senior
- Area
- Inference & ML systems
- Posted
- Not stated
Check my fit
See how your résumé lines up with this role: where you match, what's missing, and lines worth rewording.
About the role
About the Team We are a systems software team building the foundational software for large-scale GPU computing platforms. We work at the hardware/software boundary across the Linux kernel, accelerators, storage, firmware, and platform validation. We value rigorous engineering, clear interfaces, measurable performance and reliability, and upstream collaboration where appropriate. The team partners closely with hardware, architecture, product, validation, and production engineering groups to move new capabilities from design through dependable deployment.
About the Role You will build and optimize low-level software that makes modern GPU accelerators usable, observable, and reliable in production. Your work may span kernel drivers, runtime components, firmware interfaces, resource management, telemetry, debugging tools, and performance-critical paths. You will own technically difficult features end to end and collaborate across the stack while remaining primarily accountable for code, validation, and production outcomes.
Responsibilities - Design, implement, and maintain production GPU system software, including kernel-driver, runtime, firmware-interface, host-management components, debugging tracing and profiling tools, and GPU system performance measurement tools - Own accelerator features from proof of concept and architecture through implementation, pre-silicon or emulation validation, bring-up, qualification, and deployment. - Debug complex failures involving GPUs, CPUs, memory, PCIe or interconnects, IOMMU, firmware, operating systems, runtimes, and distributed workloads. - Profile workloads and remove bottlenecks in initialization, memory movement, scheduling, synchronization, communication, recovery, and device utilization. - Build automated tests, telemetry, dashboards, health checks, and diagnostic tools that make failures reproducible and regressions visible. - Partner with silicon, firmware, compiler, library, machine-learning framework, platform, validation, and production teams to deliver compatible system behavior. - Improve resilience through error detection, isolation, retry, reset, repair, graceful degradation, and clear operational procedures. - Review low-level designs and code, document hardware/software contracts, and share practical performance and debugging methods with peers.
Requirements Minimum Qualifications - Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience. - 3+ years of professional programming experience in C or C++ for low-level, embedded, kernel, driver, runtime, or performance-critical software. - Solid understanding of computer architecture, operating systems, concurrency, memory hierarchies, DMA, interrupts, and device I/O. - Hands-on experience with GPU or accelerator software in at least one layer, such as kernel drivers, runtimes, firmware, libraries, collective communication, or performance tooling. - Demonstrated ability to diagnose system failures using traces, logs, profilers, debuggers, counters, and controlled experiments. - Experience delivering and maintaining production-quality features across hardware and software teams.
Similar roles at other companies
GPU Software Development Engineer
IntelUS, California, Folsom +1
Pay not posted
Posted 18 days ago
Senior System Software Integration and Debug Engineer
NVIDIAUS, CA, Santa Clara +3
Pay not posted
Posted 9 days ago
Senior Systems Software Engineer – GPU Software
NVIDIAUS, CA, Santa Clara
Pay not posted
Posted 9 days ago
GPU Software Development Engineer
IntelUS, California, Folsom
Pay not posted
Posted 8 days ago
Listed; checked 7 h ago. First seen by us 7 h ago. Being listed doesn't mean the team is actively interviewing.