Senior Software Engineer, Networking Management Distributed Infrastructure
Our team is responsible for software that manages changes to Google's cluster networks worldwide. Networking enables the growing demand for distributed computing to support innovative applications, such as machine learning, cloud computing, and Google applications. Our team builds systems to make this possible. We own services for managing network changes including adding, extending, and removing network elements, updating software, changing configurations, installation, qualification, and safely draining/undraining traffic on live network elements. We manage a self-driving network with a built-in capability to adapt and evolve network topology and provide a turn-key network management system for the health and viability of Google's production network. We also manage disaster recovery and emergency services to ensure availability and recover Google networking services when the unexpected happens.
In this role, you'll be working with a team of talented software engineers to build, deploy, and in some cases even operate, the systems that enable network systems management. As part of the team, you will design and implement large features that enable the self-driving networks mission of the team. You will develop technical understanding and competency working with complex distributed systems and cope with a broad ecosystem with many moving parts. You will contribute to developing new systems for emerging customer requirements as well as evolving and sustaining existing systems.
The US base salary range for this full-time position is $166,000-$244,000 + bonus + equity + benefits. Our salary ranges are determined by role, level, and location. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.Please note that the compensation details listed in US role postings reflect the base salary only, and do not include bonus, equity, or benefits. Learn more about benefits at Google.
Responsibilities
- Design and build new networks and/or subsystems for data center networks.
- Design and build support for autonomous, self-driving networks.
- Design and build systems that operate globally as well as those that execute in regional isolation.
- Build automated tests for data center network software. Work on automation systems that execute complex network lifecycle operations such as expanding/upgrading/decommissioning network sub-components.
- Work on projects that improve the availability and debuggability of data center networks.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages.
- 3 years of experience with distributed computing.
Preferred qualifications:
- Master's degree or PhD in Computer Science or a related technical field.
- 3 years of experience in C++ or Go.
- 3 years of experience in low level programming.
- 3 years of experience with data center networking and cloud networking.