Returning Candidate?

Engineer - Software Development

Engineer - Software Development

Job ID 
Posted Date 

Job Description

A wave of innovation is bringing sweeping changes to networking technology. Virtualization, unimaginable scale, hardware commoditization, and automation are revolutionizing network software. At Amazon Web Services (AWS), we leverage big data technologies and deep network analytics software to run one of the largest networks in the world. We push the boundaries of robustness, fault-tolerance and smart adaptive algorithms that can react intelligently to real-world events. This is your time to make history by building large-scale distributed software systems. We develop software at every level of the stack from front-end user interfaces to low-level embedded software and everything in between. We are a highly motivated, collaborative, and a fun-loving team of software developers who thrive on solving challenging problems.

The AWS Network Design Language (NDL) team has an exciting charter to define a language that will describe all aspects of Amazon’s network topology. The output of this language will be consumed by downstream services which help design, scale and operate the largest cloud network in the world. We’re excited to provide all the network data in a form which is not only readable but interpreted by computers and humans alike. NDL will extract the device related information that is currently coded into our various products, and allow network designers to experiment with and roll out new designs in an iterative fashion.

The NDL team is looking for a self-starting, energetic software development engineer to help with defining & deploying the language in order to consolidate the design intent in a singular form that both humans and computers can understand.

As an engineer in this team, you will be working with a group of highly motivated software developers who thrive on solving complex problems with innovative solutions. They build large-scale distributed software systems in Java, Python and other languages using open source technologies like Apache, Celery, Redis, HTTP/REST services etc., and other Amazon’s proprietary technologies.

Basic Qualifications

· A solid background in computer science: a bachelor's degree or higher in Computer Science (or equivalent) is required.
· Proven software development skills, preferably in Java, C++, Python and/or Ruby 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.
· Adept 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 i.e. Service Oriented Architecture (SOA).
· Experience taking a leading role in building complex software systems that have been successfully delivered to customers.
· Experience influencing software engineers best practices within your team.
· Ability to take a project from scoping requirements through actual launch of the project.
· Strong customer orientation.

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