Текст заказа
Company: Zayo Group
Company Description
Zayo provides mission-critical bandwidth to the world’s most impactful companies, fueling the innovations that are transforming our society. Zayo’s 141,000-mile network in North America and Europe includes extensive metro connectivity to thousands of buildings and data centers. Zayo’s communications infrastructure solutions include dark fiber, private data networks, wavelengths, Ethernet, and dedicated Internet access. Zayo serves wireless and wireline carriers, media, tech, content, finance, healthcare and other large enterprises.
Zayo Group is seeking an experienced Senior Software Engineer to join our Network Automation Software Engineering team. Our team develops and maintains the software platforms, microservices, and automation solutions that enable the provisioning, configuration, and management of Zayo's large-scale telecommunications network infrastructure.
In this role, you will design, develop, and maintain scalable, reliable software solutions that automate complex network operations and reduce the need for manual intervention. You will work primarily in Python, building distributed microservices that communicate through gRPC APIs defined using Protocol Buffers (Protobuf), and leverage Cisco Network Services Orchestrator (NSO) to automate network device configuration and service provisioning.
The ideal candidate is a strong software engineer who enjoys solving complex technical challenges, understands distributed systems, and is interested in applying modern software engineering practices to network infrastructure . Experience with telecommunications or network automation is highly valued , but a solid software engineering foundation and the ability to learn new technologies are equally important.
Responsibilities
Software Development & Architecture
Design, develop, test, and maintain Python-based applications and microservices supporting network automation and orchestration.
Build and integrate gRPC-based services using Protocol Buffers to define strongly typed APIs and service contracts.
Design scalable, maintainable software architectures that support complex network provisioning and lifecycle management workflows.
Develop reusable software components, libraries, and APIs that integrate with internal systems and network infrastructure.
Write clean, efficient, well-documented, and thoroughly tested code following modern software engineering best practices.
Identify and resolve software defects, performance bottlenecks, and system reliability issues.
Participate in architectural discussions, technical design reviews, and technology decisions.
Network Automation & Orchestration
Develop automation solutions using Cisco NSO, including service models, service packages, and integrations with network devices.
Build software that interfaces with Cisco NSO APIs to automate network configuration, provisioning, and service lifecycle operations.
Collaborate with network engineering and operations teams to translate complex network requirements into reliable, repeatable automation workflows.
Develop automation that improves operational efficiency, reduces configuration errors, and accelerates service delivery.
Troubleshoot automation workflows involving multiple services, systems, and network devices.
DevOps & Infrastructure
Develop, maintain, and improve GitLab CI/CD pipelines to automate application testing, building, and deployment.
Package and deploy applications using Docker containers, with services hosted and orchestrated through Docker Swarm.
Support the operation, monitoring, troubleshooting, and ongoing reliability of production microservices.
Implement automated testing, code quality checks, and deployment processes to improve software delivery and reliability.
Promote DevOps principles and continuous improvement across the development lifecycle.
Collaboration & Technical Leadership
Work within an Agile development environment, participating in sprint planning, daily standups, backlog refinement, code reviews, and retrospectives.
Collaborate with software engineers, network engineers, product stakeholders, and operations teams to deliver high-quality automation capabilities.
Mentor junior and mid-level engineers, providing technical guidance, code review feedback, and support for professional growth.
Take ownership of complex technical initiatives from initial design through implementation, deployment, and production support.
Advocate for engineering best practices, including automated testing, maintainable code, documentation, and thoughtful system design.
Proactively identify opportunities to simplify existing systems, reduce technical debt, and improve the performance and reliability of our automation platforms.
Qualifications
Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or a related field, or equivalent practical experience.
Minimum of five (5) years of professional software development experience, with demonstrated experience designing and delivering production software.
Strong proficiency in Python, including object-oriented programming, asynchronous programming, API development, and automated testing.
Experience building and maintaining microservices or distributed applications.
Hands-on experience with gRPC and Protocol Buffers, or significant experience with similar API development technologies and the ability to quickly learn gRPC.
Solid understanding of software design principles, data structures, algorithms, and common architectural patterns.
Experience with Git-based source control and collaborative development workflows, including merge requests and code reviews.
Experience with CI/CD pipelines and automated software delivery processes.
Practical experience developing and deploying containerized applications using Docker.
Experience troubleshooting complex applications and diagnosing issues across multiple interacting services.
Strong communication skills, analytical problem-solving abilities, and the ability to collaborate effectively across technical disciplines.
Qualifications
Hands-on experience with Cisco NSO, including service packages, YANG models, Python APIs, and network service orchestration.
Experience with GitLab CI/CD and Docker Swarm in production environments.
Familiarity with network automation technologies and protocols such as NETCONF, RESTCONF, SSH, and YANG.
Understanding of networking fundamentals, including TCP/IP, routing, switching, VLANs, MPLS, BGP, and common telecommunications network architectures.
Experience designing and integrating systems for network provisioning, configuration management, or service activation.
Experience with distributed systems concepts, including service-to-service communication, concurrency, fault tolerance, retries, and error handling.
Familiarity with observability practices, including structured logging, metrics, monitoring, and distributed tracing.
Experience working with relational or non-relational databases.
Knowledge of Linux systems, shell scripting, and application deployment practices.
Experience with automated testing frameworks such as pytest and integration testing strategies.
Prior experience in the telecommunications, service provider, or large-scale network infrastructure industries.
What Success Looks Like
Deliver production-ready software that improves the speed, accuracy, and reliability of network provisioning and configuration.
Take technical ownership of significant components of our automation ecosystem.
Contribute to the design and evolution of our Python microservices and gRPC-based architecture.
Help improve the stability, maintainability, and operational visibility of our production systems.
Partner effectively with network engineering teams to turn complex operational requirements into scalable software solutions.
Raise the technical bar of the team through code quality, mentorship, and continuous improvement.
Why Join Our Team?
At Zayo, network automation plays a