YOUR NEXT CHAPTER
Software Engineer – Network Automation, Go/Python
About the role
• Design and build orchestration for network changes across devices and systems
• Implement pre-change validation, staged rollout, post-change verification, and automatic rollback
• Write production services and tooling in Go and Python
• Develop tests, CI, and observability for production software
• Build virtual labs and configuration/state checks to catch bad changes before deployment
• Extend NetBox, Peering Manager, Ansible, and Jinja2 source-of-truth and configuration-generation tooling
• Detect configuration drift between intended and running network state and expose it to the team
• Participate in code and infrastructure change reviews
• Raise the software engineering standards of the network team
• Join the on-call rotation after a training period
• Solid professional experience designing, writing, and maintaining production software in Go
• Fluency in Python
• Experience building CI/CD or deployment systems where a failed rollout has real consequences
• Habit of testing what you ship and automating what you do twice
• Working understanding of networking fundamentals (IP, routing, VLANs, and BGP)
• Strong written and spoken English
• Comfort working in a distributed team
• Experience automating network devices is a plus (Arista EOS, Junos, SONiC; NETCONF, gNMI, eAPI, or similar)
• Experience with Ansible, NetBox, or comparable configuration-management and source-of-truth tools at scale is a plus
• Experience with network test or validation tooling (containerlab, Batfish, pyATS, or similar) is a plus
• Experience with Linux networking and Kubernetes is a plus
• Flexible hours and the ability to work remotely
• A high degree of autonomy and creative freedom
• Ongoing learning opportunities, training, and team events
• Modern work environment with centrally located offices and excellent public transport access