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 emerging 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.
The S3 Lifecycle team makes it easy for customers to take action on billions of objects. Using Lifecycle customers can define rules to automatically manage the Lifecycle of objects, such as transition of less-frequently accessed objects to low-cost storage alternatives and scheduled deletion. We also own Cross-Region Replication (CRR), giving customers full control over the location of their data; so they can choose an appropriate location to copy objects based on local regulatory requirements, a desire to have the data close to principal clients to reduce latency, or for other reasons. To meet these challenges, the team develops workflow pipelines for asynchronous data processing at scale, working closely with Glacier and other partner teams.
As a Software Development Engineer on this team, you will have the unique opportunity of not just designing, developing and owning entire backend sub-systems with hard distributed system problems but also designing API's that are used by millions of applications around the world and by doing so defining S3 for customers. The work you do here is going to significantly drive growth not just in S3 but the AWS ecosystem.
•Bachelor's Degree in Computer Science or related field •Computer Science fundamentals in object-oriented design •Computer Science fundamentals in data structures •Computer Science fundamentals in algorithm design, problem solving, and complexity analysis •Proficiency in, at least, one modern programming language such as C, C++, Java, or Perl
•Experience with building highly-available and scalable distributed systems •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