Software Development Engineer

3+ months agoSeattle, WA


Owning storage infrastructure for the cloud requires continuous innovation and solid delivery. The Amazon Simple Storage Service (S3) provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. To make this happen, Amazon S3 needs to build teams with the passion to handle the toughest problems in distributed systems.

Amazon Simple Storage Service (S3) is storage for the Internet. Through the use of pioneering techniques in distributed computing, developers can durably store their data on AWS's proven computing infrastructure to achieve virtually limitless storage capacity at minimal cost. Amazon S3 provides simple APIs that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. While the area of cloud computing has seen tremendous growth over the past few years, we are still in the early stages of realizing its full potential.

We're looking for a Software Development Engineer to join the S3 Buckets and Access Points team. As a engineer delivering in this area, you will focus on the challenges of innovating the key object container and routing concepts that are fundamental to S3. You will dig into the details of high-scale API request processing, deliver new best practices and software abstractions in critical S3 code paths, and look around corners for innovations in the webservices API development space. You will dig into problems related to durability, scalability, and customer API experience. You will partner with engineers across S3 to enable use cases that tie to buckets and access point features. You will write code that gets into production quickly and has an immediate impact on the day-to-day for customers building their applications using S3.

In this role you will have an opportunity to lead and excel with minimal technical supervision. You will collaborate directly with senior engineers and have direct influence over the team.

Responsibilities Include:
• Design, implementation, deployment and maintenance of innovative software solutions to transform service security, durability, availability, performance and cost.
• Using software engineering best practices to ensure the standard of quality of all team deliverables
• Writing high quality distributed system software
• Effectively estimating time to implement design
• Thinking in terms of architecture as well as code
• Consistently making systems simpler
• Spending time reviewing code
• Solving big problems with a lot of ambiguity


• 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.
• 4+ years of industry experience with modern programming language like Java, C++ or C#
• Bachelor's degree in Computer Science, Computer Engineering or related field.


• Strong foundation in algorithms, data structures, OO and core Computer Science concepts
• Proficiency in, at least, one modern OO programming language such as Java (prefrred), C# or C++
• Experience with building highly-available and scalable distributed systems
• Understanding of networking protocols
• Understanding of how storage systems work
• Comfortable using Linux environments
• Strong desire to build, sense of ownership, urgency, and drive.
• Demonstrated ability to achieve stretch goals in a highly innovative and fast paced environment
• MS/Phd Degree in Computer Science

For more information on Amazon Web Services, please visit

Job ID: Amazon-1103526