About the job
A systems-level engineer specializing in network infrastructure and network optimization, with expertise in building and maintaining software that interacts with networks. You will be responsible for writing and maintaining software that interfaces between our accelerators and our high-speed networks. This role requires deep technical knowledge of network protocols, kernel-space and/or user-space networks, interfacing with hardware, and the ability to debug and optimize distributed software at the network level.
Responsibilities
Build a system for accelerator-initiated tensor movement over the network
Benchmark software for a new networking environment
Implement a new collective algorithm to improve latency
Optimize congestion control algorithms for large-scale synchronous workloads
Debug kernel-level network latency spikes
Qualifications
Minimum
Expert-level proficiency with network protocols and networking concepts
Deep kernel networking: TCP/IP stack internals, XDP, eBPF, io_uring, and epoll
User-space networking: DPDK, RDMA, kernel bypass techniques
Understanding of how to build higher-level abstractions like collectives and RPC
Skilled at diagnosing and resolving networking issues in distributed systems, especially at OSI model layers 2-4
Strong programming skills in a systems programming language, including memory management, lock-free data structures, and NUMA-aware programming
Software, driver, and OS performance optimization tools and techniques
Comfort with or desire to learn Rust
Bachelor’s degree or an equivalent combination of education, training, and/or experience
Preferred
Understanding of ML accelerators and accelerator drivers
Demonstrated ability to design new network protocols
Experience with PCIe and drivers for PCIe devices
Expertise in algorithms used in networking, including compression and graph algorithms
Experience programming on SmartNICs
5+ years of experience in systems programming or network programming
Often comes from backgrounds in: HPC, telecommunications, host networking software, OS/kernel engineering, or embedded systems
Strong debugging mindset with patience for complex, multi-layered issues