Software Development Engineer, SoC HAL

Amazon

Cupertino, CAOn-siteFull time
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
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.

Create an account

About the company

Amazon

Software Development · 10,001+ employees

Amazon on LinkedIn

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.

Create an account

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

More entry level jobs in Cupertino, CA

All jobs in California

More jobs at Amazon

Ready to apply?

Create an account to save jobs, track applications, and build tailored resumes.

Create an account