Job details
- Location
- Will County, IL
- Work type
- Onsite
- Visa
- Sponsorship available
- Posted
- 4 weeks ago
- Apply on
- amazon.jobs
About this role
Annapurna Labs designs and builds custom silicon and systems software that power Amazon Web Services at scale, including Nitro and Graviton platforms. The graduate software engineer will develop, test, debug, and optimize low-level embedded and systems software while collaborating with hardware and silicon engineers and growing through mentorship.
What you'll do:
- Design, develop, test, and debug embedded and systems software (firmware, drivers, low-level services) for Amazon's Nitro and Graviton platforms
- Write and optimize code primarily in C and C++, working close to the hardware
- Collaborate with hardware, silicon, and verification engineers to bring up new chips and platforms
- Debug complex issues across the software/hardware boundary using logic analyzers, JTAG, and system-level tooling
- Contribute to code reviews, design discussions, and the continuous improvement of our software and processes
- Learn continuously — from senior engineers, from the systems, and from a fast-moving, high-ownership environment
- Picking up a task from your team's backlog — a new driver feature, a firmware bug, or a bring-up item on a new chip revision — and pairing with your mentor to scope it
- Writing and reviewing C/C++ code, then running it on real Amazon-designed hardware in the lab (or on emulation/simulation before silicon arrives)
- Debugging an issue that spans the software/hardware boundary — reading logs, attaching a debugger over JTAG, or reasoning through a trace with a hardware engineer sitting next to you
- Joining a design discussion or code review where your questions and ideas are genuinely wanted — junior engineers here are expected to think, not just execute
- Wrapping up by pushing your change through CI and watching it move toward production that serves millions of AWS customers
What they're looking for:
- Bachelor's or Master's degree in Computer Science, Computer/Electrical Engineering, or a related field
- Solid programming foundations in C and/or C++
- Strong understanding of computer science fundamentals: data structures, algorithms, operating systems, and computer architecture
- Ability to read and write clear, correct, maintainable code
- Fluent English (written and spoken)
- Academic projects, internships, or personal projects involving embedded systems, firmware, device drivers, operating systems, or low-level programming
- Familiarity with Linux, the Linux kernel, or real-time operating systems (RTOS)
- Exposure to computer architecture concepts (CPUs, memory hierarchies, virtualization) — Arm architecture a plus
- Experience with hardware/software co-development, debugging tools, or scripting (Python, shell)
- Curiosity, ownership, and a strong desire to learn how systems work end to end
Benefits:
- Hands-on engineering role with mentorship from senior engineers
- Clear ramp-up plan and ongoing support
- Deep technical mentorship from experienced systems and silicon engineers
- Opportunity to work across the full stack, from transistors to hypervisors
- A culture of ownership, learning, and building things that matter
Ready to apply?
ApplyBolt finds matching jobs, tailors your resume, and submits applications for you.