Returning Candidate?

Software Development Engineer

Software Development Engineer

Job ID 
Posted Date 
Company Services, Inc.
Position Category 
Software Development
Recruiting Team 
North American Teams - AWS

Job Description

Do you like helping U.S. Intelligence Community agencies implement innovative cloud computing solutions and solve technical problems? Would you like to do this using the latest cloud computing technologies? Do you have a knack for helping these groups understand application architectures and integration approaches, and the consultative and leadership skills to launch a project on a trajectory to success?

It is a very cool time for software developers in the world of networks. Routers are becoming commodity devices. The network operating system that sits on top of these commodity devices must be built. Chip manufacturers have released a data plane development kits allowing regular servers to perform essential networking functions if the right software is built. The evolution of big data storage and processing technologies is allowing for deep network analytics software to be developed that is allowing networks to grow in scale and scope. At Amazon Web Services, we run one of the biggest networks in the world. We are taking all the industry trends mentioned above and blending them into the critical foundation of utility computing: the network. Our goal is to become the infrastructure platform for the world and our team will make the bones of the platform “the network”, work flawlessly.

AWS Networking Software Systems team is looking for software engineers to build new systems that innovate in this area by managing and operating network at scale via software systems and services. As a Software Engineer, you will create the next generation of “tools and control software” for the Amazon’s network including lifecyle management applications and automation for configuration deployments.

We are building a scalable distributed system to manage the distribution of: libraries, modules and device configuration for thousands of heterogeneous devices in dozens of data centers across the world. These systems enable backend workflows to manage automated, planned and unplanned deployments supporting both roll-back and automatic failover. We are building services to expose device-independent, well defined and abstracted APIs around network elements to build application level networking software. This allows us to build robust network management applications that provide significantly improved control, visibility and predictability for Amazon’s global network

We are a highly motivated, co-operative and fun loving team of software developers that thrive on solving challenging problems with innovative solutions. As part of the team, you will be building large-scale distributed software systems in Python, Java and other languages using open source technologies like Apache, Celery, Redis, HTTP/REST services etc., and other Amazon’s proprietary technologies. This position would especially suit Software Engineers with an interest or experience in Networking. As a developer in this team, you will have the opportunity to:

  • 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.
A major part of this is implementing the code that drives our products. But the role of a software engineer is much bigger than just coding. Software engineers work on the whole development process, including:
  • deciding what features to build
  • driving the design and architecture
  • writing the code (of course)
  • testing and deployment
  • documenting the features and design

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.
  • Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between.
  • You will play a leadership role in your team, will drive the best practices, and will play an important role in the design, architecture, and the evolution of network configuration management systems.
  • You will be responsible for major deliverables, and will be expected to show good judgment, to think in terms of architectures, and to mentor other engineers in the team.

This position requires that applicant selected be a U.S. citizen and obtain and maintain a TS/SCI US Government clearance with polygraph. TS/SCI eligibility is not required to start; however, the applicant selected will be subject to a Single-Scope Background Investigation (SSBI) and must meet eligibility requirements for access to classified national security information. Applicants with a current SSBI, SBPR, or PPR, may be eligible for crossover in accordance with ICPG 704.4.

Basic Qualifications

  • A solid background in computer science: a bachelor's degree or higher in Computer Science (or equivalent) is required.
  • 5+ years of experience in building production software applications with focus on efficient back-end components is required.
  • Excellent software development skills, preferably in Python, Java, C/C++, Ruby and/or Perl in Linux environment.
  • Familiarity with distributed systems, asynchronous messaging, and network protocols.
  • A solid grounding in Computer Science fundamentals, data structures, algorithms and deftness at object-oriented design and systems architecture.
  • Excellent problem solving and troubleshooting skills.

Preferred Qualifications

  • Knowledge of major protocols, topology design, network hardware and device configuration.
  • A solid understanding of performance and efficiency issues.
  • Experience with distributed computing and enterprise-wide systems.
  • Experience taking a leading role in building complex software systems that have been successfully delivered to customers.
  • Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers.
  • Experience influencing software engineers best practices within your team.
  • Ability to take a project from scoping requirements through actual launch of the project.
  • A strong customer orientation.


*Please email AWS Sourcing Recruiter, Scott Korkowski ( if you have questions.

Amazon is an Equal Opportunity – Affirmative Action Employer – Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation.

**For more information on Amazon Web Services, please visit**