What do we do here? Amazon Web Services runs one of the largest networks in the world. Our organization designed a new routing protocol built for the demands of modern workloads, and our team built the control plane that implements it - governing how traffic moves across the fabrics of the Amazon data center network, reacting to both static topology and real-time state at a scale few systems operate at.
Why now? Our control plane is expanding to cover more of AWS's network, and we're growing the team to match. We're looking for a software engineer who wants to go deep on large-scale distributed systems, hyperscale data center networks, SDN, and global software deployment.
What you'll do?
- Design and build the stateful control-plane software that applies intended network state across thousands of devices and guarantees they converge correctly and safely - including failure handling and rollback.
- Own features end-to-end: requirements, design, implementation, code review, worldwide deployment, and operations.
- Work with partner teams and customers to bring new algorithms and capabilities into production at scale.
Basic Qualifications
- 3+ years of professional software development experience
- Proficiency in at least one modern programming language (e.g., Rust, C++, Java, Go)
- Experience building and operating distributed systems or backend services
- Solid grasp of CS fundamentals: data structures, algorithms, concurrency
Preferred Qualifications
- Experience with large-scale, fault-tolerant systems and operational ownership (on-call, incident response)
- Exposure to Rust, or demonstrated ability to ramp quickly on a new language
- Experience reasoning about consistency, coordination, or state machines in distributed systems
Who we are: a highly motivated team of software developers who thrive on hard distributed-systems problems and building at a scale few engineers get to work on. If you like working hard, having fun, and making history - talk to us.
Who are we looking for? Smart, talented engineers who like hard problems. Networking background not required - we'll teach you. Come work hard, have fun, and make history with us.
BASIC QUALIFICATIONS
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- 1+ years of software development engineer or related occupational experience
- 1+ years of designing and developing large-scale, multi-tiered, multi-threaded, embedded or distributed software applications, tools, systems, and services using: C#, C++, Java, or Perl experience
- 1+ years of Object Oriented Design experience
- Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field
- Experience programming with at least one software programming language
PREFERRED QUALIFICATIONS
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent