Device Driver Engineering Manager, Annapurna Labs Machine Learning Acceleration, AWS

Annapurna Labs
Cupertino, CA, United States
3 months ago

Role details

Contract type
Internship / Graduate position
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
2 years minimum
Compensation
$166,400.0 - $287,700.0
Working hours
Regular working hours
Job source

Tech stack

Java (Programming Language) Microsoft Windows Abstraction Layers Amazon Web Services C Sharp (Programming Language) C++ (Programming Language) Code Review Computer Programming Software Debugging Software Design Patterns Linux Device Drivers
+17 more
Python (Programming Language) Machine Learning Object-Oriented Software Development PCI Express Software Product Management Software Architecture Software Construction Software Engineering Software Systems System on a Chip System Software Application Specific Integrated Circuits Backend Build Management Software Coding Code Restructuring Software Version Control

Job description

Custom silicon chips live at the heart of AWS Machine Learning servers, and this team builds the backend software that runs these servers. We’re looking for someone to lead our SoC (System on Chip) device-driver / HAL (Hardware Abstraction Layer) software team. You’ll help us deliver at scale as we build the next generation of SoC software. This is a hands-on, in-the-trenches leadership position, where you’ll manage systems, debug issues, and write code alongside your team.

As the Manager for SoC driver software, you will:

  • Manage a team of 6 developers
  • Work with hardware designers to write drivers for newly developed SoC IPs
  • Work with system software teams to solve SoC and system-level architectural issues, drive debug, and innovate on cross-functional solutions
  • Refactor and maintain existing codebases throughout the device lifecycle
  • Continuously test and deploy your software stack to multiple internal customers
  • Innovate on the tooling you provide to customers, making it easier for them to use and debug our SoCs

Annapurna Labs, our organization within AWS, designs and deploys some of the largest custom silicon in the world, with many subsystems that all must be managed, tested, and monitored. The SoC drivers are a critical piece of the AWS infrastructure management software stack that ensures the chip is functional, performant, and secure.

You will thrive in this role if you:

  • Enjoy building, managing, and leading small teams
  • Love solving complex system-level issues
  • Are proficient in C++ and familiar with Python
  • Know how to build effective abstractions over low-level SoC details
  • Are familiar with modular driver architectures (such as the Linux or Windows driver stacks)
  • Have strong opinions about software architecture, and are able to apply them effectively
  • Enjoy learning new technologies, building software at scale, moving fast, and working closely with colleagues as part of a small, startup-like team within a large organization

Although we build and deploy machine learning chips, no machine learning background is needed for this role. Your team (and your software) won’t be doing machine learning. Our driver stack lives at the lowest level of the backend AWS infrastructure responsible for managing our ML servers. You and your team will develop drivers for components used by machine learning, like PCIe and HBM, but won’t need to deeply understand ML yourselves.

This role can be based in either Cupertino, CA or Austin, TX. The team is split between the two sites, with most of the team sitting in Cupertino, and customers in both.

We’re changing an industry. We’re searching for individuals who are ready for this challenge, who want to reach beyond what is possible today. Come join us and build the future of machine learning!

A day in the life For a taste of our team’s products and culture, check out our most recent success story with Trainium3:

  • https://www.aboutamazon.com/news/aws/trainium-3-ultraserver-faster-ai-training-lower-cost

Requirements

  • 3+ years of engineering team management experience
  • 7+ years of non-internship professional software development experience
  • 7+ years of programming using a modern programming language such as Java, C++, or C#, including object-oriented design experience
  • 4+ years of designing or architecting (design patterns, reliability and scaling) of new and existing systems experience
  • Experience leading the design, build and deployment of complex and performant (reliable and scalable) software solutions in production
  • 2+ years of C++ development experience
  • Experience developing software for hardware (SoC, ASIC, GPU, CPU, etc.), * Experience communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs
  • Experience in recruiting, hiring, mentoring/coaching and managing teams of Software Engineers to improve their skills, and make them more effective, product software engineers
  • Knowledge of professional software engineering & best practices for full software development life cycle, including coding standards, software architectures, code reviews, source control management, continuous deployments, testing, and operational excellence

Benefits & conditions

Our compensation reflects the cost of labor across several US geographic markets. The base pay for this position ranges from $166,400/year in our lowest geographic market up to $287,700/year in our highest geographic market. Pay is based on a number of factors including market location and may vary depending on job-related knowledge, skills, and experience. Amazon is a total compensation company. Dependent on the position offered, equity, sign-on payments, and other forms of compensation may be provided as part of a total compensation package, in addition to a full range of medical, financial, and/or other benefits. For more information, please visit https://www.aboutamazon.com/workplace/employee-benefits. This position will remain posted until filled. Applicants should apply via our internal or external career site.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:52 min

Structuring and scaling the backend engineering team

Stefan Lingler Stefan Lingler +1 · Coffee With Developers

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

1:39 min

Speaker introduction and software engineering background

Daniel Raniz Raneland · LIVE

1:12 min

Choosing TypeScript for complex backend applications

Maximilian Otto Maximilian Otto · WWC 2024

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · WWC 2021

Videos

See all

Related articles

See all