← Все заказы

Software Engineer II

Zayo Group

13 ч назад

Текст заказа

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 a talented and motivated Software Engineer II 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, test, and maintain software solutions that automate complex network operations and improve the efficiency and reliability of network service delivery. You will work primarily in Python, developing 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 has a strong foundation in software development, experience building and maintaining production applications, and is able to solve complex technical challenges. You will work across a broad range of teams to provide perspective on technical design and take ownership of software development tasks and features.
Key Responsibilities
Software Development & Architecture
Design, develop, test, and maintain Python-based applications and microservices supporting network automation and orchestration.
Develop and integrate gRPC-based services using Protocol Buffers to define APIs and service contracts.
Implement new features, enhancements, and integrations across software platforms.
Build reusable software components, libraries, and APIs that integrate with internal systems and network infrastructure.
Write clean, maintainable, well-documented, and thoroughly tested code following SDLC best practices.
Troubleshoot software defects, investigate application issues, and implement reliable solutions.
Participate in technical design discussions and contribute ideas for improving application architecture, performance, and maintainability.
Collaborate with technical and non-technical teams to develop solutions.
Network Automation & Orchestration
Develop and maintain automation solutions using Cisco NSO, including service packages, service models, and integrations with network devices.
Build software that interfaces with Cisco NSO APIs to support network configuration, provisioning, and service lifecycle operations.
Work with network engineering and operations teams to understand network requirements and translate them into automated workflows.
Develop and enhance automation that reduces manual configuration, minimizes errors, and accelerates service delivery.
Troubleshoot and resolve issues involving network automation workflows, system integrations, and device interactions.
Develop an understanding of Zayo’s network infrastructure, provisioning processes, and operational requirements.
DevOps & Infrastructure
Develop and maintain GitLab CI/CD pipelines supporting automated testing, application builds, and deployment.
Build, package, and deploy containerized applications using Docker, with services hosted through Docker Swarm.
Assist with monitoring, troubleshooting, and maintaining the reliability of production microservices.
Implement automated tests and participate in code reviews to ensure software quality.
Support continuous improvement of development workflows, deployment processes, and application reliability.
Work within established operational practices to identify and resolve production issues.
Collaboration & Professional Growth
Participate in an Agile development environment, including sprint planning, daily standups, backlog refinement, code reviews, and retrospectives.
Collaborate with software engineers, network engineers, product stakeholders, and operations teams to deliver automation solutions.
Take ownership of assigned features and development tasks, delivering quality solutions with appropriate testing and documentation.
Participate in peer code reviews and contribute constructive feedback.
Work with senior engineers to improve technical skills, learn new technologies, and develop a deeper understanding of the team’s systems and architecture.
Contribute to engineering best practices, technical documentation, and ongoing improvements to software quality and maintainability.
Communicate technical progress, challenges, and potential solutions clearly to team members and stakeholders.
Required Qualifications
Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or a related field, or equivalent practical experience.
3+ years of professional software development experience, including experience developing, testing, and maintaining production applications.
Proficiency in Python, including object-oriented programming, common Python libraries, and software development best practices.
Experience developing or integrating APIs and backend services.
Familiarity with microservices architecture and distributed application concepts.
Understanding of software design principles, data structures, and common programming patterns.
Experience using Git-based source control and collaborative development workflows.
Familiarity with CI/CD processes, automated testing, and modern software delivery practices.
Experience working with Docker or similar containerization technologies.
Experience debugging applications, investigating software issues, and implementing fixes.
Strong analytical and problem-solving skills, attention to detail, and the ability to work effectively within a collaborative engineering team.
Ability to independently complete well-defined development tasks and contribute to moderately complex technical projects.
Preferred Qualifications
Experience developing gRPC services using Protocol Buffers (Protobuf).
Hands-on experience with Cisco Network Services Orchestrator (NSO), including Python APIs, service packages, or YANG models.
Experience with GitLab CI/CD and Docker Swarm.
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, and BGP.
Experience with network provisioning, configuration management, or service activation systems.
Familiarity with distributed systems concepts such as service-to-service communication, asynchronous processing, retries, and error handling.
Experience with Linux systems and command-line tools.
Familiarity with logging, monitoring, metrics, and application troubleshooting.
Experience with relational or non-relational databases.
Experience writing automated tests using frameworks such as pytest.
Experience working in an Agile software development environment.
Previous experience in telecommunications, network infrastructure, or related industries.
What Success Looks Like
Consistently deliver reliable, well-tested software features and enhancements that support network automation.
Develop a strong working knowledge of our Python microservices, gRPC APIs, and Cisco NSO integrations.
Take ownership of assigned development work from implementation through testing, deployment, and ongoing maintenance.
Effectively troubleshoot application issues and contribute to improving system reliability.
Collaborate with other engineers and network operations teams to solve technical challenges.
Demonstrate growing independence in technical problem-solving and implementation decisions.
Contribute to code

Похожие заказы