About this role
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
The Switch Infrastructure team designs, develops, tests, and deploys the switch hardware and software for the networks inside Google's massive data centers and the private backbone connecting them worldwide. Our work enables and supports all major Google services, including Search, YouTube, Gmail, Google Cloud Platform (GCP), and the rapidly growing AI/ML infrastructure like Gemini.
The Switchstack Development team creates the brains inside the custom-built network switches. We develop and maintain the Network Operating Systems (NOS) including the mature legacy stack and the next-generation Switch stack (based on SONiC) that power hundreds of thousands of switches across Google's global fleet. Our mission is to build industry-aligned switch software that advances Google's network infrastructure for scalability, agility, reliability, and innovation, with a strong focus on supporting AI/ML demands.Google Cloud accelerates every organization’s ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google’s cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience coding in the development of embedded systems using C/C++.
- 2 years of experience with working with Linux and embedded operating systems.
- Experience working with data center infrastructure and networking hardware.
Preferred qualifications:
- Master's degree or PhD in Computer Science or a related technical field.
- Experience with network operating systems used on high-performance switches (e.g., Cisco IOS-XR, Juniper JunOS).
- Knowledge of network hardware architectures and the interaction between software and Application-Specific Integrated Circuits/Field-Programmable Gate Arrays (ASICs/FPGAs).
- Proven track record of contributing to large-scale software projects, demonstrating strong collaboration and code quality.
- Demonstrated ability to learn new technologies quickly and adapt to a rapidly evolving networking landscape.
- Create scalable, modular, and high-performance software components for network switches, including control plane protocols, data plane forwarding, management interfaces and Switch Security.
- Develop and enhance switch platform, Optimize switch software and Quality of Service (QoS) mechanisms to ensure maximum performance within Google's massive infrastructure.
- Embed software development for data center devices.
- Develop robust testing frameworks, conduct analysis, and proactively address potential issues to maintain a highly available network.
- Work closely with network hardware engineers, system engineers, and Site Reliability Engineers (SREs) to seamlessly integrate software solutions into Google's global network.