Amazon

Senior Software Development Engineer - Amazon DynamoDB Storage

2 months agoSeattle, WA

DESCRIPTION

Want to help shape the future of one of the largest NoSQL database services on the planet?

The Amazon DynamoDB Storage Plane team is looking for a senior software engineer that will be responsible for the architecture that provides the foundation for the entire Storage service. The code you write will securely, durably, and efficiently store petabytes of customer data while allowing customers to consistently access it in milliseconds or less. You will help to evolve the existing architecture into a next-generation, high-performance system that customers will use to access data even faster and operate at scale more efficiently.

What is Amazon DynamoDB?
Amazon DynamoDB is a key-value and document database that delivers single-digit-millisecond performance at any scale. As a fast-growing service at the core of the AWS Cloud, our business and engineering decisions have widespread impact across AWS, Amazon, and beyond. Many of the world's fastest growing businesses such as Lyft, Airbnb, and Redfin, as well as enterprises such as Samsung, Toyota, and Capital One depend on the scale and performance of DynamoDB to support their workloads. On the DynamoDB team, you will see the impact your work has on the world.

What is DynamoDB Storage Plane?
The DynamoDB Storage Plane team is responsible for securely and durably storing DynamoDB customer data in a format that enables sub-millisecond latency reads and writes. We own the backend of the DynamoDB Storage Node service, including its indexed storage engine, low-level operations (OS, disk access), and background operations for copying data across the fleet. The team also owns control plane tasks to heal DynamoDB partitions, and workflows to evacuate data and remove hardware nodes from the service. Lastly, the team owns the DynamoDB encryption at rest feature to support customers on building security-sensitive applications that meet strict encryption compliance and regulatory requirements.

Our systems must remain highly available, scalable, and efficient. Delivering only two out of the three won't do. As a senior software development engineer, you will design systems that adhere to these tenets and mentor junior engineers to do the same. You will be a thoughtful steward of existing systems, appropriately challenging assumptions and rearchitecting systems when necessary to allow us to scale for growth.

If you want to test your limits and tackle technical challenges you won't find anywhere else, join our team!

Your responsibilities will include:
• Identifying technical requirements based on business goals and product direction, and translating those requirements into detailed architecture and design.
• Executing multi-engineer, cross-team projects, and mentoring others on project management and prioritization.
• Delivering quality projects and features on time and on budget.
• Leading design reviews for the engineering team. Setting and driving technical best practices for the team.
• Participating in the full lifecycle of day-to-day development activities, including prioritization, task breakdowns, writing design documents, design and code reviews, implementation, deployment, and operations.
• Performing data analysis to identify opportunities to optimize our services.
• Maintaining current technical knowledge to support rapidly changing technology, and working with management and the development team to bring in new technologies when appropriate.

By joining the DynamoDB team, you'll enjoy a competitive salary, great benefits, a creative and comfortable work environment, and the opportunity to be part of a fast-paced and growing technology company.

Inclusive Team Culture
Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon's culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust.

Work/Life Balance
Our team puts a high value on work-life balance. It isn't about how many hours you spend at home or at work; it's about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.

Mentorship & Continuous Career Growth
Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we're building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects 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.

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

PREFERRED QUALIFICATIONS

• A Bachelor's or Master's degree in Computer Science, Engineering, Mathematics, or a related field
• Seven or more years of professional software development experience
• Experience building high-performance systems in Java, Rust, Go, C, and/or C++
• Knowledge of database internals a plus: storage engines and query processing
• Experience with relational and nonrelational database systems
• Track record of successfully leading the delivery of projects as part of an agile software development team
• Excellent written and verbal communication skills, with the ability to present complex technical information in a clear and concise manner to a variety of audiences
• Experience mentoring and coaching junior engineers with less experience

Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, see https://www.amazon.jobs/en/disability/us.

Job ID: Amazon-1368775