Software Development Engineer - C/c++

3+ months agoSeattle, WA


The internet is too slow!

The AWS Global Accelerator service provides our global customers and their end users an on-ramp to the lightning fast and highly available AWS global network to route and load-balance requests to services running in the closest AWS region. These customers' clients are able to access their services via the nearest AWS edge location using a Global (static, anycast) IP address which ingresses their traffic onto the AWS backbone network instead of being routed over the public internet. AGA is able to load balance requests between multiple AWS regions and endpoints for high availability.

The AWS Global Accelerator data plane team is looking for software engineers to solve challenging, distributed systems and networking problems, deliver new customer features, all while maintaining this Tier-0 global service. Our team builds and maintains a packet processor application which routes and load-balances every single packet ingressed by any AWS edge location. You should be somebody who puts the customers' needs firsts and has strong interest in computer networking and protocols. The ideal candidate will have a strong technical background in computer networking and preferably systems-level (e.g. C/C++) programming experience. Knowledge of DPDK and NGINX are a plus!

Successful candidates will enjoy computer networking and deep packet analysis, distributed systems, low-level, systems programming and have deep analytical skills and excellent communication skills. You thrive in a highly collaborative, creative, analytical, and fast-paced environment and are comfortable interacting with highly technical software and networking development teams.


• 2+ years of non-internship professional software development experience
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• Bachelor's degree in Computer Science or a related field, or equivalent experience


• Master's degree in a technology related field (Computer Science, Computer Engineering, Mathematics)
• Proficiency with networking concepts and protocols including TCP/IP and UDP, BGP routing, Ethernet and MPLS
• Experience with DPDK or developing / using NIC Hardware Offloads
• Experience with NGINX or HAProxy (or other reverse proxy and load balancer)
• Experience designing and building high throughput networking systems, cache coherency algorithms, or eventually consistent systems
• Proven success in delivering technology products/services in a high growth environment
• Experience building complex and distributed software systems that have been successfully delivered to customers
• 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
• Demonstrated experience as a strong leader who can prioritize well, communicate clearly and effectively influence across cross functional teams
• Entrepreneurial spirit, with track record for delivering results in fast-moving and demanding environments
• Meets/exceeds Amazon's leadership principles requirements for this role
• Meets/exceeds Amazon's functional/technical depth and complexity for this role
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit

Job ID: Amazon-1226904