Description:
We are looking for a Staff Software Engineer to take ownership of these systems. This is a software engineering role at its core. You will spend most of your time designing and writing production software, setting technical direction, and raising the quality bar for the team. A solid understanding of networking fundamentals is required, but deep network engineering expertise is not. This role is about building the software that operates the network.
- Own the design, development, and long-term health of the platforms and services that automate the network, including config generation, device provisioning, workflow automation, observability tooling, and internal CLIs and APIs.
- Plan and map out complex projects months in advance, sequencing the work, anticipating dependencies, and keeping several efforts moving in parallel.
- Lead technical direction through RFCs, design reviews, and architecture decisions, and break ambiguous problems down into shippable work.
- Write well-tested, well-documented software in Python and Go, and set the standard for quality across the team through strong test cases, clear error handling, and solid CI/CD practices.
- Improve the reliability and operability of what we run by defining service-level indicators and objectives and relentlessly reducing manual toil through automation.
- Partner closely with Network Engineering, Observability, Fleet Engineering, and HPC teams so our automation fits cleanly into the wider system.
- Join the on-call rotation once you are ramped, and help drive calm, blameless follow-up when things break.
- Mentor other engineers, review code and designs, and help grow the technical skills of the team.
- Contribute to a positive, collaborative team and organizational culture.
Who You Are
- 8 or more years of professional software engineering experience, ideally building and operating production infrastructure, platform, or backend systems at scale.
- Strong proficiency in Python and Go.
- Solid understanding and experience in CI/CD (testing, code review, maintaining continuous builds and deployments).
- Strong understanding of managing runtime health for services and applications at an enterprise level.
- A love of process automation and toil elimination, with hands-on experience building workflow automation or orchestration systems and automated device provisioning at scale such as Zero Touch Provisioning.
- Strong planning skills, including the ability to lay out and drive projects across a multi-month horizon while keeping several concurrent efforts moving as part of a team.
- Strong, well-reasoned technical opinions, paired with genuine openness to better ideas and other people's input.
- A solid understanding of core networking fundamentals, including IP addressing and subnetting, routing/switching, NTP, and DNS.
- Comfort with Linux and Kubernetes, and experience with infrastructure automation tooling such as Ansible and Jinja, a source-of-truth or IPAM and DCIM system such as NetBox, and observability tooling such as Prometheus and Grafana.
- Excellent written communication, a habit of writing documentation other people can actually use, and experience mentoring engineers and collaborating across teams.