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.
- 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
- 5+ years software engineering experience in the following: device driver development, embedded systems, or operating systems.
- 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
משרות נוספות שיכולות לעניין אותך