About The Position

AWS Trainium servers are complex supercomputers, with both hardware and software built entirely in-house from the ground-up. We’re looking for someone to lead our SoC (System on a Chip) Hardware Abstraction Layer (HAL) team. You’ll be responsible for directing the team both technically and managerially, getting into the details of both. You’ll dig in to understand our custom SoCs 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 leadership position, where you’ll manage systems, debug issues, and write code alongside your team. 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. Take a look at the team’s most recent success story with Trainium3: - https://www.aboutamazon.com/news/aws/trainium-3-ultraserver-faster-ai-training-lower-cost You will thrive in this role if you: - Enjoy and excel in building, managing, and leading teams - Are comfortable with both C++ and 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 servers. 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. 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!

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.)

Nice To Haves

  • Experience in communicating with users, other technical teams, and senior leadership to collect requirements, describe software product features, technical designs, and product strategy
  • 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

Responsibilities

  • Manage and develop a strong team of 6 developers
  • Work with hardware designers to write software that boots and manages 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

Benefits

  • equity
  • sign-on payments
  • medical
  • financial
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service