Software Development Engineer
- Tempe, AZ
Ever tried to find a needle in a haystack? Now, imagine this operation being executed millions of times per second on trillions of objects. As one of the largest distributed systems on the planet, S3 can present you with challenges that you won't find elsewhere. Join us to help define exciting new technology.
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.
The S3 Frontend Platform group owns the run-time services that are responsible for serving the S3 API to customers in the back-end like get, put, copy and delete. Our systems must be designed to handle wildly varying access patterns and unprecedented load as AWS continues to grow at an incredible rate.
The S3 Webserver team is looking for passionate, experienced software engineers to build the next generation S3 Frontend services. As a member of the S3 Webserver team, you will have the unique opportunity to both take part in design, development and ownership of entire back-end sub-systems that solve hard distributed system problems, and work on customer-facing capabilities for API's that are used by millions of applications around the world. Join us to impact our tremendous growth, not just for S3, but for the entire AWS ecosystem.
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.
• 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
We have a diverse team and drive towards an inclusive culture and work environment. Our team is intentional about attracting, developing, and retaining amazing talent from diverse backgrounds. Our team members are active in Amazon's 10+ affinity groups, sometimes known as employee resource groups, which bring employees together across businesses and locations around the world. These range from groups such as the Black Employee Network, Amazon Women and Engineering and LGBTQ+
• 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
• 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
Back to top