PhD degree in Electrical Engineering, Computer Engineering, Computer Science, a related field, or equivalent practical experience.
Experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript).
Experience working with data structures or algorithms during coursework/projects, research, internships, or practical experience in school or work (e.g., open-source coding).
Experience working with Linux, Kernel and Virtualization.
Nice to haves:
Professional coding experience in unmanaged languages (e.g., Rust, C, C++).
Experience in concurrency, multi-threading, and synchronization.
Understanding of the Linux ecosystem.
What you'll be doing:
Code in C++ (learn if you don't have experience).
Understand guest (virtualized) and host (hypervisor) environments and come up with secure solutions that connect both.
Work with peers to identify, design, create, and optimize software features that run on top of Google's hardware stack.
Develop, test, integrate, and release these solutions.
Design and build infrastructure to automatically measure and detect regressions in key performance metrics at scale.
Perks and benefits:
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information.
Opportunities to switch teams and projects as you and the business grow and evolve.
Work on impactful software like Borglet, part of Google's Cluster Management System.