Are you excited about the incredible opportunity that cloud computing represents? Are you passionate about delivering high quality services and ready to apply your experience at massive scale? Amazon Web Services' Cloud Storage, AWS S3, is one of the largest distributed storage systems in the world. We host trillions of objects and serve millions of requests per second and we're growing more than 100% year over year. AWS S3 is also known as 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.
This position is for the Storage Management Insights team in Seattle, USA. The Storage Insights team owns features like Storage Class Analysis and Inventory Report which analyzes trillions of S3 objects on a daily basis. By using Amazon S3 Storage Class Analysis customers can analyze their storage access patterns and get recommendations on when to transition the right data to the right storage class. The S3 inventory provides a flat file list of your objects and metadata, which is a scheduled alternative to the Amazon S3 synchronous List API operation. In this role you will be a technical leader working on the next generation of our analytics products to help customers better understand, optimize and secure their storage footprint.
As a Senior 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 work on exciting big data analytics technologies and UI console interaction. The work you do here is going to significantly drive growth not just in S3 but the AWS ecosystem.BASIC QUALIFICATIONS
• 4+ years of professional software development experience
• 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
• Bachelor's degree in Computer Science, related degree, or equivalent experience
• Able to debug, troubleshoot and resolve complex technical issues reported by customers (internal or external)PREFERRED QUALIFICATIONS
• Strong foundation in algorithms, data structures, OO and core Computer Science concepts
• Proficiency in, at least, one modern OO programming language such as Java (preferred), C# or C++
• Experience with building highly-available and scalable distributed systems
• Understanding of networking protocols
• 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
Software and Programming