The Network Control & Management (NCM) organisation is chartered to provide world-class network management infrastructure for AWS and comprises of many teams. Part of this group is the Continuous Network Deployment (CND) team, whose mission is to provide tools and services to safely deploy software and configuration updates to all networking devices across the entire Amazon network.
We are looking for software engineers to build a framework to manage thousands of network devices; providing significantly improved control, visibility and predictability for Amazon’s global network. Our goal is to eliminate human intervention and errors from network engineering, network build and device management by building tools and systems to successfully manage thousands of heterogeneous devices in dozens of data centers across the world.
We are a highly motivated team that thrives on solving challenging problems with innovative solutions. As we design and scale well beyond traditional networks, our goal is to maintain the network in a ‘known state’ thus enabling future automation with all of the tasks we perform on the network
As a SDE in this team, you will have the opportunity to:
· Work side-by-side with other software developers and network engineers to design, implement and evolve the systems and tools that allow network engineers to manage configuration and state on Amazon's network.
· Dive deep into Amazon’s network architecture and closely work with networking engineers to understand network management and configuration issues.
· Design, implement and own/evolve the framework that allows network engineers to manage configuration and state of network devices in a self-service manner.
· Identify areas of improvement in our existing frameworks, tool, and processes and strive to make them better. Key Responsibilities
- A good engineer will demonstrate that they can proactively and continually improve their level of knowledge about Amazon’s business and relevant networks & technologies, and use this knowledge to deliver high quality, accurate software deliverables.
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Ability to take a project from scoping requirements through actual launch of the project.
- Mentor other team members in areas of scripting and automation. Lead efforts to increase scripting and automation capabilities across the team.
- Identify and create tools that allow us to automate network tasks that drive the most benefit – reducing operational support load, cycle time for tasks, etc.