Sr. Software Development Engineer - Amazon S3
DESCRIPTION Amazon's Simple Storage Service (S3) provides a key-value interface to an infinitely scalable and durable storage system. We build and run the largest commercial storage system in the world with trillions of objects and regularly serving millions of requests per second.
The S3 Events and Realtime Insights team provide building blocks to enable customers to build end-to-end event-driven systems from S3, such as triggering transcoding when a video is uploaded or running serverless compute operations when an object is created. We also provide real-time data on the usage of S3 and partner with other teams such as AWS CloudTrail and Amazon GuardDuty to build real-time analytics and insights into customer usage.
As a highly available Amazon service, our solutions have to be scalable, efficient, and extremely fault tolerant. Some of your responsibilities may include:
- Working closely with product and development management to architect and improve the service
- Writing quality, reusable code for highly scalable and reliable cloud-based services
- Talking to customers to understand how they are using S3 Events in their applications
- Working with the customer experience team to troubleshoot customer issues
- Working with other S3 and AWS teams in worldwide locations to deliver new features that delight our customers
Our team puts a high value on work-life balance. The majority of the team are working from home, and will continue to do so until WFH guidance changes, though some team members have chosen to continue working in the office. We're flexible about accommodating your specific needs. We generally keep core work hours from 10am to 4pm. About half of us start earlier and the other half of us stay later.
This position involves on-call responsibilities which is typically 1 week every 2 months. We do not like getting paged in the middle of the night or on the weekend, so we work to ensure that our systems are fault tolerant. When we are
paged, we work together to resolve the root cause so that we don't get paged for the same issue twice.
Our team is dedicated to supporting new team members. Our team has a broad mix of experience levels and Amazon tenures, and we're building an environment that celebrates knowledge sharing and mentorship. Our senior engineers truly enjoy mentoring more junior engineers and engineers from non-traditional backgrounds through one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth. We try to assign projects and tasks based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future.
Our team is intentional about attracting, developing, and retaining amazing talent from diverse backgrounds. Yes we do get to build a really cool service, but we also think a big reason for that is the inclusive and welcoming culture we try to cultivate every day. We're looking for a new teammate who is enthusiastic, empathetic, curious, motivated, reliable, and able to work effectively with a diverse team of peers; someone who will help us amplify the positive & inclusive team culture we've been building.
BASIC QUALIFICATIONS • Bachelor's degree in Computer Science (or equivalent) experience
• Several years experience of developing production software systems
• Advanced software engineering skills, including the ability to write expert-level, maintainable, and robust code in C++, Java, or other core object oriented languages
• Experience of taking product requirements and developing software architectures and designs to bring them to life
• Proficiency in computer science fundamentals - data structures, algorithms and OO design
• Excellent communication skills and ability to work effectively on shared projects with designers, artists, testers, and other developers
• Working experience with multi-threaded and distributed systems
• Experience with hiring and mentorship of engineers
PREFERRED QUALIFICATIONS • Experience with big data and massively-scaled distributed computing
• Demonstrated strong technical judgment with a customer focus
• Excellent verbal and written communication skills with an ability to effectively articulate technical challenges and solutions
• Experience with software development in a Linux environment
• MS/PhD Degree in Computer Science
Amazon is an equal opportunities employer. We believe passionately that employing a diverse workforce is central to our success. We value your passion to discover, invent, simplify and build. Our salaries are negotiable.