EC2 Networking builds and operates some of the most advanced networks on the planet; we are the backbone for companies of all sizes, delivered by our global software defined network. Amazon’s network delivers the world’s fastest growing video and music streaming services, and our crown jewel - hosting the world’s best online retail experience.
One of the toughest challenges at our mega-scale is continually managing changes to network traffic so every single customer experiences optimal network performance. We are so obsessed about quality that simply delivering packets isn’t good enough. We need to ensure our network makes the smartest routing decisions, we make the most of our hardware, and instrument code to understand how services behave in great depth.
In EC2 Networking, you will observe the inner workings of Amazon's EC2 Network. You’ll see how a customer obsessed IP network is managed. You’ll become an expert in our platform, and aggressively drive the advancement of our technologies to deliver delight to our customers.
In EC2 Networking’s Traffic Engineering team, we make minute-by-minute routing decisions - managing millions of IP addresses, hundreds of thousands of aggregate routes and deciding how traffic is routed within our global network. We want to put traffic engineering decisions in the hands of customers, and need your help to do it.
If you are a Software Engineer with a strong background in open source development and a passion for network programming and distributed systems, then this is your opportunity to own major deliverables and all aspects of the development cycle: scoping, design, implementation, and testing. You will be encouraged to exercise your judgment in proactively determining and recommending the best features, designs, and support models based on business objectives, timelines, and resource constraints.
BS in Computer Engineering or related field and 4+ years industry experience.
A minimum of 4 years of software development in C, C++, Java, or Python
Experienced with Software development for Linux/UNIX environments, its challenges and considerations.
Deep understanding of computing systems, software architecture, data structures and algorithms
4+ years developing in C/C++
An understanding of both network hardware and packet forwarding architecture
Experience with Unix or Linux networking stack, and network routing protocols
Experience with developer tools and SDKs.
Strong verbal and written communication skills
Strong analytical skills and problem-solving abilities in the face of ambiguity
Technically sound in software development activities and life cycles
Passion for great customer experience and quality
Proven ability to juggle multiple, competing priorities simultaneously and make things happen in a fast-paced, dynamic environment