
Software Development Engineer, SoC HAL
Amazon
With an account: save jobs, track applications, build tailored resumesAlready have an account? Log in
- Pay
- $148.4K
- a year
- Location
- Cupertino, CA
- Work style
- On-site
- Job type
- Full time
- Posted
- Nov 6
- Today
Build resumeBuild cover letterGenerate interview prepBuild resumeBuild cover letterGenerate interview prep
Career path
See where this role leads
Jigup maps the next three moves from a job like this one, with the titles and the skills each step asks for.
About the company

Amazon
Software Development · 10,001+ employees
What you'll do
- The engineer will implement, test, and maintain hardware abstraction layer and driver features for custom silicon blocks.
- They will also debug failures spanning software and silicon while collaborating with hardware design and verification teams.
What you need
- Candidates should have experience in professional software development or a degree in computer science or a related field.
- Proficiency in C/C++ and an understanding of software design fundamentals are required.
- Education: a bachelor's degree or a postgraduate degree
Key skills
C++CPythonJavaPerlDriver developmentHardware abstraction layerEmbedded systemsDebuggingPCIeDDRHBMDMAFirmwareComputer architectureOperating systems
Keywords for your resumePro
The words this employer's screening is likely to look for.
This job lists resume keywords
The terms this posting uses, pulled out so you can mirror them in your resume. Jigup Pro members see the list on the job board.
Perks
- 401(k) matching
- Mental health support
- Medical advice line
- Employee assistance program
See full description on company page, apply now
Read the full posting here
Description
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.
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.
Key job responsibilities
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. Basic Qualifications: - 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
Preferred Qualifications: - 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
Amazon is an equal opportunity employer and does not discriminate on the basis
of protected veteran status, disability, or other legally protected status.
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 inclusive culture empowers Amazonians to deliver the best results for our
customers. If you have a disability and need a workplace accommodation or
adjustment during the application and hiring process, including support for the
interview or onboarding process, please visit
https://amazon.jobs/content/en/how-we-hire/accommodations
[https://amazon.jobs/content/en/how-we-hire/accommodations] for more
information. If the country/region you’re applying in isn’t listed, please
contact your Recruiting Partner.
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
[https://hiring.amazon.com/why-amazon/benefits].
Cupertino, CA, USA - 148,400.00 USD Annually