Software Engineer - Network Automation (Go/Python) (f/m/d)
Summary
Software engineer on Exoscale's network team building the orchestration that takes a merged network change from pull request to production devices automatically and safely — with validation, staged rollout, verification, and rollback. Day-to-day is Go and Python services, CI/CD, testing labs, and source-of-truth tooling like NetBox and Ansible.
- Design and build the orchestration of network changes. This goes beyond a deployment pipeline: it coordinates multi-step operations across devices and systems, with pre-change validation, staged rollout, post-change verification, and automatic rollback.
- Write the services and tooling behind it in Go and Python, with the tests, CI, and observability you would expect of any production software.
- Build a test environment (virtual labs, config and state checks) that lets us catch a bad change before it reaches a device.
- Extend our source-of-truth and config-generation tooling (NetBox, Peering Manager, Ansible/Jinja2) so that more of the network is described by data instead of by hand.
- Make the network’s state visible: detect drift between intended and running configuration, and expose it to the team.
- Take part in code and infrastructure change reviews, and raise the software engineering bar of the team.
- Join the on-call rotation after a training period.
- Solid professional experience designing, writing, and maintaining production software in Go, and fluency in Python.
- Experience building CI/CD or deployment systems where a failed rollout has real consequences.
- A habit of testing what you ship and automating what you do twice.
- A working understanding of networking fundamentals (IP, routing, VLANs, what BGP is for). You don’t need to be a network engineer; you need to be curious enough to become dangerous.
- Strong written and spoken English, and comfort working in a distributed team.
- Automated network devices before (Arista EOS, Junos, SONiC), through NETCONF, gNMI, eAPI, or similar.
- Used Ansible, NetBox, or comparable configuration-management and source-of-truth tools at scale.
- Worked with network test or validation tooling (containerlab, Batfish, pyATS, or similar).
- Experience with Linux networking and Kubernetes.
- A problem with real scope and ownership: you build the orchestration, not a ticket queue around it.
- Flexible hours and the ability to work remotely.
- A high degree of autonomy and creative freedom.
- A modern work environment with centrally located offices and excellent public transport access.
- Ongoing learning opportunities, training, and team events.

