Senior Virtual Platform Software Engineer, Annapurna Labs Machine Learning Accelerators, AWS
Amazon Web Services (AWS) · Austin, TX · 3 wk ago
ConsultingFull-time
What you'll do
- 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
- Small team, startup pace, big impact inside AWS's custom silicon org
What you bring
- 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
Basic Qualifications
- 5+ years of non-internship professional software development experience
- 5+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Experience as a mentor, tech lead or leading an engineering team
- 7+ years of non-internship professional experience writing functional or performance models
- Experience programming with C++ and/or SystemC
- Knowledge of SoC, CPU, GPU, and/or ASIC architecture and micro-architecture
Preferred Qualifications
- Bachelor's degree in computer science or equivalent
- Experience analyzing data and applying best practices to assess performance drivers
- Experience developing models that integrate with QEMU
- Experience developing and calibrating performance models for custom silicon chips
- Experience with PyTest and GoogleTest
- Familiarity with modern C++ (11, 14, etc.)
- Experience in multi-threaded programming
- Experience with machine learning accelerator hardware and/or software