Software Engineer, Networking Management, Distributed Infrastructure
The Network Management Services team is responsible for software that manages changes to Google's Cluster Networks world wide. 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.
Our team 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.
In this role, you will 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 be expected to design and implement large features that enable the self-driving-networks mission of the team. You will be expected to develop technical understanding and competency working with complex distributed systems and cope with a broad ecosystem with many moving parts. This space involves developing new systems for emerging customer requirements as well as evolving and sustaining existing systems, and there will be opportunities to grow and contribute to the product excellence and strategic direction.
The US base salary range for this full-time position is $141,000-$202,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 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 life-cycle 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.
- 2 years of software engineering and software development experience.
- 1 year of experience with distributed computing.
Preferred qualifications:
- Master's degree or PhD in Computer Science, or a related technical field.
- 2 years of experience with coding in C++.
- 2 years of experience with coding in Go.
- 2 years of low level programming experience.
- 2 years of data center networking and cloud networking experience.