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 Amazon network is composed of hundreds of thousands of heterogeneous network devices, all of which need to be managed in a consistent manner, abstract away platform-specific differences, and reduce complexity for our customers. The Network Data Model Services(NDMS) team has an exciting charter to provide an authoritative view of the lifecycle of devices and containers associated with the Amazon Network. The NDMS team is also responsible for search services across AWS network device, interface, links and container. We aim to be the primary location for network state and information storage and offer a set of services which work in tandem to provide this authoritative view.
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.
Ideal candidate profile
· 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