AWS Utility Computing (UC) provides product innovations — from foundational services such as Amazon’s Simple Storage Service (S3) and Amazon Elastic Compute Cloud (EC2), to consistently released new product innovations that continue to set AWS’s services and features apart in the industry. As a member of the UC organization, you’ll support the development and management of Compute, Database, Storage, Internet of Things (Iot), Platform, and Productivity Apps services in AWS, including support for customers who require specialized security solutions for customers who require specialized security solutions for their cloud services.
EC2 Nitro drives the planet’s largest, fastest growing and most feature-rich compute cloud. Nitro is AWS’ ground-up design for virtualization at global scale built on a fully custom stack of hardware, firmware and applications. Nitro has enabled EC2 to support Intel, AMD and Amazon’s custom silicon - the Graviton processor family - while raising the industry bar for security and performance across our product line.
We integrate hardware, firmware, application software and services to deliver new virtualized and bare-metal compute platforms for companies from startups through the Fortune 500. We are looking for an experienced kernel software engineer to drive development for new EC2 compute platforms. In this role, the engineer will work with a broad and deep group of technical teams that develop hardware, firmware, systems and application software.
The ideal candidate is expected to have solid understanding of computer science fundamentals, systems programming, Linux kernel development, and expertise in C and Git. Experience with Linux package management, version control systems, automated build processes, and software unit testing are required. Preferred candidate will have demonstrated kernel development and debugging experience, i.e., documented contribution history in Linux kernel repository or similar.
A day in the life
As a Nitro Operating Systems engineer, your day centers around developing and optimizing the specialized OS that powers AWS's Nitro system. You might start by reviewing telemetry data from overnight kernel performance tests, then dive into coding a new virtualization feature for an upcoming EC2 instance type. After lunch, you'll debug a thorny memory allocation issue that's causing sporadic system hangs. Later, you'll collaborate with hardware engineers to optimize driver code for new Nitro hardware. You'll wrap up by documenting your kernel modifications and preparing for tomorrow's design review with fellow OS engineers. Throughout the day, you'll balance planned feature development with quick investigations of any critical system issues that arise.
About the team
The Nitro Operating System team develops and maintains a custom Linux distribution within the larger Nitro Operating System space. Our collaborative team environment emphasizes close partnerships both within the group and across EC2 teams to deliver high-impact solutions. We encourage contributions to upstream Linux kernel and active engagement with the Linux kernel community.