Share
The ideal candidate is expected to have solid understanding of computer science fundamentals, and 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 are required. Specific, in-depth knowledge of the use, design, and development of Linux operating system internals is preferred.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 analyzing system metrics from overnight tests, then dive into implementing new OS features for upcoming EC2 capabilities. After lunch, you'll debug a complex memory management issue that's impacting performance. Later, you'll collaborate with hardware engineers to optimize interface code for new Nitro components. You'll wrap up by documenting your changes and preparing for tomorrow's design review with the team. Throughout the day, you'll balance planned feature development with investigating and resolving critical system issues that arise.
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with at least one software programming language
- 3+ 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
These jobs might be a good fit