- Full-time
Windscribe is a leading cyber security and privacy company launched in 2016 and now with more than 100 million users. We believe that the internet was created so that people across the globe could have access to any type of information, no matter where they are. Our mission is to transform the internet with easy-to-use yet powerful privacy and security tools that allow anyone to circumvent censorship, access geographically restricted content, and minimize their exposure to marketers, criminals, and surveillance dragnets.
Our well-received applications have appeared on Lifehacker, Techradar, and CNET. Headquartered in Toronto, Canada, Windscribe operates two products:
- Windscribe is a suite of privacy, anonymity and anti-censorship tools for the masses.
- Control D is a modern and customizable DNS service that blocks threats, unwanted content and ads — on all devices.
Onboard in minutes, and forget about it. We have infrastructure all over the world, and right now we are looking for a Senior Software Engineer to join our Engineering team. This is a software engineering role first: you will spend most of your time writing software that eliminates operational work, not doing operational work by hand. You do not need to arrive knowing our stack in depth. You will learn it here.
This is a software engineering role first. The Senior Software Engineer - Site Reliability will spend most of their time writing software that eliminates operational work, rather than performing that work by hand. In-depth knowledge of the existing stack is not expected on arrival, as it will be learned alongside the team that runs it.
Role Overview
You will design and build the software that improves the availability, scalability, latency, and efficiency of the company's services. You will turn repeated operational tasks into automation, define reliability targets with stakeholders, and help keep globally distributed systems healthy. This role suits an engineer who treats a runbook as a stopgap rather than a deliverable and who takes pride in removing entire classes of problems.
Key Responsibilities
- Design, write, review, test, and ship software that improves the availability, scalability, latency, and efficiency of services. This is the majority of the role.
- Convert operational work into engineering work, so that every repeated task, checklist, or validation becomes automation.
- Define service level objectives with stakeholders and build the monitoring and alerting that enforces them, fixing or removing any alert that does not map to a real expectation.
- Debug production issues across the whole stack, from application code down through Linux and the network.
- Lead blameless postmortems and root cause analyses, and deliver fixes that eliminate the entire class of problem rather than only documenting it.
- Plan capacity and cost using data, and document what you build so that others can operate it.
- Participate in an established on-call rotation as part of the critical incident response team. The rotation covers shared infrastructure, not only the code you wrote.
- Learn the stack in depth, including DNS at global scale, anycast networks, and VPN protocols, working with the team that operates it.
Required Skills and Experience
- Bachelor's degree in Software Engineering, Computer Science, or a similar field.
- 5+ years of professional software development in one or more general-purpose languages. Go is preferred; Python, Rust, and C/C++ are also valued. Shell and YAML alone do not qualify.
- Automation you personally built, such as a tool, service, operator, distributed system, or auto-remediation system that eliminated real operational work. You should be prepared to walk through its design and trade-offs.
- Experience designing, analyzing, and troubleshooting distributed systems in production.
- Git, testing, code review, and continuous integration as part of your normal workflow, and comfort working in a large codebase you did not write.
- Solid Linux fundamentals, along with experience with containers and infrastructure as code (Terraform, Ansible, or equivalents).
- Observability experience as a builder: you instrument your own code using tools such as Prometheus and Grafana, rather than only reading dashboards.
Bonus If You Have
None of the following are required, as they can be learned on the job:
- Deep DNS knowledge, including BIND, PowerDNS, or Unbound, record types, resolution paths, and DNSSEC.
- Routing experience with unicast, anycast, and BGP.
- Linux networking depth, including iptables or nftables, eBPF, and performance tuning.
- Familiarity with VPN protocols such as OpenVPN, WireGuard, and IKEv2.
- Experience with bare metal fleets, hypervisors, or networking hardware (JunOS, VyOS).
- Experience with high-availability databases (MySQL, Postgres, Redis) and load balancers (HAProxy, nginx).
Who This Role Is Not For
- Candidates whose experience is primarily operating, configuring, and troubleshooting software that other people built, such as systems administration, network operations center work, or infrastructure operations under a Site Reliability Engineering title.
- Candidates whose observability and reliability experience is primarily advisory, covering SLO frameworks, dashboards, and monitoring strategy, without software they built to act on those signals.