Virtual Platform Software Engineer, Annapurna Labs...
Role details
Job location
Tech stack
Job description
Build and own functional models of SoC subsystems that integrate into our full-system virtual platform, used by firmware, driver, runtime, and application software teams
-
Design models for usability and performance - your customers are software engineers who need to run real workloads on your platform efficiently
-
Develop and improve the virtual platform infrastructure: QEMU integration, simulation performance, build and release tooling, and customer-facing documentation
-
Work with software teams (your primary customers) to understand their workflows, debug issues on the platform, and shape the model to maximize their productivity
-
Drive simulation performance improvements so the platform can handle increasingly complex workloads at scale
-
Contribute to model architecture decisions - choosing the right level of abstraction and fidelity for each subsystem based on customer needs
Why this role is interesting:
-
You'll own a product that software teams across AWS depend on - they literally can't start development without your virtual platform
-
The engineering challenges are genuinely interesting: full-system simulation, multi-subsystem integration, QEMU development, performance optimization at scale
-
You'll see the direct impact of your work when software teams hit the ground running on new silicon
-
As the team grows, there's a path into architectural modeling - using the platform to explore design alternatives and influence chip architecture
Requirements
Have built functional models, virtual platforms, or system-level simulations for SoCs, ASICs, GPUs, or CPUs
-
Think of yourself as a software engineer first, with deep domain knowledge in chip architecture
-
Are comfortable in C++ or SystemC, and familiar with Python for tooling
-
Care about your customers' experience - you think about usability, documentation, and reliability, not just model accuracy
-
Are interested in expanding into performance or architectural modeling as the team scales
-
Enjoy working on a small, high-impact team where you own significant pieces of the stack
No ML background needed. You'll learn the ML accelerator domain on the job.
This role can be based in Cupertino, CA or Austin, TX.
Basic Qualifications
-
Experience programming languages such as C/C++, Python, Java or Perl
-
2+ years writing functional models, virtual platforms, or system-level simulations for hardware (SoCs, ASICs, GPUs, CPUs)
-
Familiarity with SoC, CPU, GPU, and/or ASIC architecture and micro-architecture
Preferred Qualifications
-
2+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
-
Experience developing for or integrating with QEMU
-
Experience with SystemC, TLM, or transaction-level modeling
-
Experience building simulation infrastructure, CI pipelines, or release tooling
-
Familiarity with Modern C++ (20 and beyond)
-
Experience with PyTest, GoogleTest, or similar test frameworks
-
Experience with multi-threaded programming
-
Familiarity with firmware, driver, or runtime software development
Benefits & conditions
The base salary range for this position is listed below. Your Amazon package will include sign-on payments and restricted stock units (RSUs). Final compensation will be determined based on factors including experience, qualifications, and location. Amazon also offers comprehensive benefits including health insurance (medical, dental, vision, prescription, Basic Life & AD&D insurance and option for Supplemental life plans, EAP, Mental Health Support, Medical Advice Line, Flexible Spending Accounts, Adoption and Surrogacy Reimbursement coverage), 401(k) matching, paid time off, and parental leave. Learn more about our benefits at https://amazon.jobs/en/benefits .
USA, CA, Cupertino - 165,200.00 - 223,600.00 USD annually
USA, TX, Austin - 143,700.00 - 194,400.00 USD annually