Senior SoC Systems Software Engineer, Annapurna Labs Machine Learning Accelerators, AWS
About the role
AWS designs custom SoCs that power the world's largest machine learning training and inference clusters. Our team develops SoC models and infrastructure to enable SoC validation, accelerate system software development, and enable architectural exploration.
Responsibilities
- Develop and own components of our SoC models, both single-chip and at the datacenter-scale level
- Debug complex hardware/software interactions across the full software stack — from register-level bring-up on functional models and emulators, to performance analysis on live silicon
- Collaborate with chip architects, RTL designers, modelers, compiler engineers, and ML framework teams to co-design and validate the hardware/software interface
- Contribute to the design of hardware features by providing a software perspective early in the chip development cycle
- Build tooling, test infrastructure, and automation that accelerates development for yourself and your teammates
Requirements
- 6+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Experience as a mentor, tech lead or leading an engineering team
- 7+ years of professional experience developing firmware, drivers, runtime software, or low-level systems software for custom hardware (SoCs, ASICs, GPUs, CPUs, FPGAs)
- Experience programming in C++, Python, and/or Rust (preference for at least 2)
- Knowledge of SoC, CPU, GPU, and/or ASIC architecture and micro-architecture
Qualifications
- Experience with collective communication libraries or distributed systems primitives (MPI, NCCL, RCCL, or similar)
- Experience debugging using functional models, QEMU, FPGA, or emulators
- Experience with Linux kernel development, device drivers, or bare-metal firmware
- Experience building functional or performance models of SoCs
- Experience co-designing hardware/software interfaces with architecture or RTL teams
- Familiarity with PCIe, DMA engines, on-chip interconnects, or network-on-chip architectures
- Experience with performance profiling and optimization of latency-sensitive software
- Experience with multi-threaded, multi-process, or asynchronous programming models
Benefits
Annapurna Labs, our organization within AWS, designs and deploys some of the largest custom silicon in the world. You'll work on software that runs on chips no one outside the team has seen yet, solving problems that don't have Stack Overflow answers. You'll see your code running in production on infrastructure that serves millions of ML workloads.
Pay
Base salary range for this position is $193,300.00 - $261,500.00 USD annually for the USA, CA, Cupertino location and $168,100.00 - $227,400.00 USD annually for the USA, TX, Austin location.
Schedule
The role can be based in either Cupertino, CA or Austin, TX.