Senior Software Development Engineer, EC2 Nitro
About the role
The EC2 Nitro team is seeking a seasoned leader to drive software development and scaling for new EC2 compute platforms. This role involves working with a diverse group of technical teams that develop hardware, firmware, systems, and application software.
Responsibilities
Design and develop innovative technologies that power the infrastructure supporting machine learning workloads on Ultraservers.
Lead technical projects establishing EC2 as the pioneer in cloud computing for ML workloads across diverse applications including LLMs, multimodal systems, and emerging model architectures.
Develop and maintain comprehensive regression testing systems that validate performance across major component releases including frameworks, firmware, drivers, and networking infrastructure.
Collaborate with hardware engineering teams to influence future platform designs based on performance insights gathered from state-of-the-art research and customer workloads.
Build customer relationships by investigating complex performance challenges, developing solutions, and publishing actionable best practices through multiple channels.
Requirements
Solid understanding of computer science fundamentals.
Expertise in C, C++, or Rust development in a Linux environment.
Experience with Linux package management, version control systems, automated build processes, and software unit testing.
In-depth knowledge of ML frameworks and cluster management (preferred).
Qualifications
5+ years of non-internship professional software development experience.
5+ years of programming with at least one software programming language experience.
5+ years of leading design or architecture (design patterns, reliability and scaling) of new and existing systems experience.
Experience as a mentor, tech lead or leading an engineering team.
Preferred Qualifications
5+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience.
Bachelor's degree in computer science or equivalent.
Experience in embedded development in C/C++.