Software Development Engineer
Annapurna Labs
This job at a glance
- Who can apply
- New grads and up to 1 year · Master's degree
- Must know
- Machine learningPythonCRustCI/CDLLMs
- Nice to have
- Embedded systemsC++Unit testing
- Work
- On-site in Cupertino
- Pay
- Not stated by the employer.
- Skill demand
- Python62%C12%Machine learning11%Rust5%of 149 similar entry-level jobs posted in the US this week
- Listed
- Oct 31, 2026 · still open
Sign in free to see which of these skills your resume already shows.
About the Role
Are you passionate about innovation and solving real customer problems through technology? Do you enjoy working on scalable projects in a collaborative team environment and seeing your solutions directly impact millions of customers worldwide? At Amazon, we hire the best minds in technology to innovate and build on behalf of our customers. Customer obsession is part of our company DNA. We're looking for curious minds who think big and want to define tomorrow's technology. At Amazon, you'll grow into a high-impact contributor, supported by a culture of learning and mentorship, with exciting new challenges and opportunities for personal growth every day.
Key Responsibilities
- Collaborate with cross-disciplinary teams (hardware design, firmware, compiler, runtime, ML engineers) to develop software that enables and optimizes custom ML accelerator silicon.
- Design, develop, and test software across the accelerator stack, including compiler toolchains, device drivers, runtime libraries, profiling tools, simulation frameworks, or chip validation infrastructure.
- Build scalable, high-performance systems supporting chip verification, silicon bring-up, or production ML inference/training workloads.
- Write clean, maintainable code in C, C++, Python, or Rust, following best practices for systems-level and performance-critical development.
- Develop CI/CD pipelines, test automation, and tooling to accelerate the hardware-software co-development lifecycle.
- Participate in code reviews, contribute to technical documentation, and leverage GenAI tools to enhance development productivity.
- Demonstrate operational excellence through monitoring, debugging, and resolving issues across hardware-software integration boundaries, including on-call responsibilities.
- Stay current with emerging technologies in ML accelerators, compiler optimization, computer architecture, and cloud-scale distributed systems.
Requirements & Tech Stack
- C++
- C
- Python
- Rust
Qualifications
- Enrolled in a Master's degree in Computer Science, Computer Engineering, or related fields at the time of application.
- Experience programming with C++ using OOP.
- Coursework in Computer Architecture.
- Preferred Qualifications:
- Coursework, research, or project involving architectural simulators (gem5, QEMU, self-built simulator, etc.).
- Experience with the full software development life cycle, including coding standards, code reviews, source control management, build processes, and testing.
- Internship or research experience in silicon, firmware, architecture, or performance analysis.
- Experience with SoC, CPU, GPU, and/or ASIC architecture and micro-architecture.
- Familiarity with modern C++ (17, 20, etc.).
- Experience with PyTest or GoogleTest.