Software Engineer III, Infrastructure
Summary
Software Engineer III on Google's Platforms Infrastructure team maintaining the Linux kernel subsystems that make virtual machines run — the foundation of Google Compute Engine. Day to day: design and develop IOMMU features in kernel and userspace, triage and fix IOMMU issues, improve security/reliability/performance, and engage the upstream Linux community.
In this role, you will be responsible for every subsystem in the Linux kernel that makes virtual machines run. Your work will directly impact how Google offers its services to billions of customers, and it is also the underlying foundation of the Google Compute Engine product portfolio. As a team of virtualization experts, you will participate in industry conferences and advocate initiatives that shape the future of this field.
Our Platforms Infrastructure Engineering team designs and builds thehardware and software technologies that power all of Google's services. Our computational challenges are complex and unique, enabled by cutting-edge custom hardware designed and made in-house. As a hardware engineer, you will design and build the systems that are the heart of the world's largest and most powerful computing infrastructure. You will see those systems from concept all the way through to high-volume manufacturing. Your work has the potential to shape the machinery that goes into our data centers, affecting millions of Google users.Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $147000 - $210000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google.
- Plan, design, develop, test, and maintain IOMMU features across kernel and userspace.
- Triage, investigate, and resolve IOMMU issues in the Linux kernel.
- Improve security, reliability, and performance of IOMMU in the Linux kernel.
- Engage the upstream community to improve the IOMMU support in Linux, support innovation, and meet Google's goals.
- Collaborate within the team and across teams and organizations.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development or 1 year of experience with an advanced degree in an industry setting.
- 2 years of experience with developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage or hardware architecture.
Preferred qualifications:
- Master's degree or PhD in Computer Science, or related technical fields.
- 2 years of experience with data structures and algorithms.
- Experience developing accessible technologies.
- Experience in Kernel-Based Virtual Machine.