Senior Systems Software Engineer (Team Lead), Annapurna Labs Machine Learning Accelerators, AWS
DESCRIPTION
AWS Machine Learning servers (TRN and INF) are essentially supercomputers, with both hardware and software built entirely from the ground-up within our organization. We’re looking for someone to lead our SoC (System on Chip) Hardware Abstraction Layer (HAL) team, responsible for directing the team both technically and managerially. You’ll work to understand our in-house SoC and build effective software that abstracts out the details for higher layers of the software stack.
You’ll work closely with chip architects, designers, verification engineers, and fellow software engineers to shape our next-generation of Machine Learning acceleration. You’ll effectively manage, coach, and direct your team to execute on this vision alongside you. This is a hands-on, in-the-trenches software engineering leadership position.
As the team lead, you will:
- Build and manage a small, strong team of 3-5 developers
- Work with hardware designers to write software to boot and manage newly developed SoC IPs
- Work with other system software teams to solve SoC and system-level architectural issues, drive debug, and innovate on cross-functional solutions
- Improve-upon 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
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 HAL is 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
- Are proficient in C++ and familiar with Python
- Love solving complex system-level issues
- Know how to build effective abstractions over low-level SoC details
- 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 software is part of the backend AWS infrastructure responsible for managing TRN and INF. You and your team will develop software 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 no preference for one over the other.
BASIC QUALIFICATIONS
- 10+ years of professional software development experience
- 10+ years of programming with at least one modern language such as C++ or Python
- 2+ years of C++ development experience
- 4+ years of designing or architecting (design patterns, reliability, and scaling) new or existing systems
- Experience leading the design, build, and deployment of complex and performant (reliable and scalable) software solutions into production
- Experience developing software for hardware (SoC, ASIC, GPU, CPU, etc.)
PREFERRED QUALIFICATIONS
- Experience managing a small team of developers, including: scheduling, prioritizing, recruiting, coaching
- Experience taking a leadership role in building complex software or computing infrastructure that has been successfully delivered to customers
- Knowledge of engineering practices and patterns for the full software/hardware development life cycle, including: coding standards, code reviews, source control management, build processes, testing, certification, and deployment
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us.
Los Angeles County applicants: Job duties for this position include: work safely and cooperatively with other employees, supervisors, and staff; adhere to standards of excellence despite stressful conditions; communicate effectively and respectfully with employees, supervisors, and staff to ensure exceptional customer service; and follow all federal, state, and local laws and Company policies. Criminal history may have a direct, adverse, and negative relationship with some of the material job duties of this position. These include the duties and responsibilities listed above, as well as the abilities to adhere to company policies, exercise sound judgment, effectively manage stress and work safely and respectfully with others, exhibit trustworthiness and professionalism, and safeguard business operations and the Company’s reputation. Pursuant to the Los Angeles County Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.
Our compensation reflects the cost of labor across several US geographic markets. The base pay for this position ranges from $151,300/year in our lowest geographic market up to $261,500/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.