Returning Candidate?

Senior Software Development Engineer - AWS S3 Frontend Services

Senior Software Development Engineer - AWS S3 Frontend Services

Job ID 
Posted Date 
AMZN CAN Fulfillment Svcs, Inc
Position Category 
Software Development
Recruiting Team 

Job Description

Amazon Simple Storage Service (S3) is storage for the Internet. Through the use of pioneering techniques in distributed computing, developers are able to durably store their data on Amazon’s proven computing infrastructure to achieve virtually limitless storage capacity at minimal cost. Amazon 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. It gives any developer access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.

We’re looking for a Senior Software Development Engineer to drive technology for a growing area of the S3 Frontend Services group of Amazon S3. As the tech leader of this area, you will focus on the challenges of writing software and designing service endpoint systems to handle the vast array of use cases that customers use on S3 today. You will dig into the details of high-scale API request processing one week, and will drive design for networking enhancements the next. You will define, plan and code deliverables that break ground in enabling new high-performance workloads on S3. You will own innovations in securing workloads that come into S3's front door. You will also regularly mentor others to build solutions that impact a wide swath of customers with a focus on high standards in coding, testing, and delivery.

Responsibilities Include:
  • Design, implementation, deployment and maintenance of innovative software solutions to transform service security, durability, availability, performance and cost.
  • Long-term architecture planning and feature planning
  • 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

Basic Qualifications

  • 7+ years of industry experience
  • Proficiency in, at least, one modern programming language such as Java, C++, or C#
  • MS/PhD Degree in Computer Science or equivalent industry experience
  • Experience building scalable distributed systems with service oriented architectures
  • Candidates must have a strong Computer Science background (a bachelor’s degree or equivalent experience in Computer Science is a must)
  • Deep understanding of networking protocols and performance optimizations

Preferred Qualifications

  • Expertise in big data and massively-scaled distributed computing
  • A deep understanding of software engineering practices, OOD, design patterns and algorithms
  • Demonstrated strong technical judgment in conjunction with passionate customer-focus
  • Excellent verbal and written communication skills with an ability to effectively articulate technical challenges and solutions
  • Ability to lead teams through ambiguous/undefined problems; ability to think abstractly
  • Passion for understanding ambiguous, complex problems and driving innovative technical solutions
  • Experience with software development in a Linux environment
  • Expert understanding of networking protocols