Role overview
Build and operate full-stack software that brings network-device capabilities into a centralized management dashboard. The role spans architecture, implementation, production release, and ongoing reliability for distributed services, with ownership of customer-facing features and collaboration across engineering and product teams.
Responsibilities
- Design and build scalable services and user-facing features across the software stack.
- Improve reliability and performance through testing, telemetry, and alerting.
- Own work from initial design through safe production rollout, using techniques such as feature flags and controlled experiments.
- Make architectural and system-design decisions for complex engineering problems.
- Work with engineering managers, product managers, and partner teams to set direction around technical and business priorities.
- Resolve defects, networking issues, and customer-reported problems, while coaching other engineers.
Requirements
- A bachelor's degree in a relevant technical field plus at least 12 years of related experience, a master's degree plus eight years, or a doctorate plus five years.
- Professional experience building web back ends with languages such as Ruby, Go, or Python, or comparable technologies.
- Experience designing system architecture and making technical tradeoffs.
- Experience delivering software safely to customers, including use of feature flags or A/B testing.
- Experience coaching teammates and working in an agile engineering environment.
- Ability to solve open-ended problems across the software stack.
Nice to have
- Experience with networking equipment, network emulation or simulation, or tools for modeling network environments.
- Background in systems software or large-scale distributed networking solutions.
- Experience collaborating across disciplines or geographically distributed teams.
Benefits and work setup
- Remote role based in Canada.