Amazon

Returning Candidate?

Software Development Engineer

Software Development Engineer

Job ID 
438825
Location 
US-CA-Palo Alto
Posted Date 
11/13/2017

Job Description

Software Development Engineer - AWS - DynamoDB Control Plane

Want to make database history? Come and join the Amazon DynamoDB team! Amazon DynamoDB is a NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB in production serves many millions of transactions every second. DynamoDB has been at the heart of the NoSQL revolution, powering the experiences delivered by Amazon.com and many other companies that have become an indispensable part of modern life.

The Control Plane team designs, develops and operates the software that manages the DynamoDB fleets and coordinates fleetwide resource allocation. We coordinate the efforts of many thousands of servers in a highly dynamic environment. We build data pipelines, and perform data analysis to get the most out of our fleet. We need developers who can handle hard distributed systems problems as well as hard resource optimization problems. As a tier zero Amazon service that is growing at a very high rate our solutions have to be super solid, scalable, efficient, and extremely fault tolerant. We are also rapidly adding features, both customer facing and internal. You'll be involved in both.

This is a hands-on position where you will be asked to do everything from building rock-solid components to formulate strategy and evangelize technology, mentor other engineers and provide training and support for our supported technologies. You need to not only be a top software developer with a good track record of delivering, but also excel in communication, leadership and customer focus. If you want to test your limits and tackle technical challenges you won't see anywhere else then come join our group.

Your responsibilities will include:
· Translation of complex functional and technical requirements into detailed architecture and design
· Be very hands-on; work with others on the engineering team to manage the day-to-day development activities, participate in designs, design review, code review, and implementation.
· Delivery quality features on-time and on-budget and execution against project plans and delivery commitments.
· Perform data analysis to identify opportunities to optimize our fleet.
· Work with data scientists to understand the data they need, and build services to act on the insight from the data scientist.
· Maintain current technical knowledge to support rapidly changing technology, always on a look out for new technologies and work with management and the development team in bringing in new technologies.
Candidate must be able to work with a minimum of technical supervision and supplemental engineering support, while responding efficiently to multiple program priorities. Work with engineering teams to design and optimize a wide variety of development projects using a variety of development tools and practices. In addition, the role involves developing shared components and tools, analyzing the latest technologies and development trends, establishing and implementing standard practices.

In joining our team, you'll enjoy a competitive salary, great benefits, a creative and comfortable work environment, and the exciting opportunity to be part of a fast-paced and growing technology company.

For more information on Amazon Web Services please visit: http://aws.amazon.com
For more information about DynamoDB please visit
http://aws.amazon.com/dynamodb/

Basic Qualifications

  • Bachelor's Degree in Computer Science or equivalent and 5 or more years of professional experience
  • Or, Master's Degree in Computer Science or equivalent and 2 or more years of professional experience
  • Strong coding skills in Java, C++ or C#
  • Database experience. This can be Sql or NoSql DBs
  • Experience building Web services.
  • Strong knowledge of data structures, algorithms, enterprise systems, asynchronous architectures and distributed algorithms.

Preferred Qualifications

  • Experience with designing and building large scale systems
  • Experience developing in Java on Linux
  • Experience with big data analysis
  • Experience with ML and statistical analysis
  • Deep experience with Software Development Life Cycle
  • Excellent leadership, verbal and written communication skills
  • Ability to work well with people and be both highly motivated and motivating
  • Proven results oriented person with a delivery
  • Knowledge with databases a big plus: storage engines and query processing
  • Experience with distributed systems architecture