Software Development Engineer, SoC HAL
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+9 more
Job description
As a Software Engineer on the SoC HAL team, you will write and test C++ for the driver stack across the hardware blocks that make up our chips, learn how the silicon works from the engineers who design it, and grow your skills on a small, fast-moving team inside a large organization. No machine learning background is required (you will pick up ML concepts from colleagues if you want to). This role is based in Cupertino, CA., Implement, test, and maintain HAL/driver features for individual hardware blocks (for example PCIe, DDR / HBM memory, DMA, system fabric, interrupt controllers, and boot / firmware), working from designs and interfaces set by more senior engineers.
Write clean, well-tested C++ and contribute to the team’s test, code-review, and continuous-deployment practices.
Debug failures that span software and silicon, with support from the team, and build an understanding of how the HAL interacts with the hardware underneath it.
Learn the hardware/software interface by partnering with RTL and design verification engineers on well-scoped questions.
Provide feature additions and bug fixes on current and prior chips.
A day in the life A typical day moves between writing and reviewing C++ for the HAL, pairing with a teammate on a tricky bug, and learning how a hardware block works from its spec or from the engineer who designed it. You might add a feature to a driver, write tests for it, and work through code-review feedback, then dig into a failure that spans software and silicon. Your teammates are the HAL engineers you build alongside; the hardware design, verification, and firmware teams are close partners you will learn from; and your customers are the internal software teams that rely on the HAL to boot, configure, and debug the chip.
About the team Annapurna Labs designs and deploys some of the largest custom silicon in the world, including the Trainium and Inferentia machine learning accelerators. Our SoC HAL team builds the low-level software that boots, configures, and manages these chips, sitting between the hardware and the system software that runs the server. We are a small team that works closely with hardware, holds a high engineering bar, and invests in helping engineers grow. Based in Cupertino, CA, we value mentorship, clear written design, and software that outlasts any single chip.
Requirements
Knowledge of programming languages such as C/C++, Python, Java or Perl
- Experience (non-internship) in professional software development, or currently enrolled in or recently completed a Bachelor’s or Master’s degree in computer science or a related field
- Experience with data structures, algorithms, and software design fundamentals, Bachelor’s degree or above in Computer Science, Computer Engineering, or related fields at time of application
- Coursework, internship, or project experience in computer architecture or operating systems
- Experience with C or C++ and object-oriented design
- Exposure to low-level, embedded, or hardware-adjacent programming
- Familiarity with testing, debugging, source control, and build processes in a team setting
Benefits & conditions
The starting pay for this position is listed below. Starting Day 1 of employment, Amazon offers EAP, Mental Health Support, Medical Advice Line, 401(k) matching. Learn more about our benefits at https://hiring.amazon.com/why-amazon/benefits.
Cupertino, CA, USA - 148,400.00 USD Annually
About the company
Annapurna Labs builds the custom silicon at the heart of AWS machine learning servers, and we are hiring a software engineer to help build the Hardware Abstraction Layer (HAL) that brings these chips to life. If you love working where hardware meets software, writing the code that boots, configures, and debugs some of the largest custom silicon in the world, this is your team.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…