Software Development Engineer
Reference ID: 863454
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.
Have you ever tried to find a needle in a haystack? With trillions of objects to manage, keeping track of what is in your S3 bucket is hard. S3 Index Services team develops software responsible for durability and availability of key-value metadata. Developers in the S3 Index Services team work on some of the hardest computer science problems. We build systems that can handle wildly varying access patterns and unprecedented load by our customers. Managing this growth auto-magically, without the need for customers to provision capacity, is what puts the SIMPLE in S3.
The S3 Index team is looking for passionate, experienced software engineers to build the next generation, internet-scale Tier 1 web services for S3. We own large-scale distributed systems that are responsible for maintaining the durability, availability and scalability of the S3 Index. You will be part of a team of highly skilled software engineers to deliver the next generation of S3 indexing system.
As a Software Development Engineer on this team, you will have the opportunity to develop back-end sub-systems with hard distributed system problems 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. It involves creating a reliable, scalable, and flexible web service requires exceptional technical expertise, a sound understanding of the fundamentals of Computer Science, complex algorithms and practical experience building large-scale distributed systems. You should be somebody who enjoys working on complex system software, is customer-centric, and feels strongly not only about building good software but also about making that software achieve its goals in operational reality.
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• Candidates must have a Bachelor in Computer Science Engineering or related field.
• Excellent problem solving skills.
• Possess an extremely sound understanding of areas in the basic areas of Computer Science such as Algorithms, Data Structures, Object Oriented Design, Databases.
• Be able to write Amazon quality code in an object oriented language - preferably in C/C++/Java in a Linux environment.
• Bachelor's Degree in Computer Science or related field
• Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
• 1+ years professional experience in software development
• 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
• Candidate must have good written and oral communication skills, be a fast learner and have the ability to adapt quickly to a fast-paced development environment. Software Development Engineers will be responsible for design, development, delivery and support of large-scale, multi-tiered, distributed software applications and tools.
Posted: June 13, 2019
Closes: August 12, 2019