Sr. Firmware Engineer, Annapurna Labs, Machine Learning Acceleration - Power and Performance
Amazon Web Services (AWS) · Austin, TX · 2 wk ago
Consulting$151k/yrFull-time
About the role
Annapurna Labs is a division of AWS Utility Computing that designs silicon and software to accelerate innovation. We are looking for a Senior Firmware Engineer to join our Power Architecture team, focusing on firmware algorithms for power and performance management on ML acceleration chips.
Responsibilities
- Design and implement firmware algorithms for power management, thermal control, and performance optimization on ML acceleration hardware
- Develop real-time control policies and state machines that dynamically balance power, thermal, and performance constraints
- Create optimization algorithms for resource allocation, frequency/voltage scaling, and workload scheduling
- Implement efficient data structures and algorithms suitable for embedded, resource-constrained environments
- Design and implement on-device tracing and telemetry collection systems to support algorithm development and validation
- Build developer tools and data pipelines for metric collection, analysis, and visualization of algorithm behavior
- Implement low-overhead instrumentation that minimizes impact on workload performance
- Collaborate with hardware architects to understand hardware capabilities and identify optimal instrumentation points
- Develop automated testing and validation workflows; integrate with optional cloud-based analytics pipelines
- Own firmware code quality through rigorous testing, debugging, and validation on hardware
Qualifications
- 5+ years of non-internship professional software development experience
- Experience as a mentor, tech lead or leading an engineering team
- Bachelor's degree in computer science, electrical engineering, or related field
- Strong firmware or embedded systems development experience
- Proficiency in C/C++ for systems programming with strong foundation in algorithms and data structures
- Experience implementing efficient algorithms in resource-constrained, real-time environments
- Experience with hardware interfaces, instrumentation, or performance monitoring
- Strong debugging skills with hardware-software systems
- Experience building developer tools or instrumentation frameworks