The AWS Graviton Software team is seeking Software Engineers to optimize performance for AWS Graviton.
Graviton delivers the best price/performance in AWS data centers. For the past 3 years, Graviton has powered the majority of new EC2 capacity and is used by over 98% of our largest customers.
You'll drive performance optimization across open source projects, internal services, and customer applications, working on everything from Linux kernel development to C++/Rust debugging to assembly-level optimization. Our team optimizes a diverse range of applications including databases, web services, games, video encoding, ML, and HPC workloads.
This doesn't mean you have or will have all those skills, but you'll have a chance to learn from those who do. This is a unique opportunity to impact how software runs in AWS, while growing your technical breadth and depth.
Key job responsibilities
Performance Optimization & Analysis
- Enhance architectures and algorithms for optimal performance
- Use tools like Aperf, sysstat, sysctl, perf to identify bottlenecks
- Monitor and analyze processor, OS, and workload metrics
- Optimize software performance for AWS customers and AWS services (such as S3, Lambda, EMR, ElastiCache, RDS ..etc)
Open Source Development
- Contribute to Linux kernel improvements
- Contribute to various other open source projects
- Develop analysis frameworks and automation systems
Tool(s) Development
- Enhance APerf (our open-source Rust-based performance tool)
- Create new performance analysis features
- Build and maintain automation solutions
A day in the life
0
BASIC QUALIFICATIONS
- Experience programming languages such as C/C++, Python, Java or Perl
- Candidates should have strong interests and academic qualifications in two or more of the following:
- - Compiler design and optimization (e.g., LLVM, GCC internals, code generation, instruction selection)
- - Computer architecture (e.g., ARM/AArch64, pipelining, memory hierarchies, SIMD/vector extensions)
- - Systems programming (e.g., operating systems, linkers, runtimes, performance profiling)
- - Program analysis and transformation (e.g., loop optimization, register allocation, auto-vectorization)
PREFERRED QUALIFICATIONS
- Master's degree in computer science or equivalent, or experience from previous technical internship(s) or demonstrated project experience
- Experience contributing to open-source compiler projects (LLVM, GCC, or similar).
- Familiarity with performance profiling and micro-architectural optimization on ARM-based processors.
- Knowledge of optimization techniques such as polyhedral models, linear programming, or graph-based scheduling.
- Ability to effectively articulate technical challenges and solutions.
- Comfort with ambiguous or undefined problems and ability to think abstractly.