Software Development Engineer
Annapurna Labs
This job at a glance
- Who can apply
- New grads and up to 1 year · Bachelor's degree
- Must know
- Machine learningEmbedded systemsPythonC++CRust
- Work
- On-site in Cupertino
- Pay
- Not stated by the employer.
- Skill demand
- Python64%C++43%Embedded systems23%Machine learning15%of 149 similar entry-level jobs posted in the US this week
- Listed
- Oct 30, 2026 · still open
Sign in free to see which of these skills your resume already shows.
Key Responsibilities
- Collaborate with cross-disciplinary teams (hardware design, firmware, compiler, runtime, ML engineers) to develop software for custom ML accelerator silicon.
- Design, develop, and test software across the accelerator stack, including:
- Compiler toolchains
- Device drivers
- Runtime libraries
- Profiling tools
- Simulation frameworks
- 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 for systems-level and performance-critical development.
- Develop CI/CD pipelines, test automation, and tooling to accelerate hardware-software co-development.
- Participate in code reviews, contribute to technical documentation, and leverage GenAI tools.
- 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
- Demonstrated experience with at least one programming language: C, C++, Python, Rust, or Java.
- Demonstrated experience with one or more of the following:
- Data structures
- Algorithm development
- Systems programming
- Object-oriented design principles
Qualifications
- Currently have, or be in the process of obtaining, a Bachelor's degree or above in Computer Science, Computer Engineering, Electrical Engineering, or related STEM field.
Preferred Qualifications
- Previous technical internship(s) or demonstrated project experience in:
- Systems software
- Hardware-adjacent development
- ML infrastructure
- Experience with one or more of the following:
- Compiler design or optimization
- Computer architecture
- Device drivers or low-level systems programming
- Hardware simulation or emulation
- ML frameworks (PyTorch, TensorFlow)
- Performance profiling and analysis
- Linux kernel or embedded systems
- AI tools for development productivity
- Cloud platforms (preferably AWS)
- Version control systems
- Strong problem-solving skills with the ability to debug across hardware-software boundaries.
- Excellent written and verbal communication skills.
- Basic understanding of the hardware development lifecycle (RTL design, verification, silicon bring-up, production deployment).
- Demonstrated ability to learn and adapt to new technologies quickly.