Senior Software Development Engineer - Amazon DynamoDB
- Palo Alto, CA
Do you want to work on an AWS service that can do the following?:
• Deliver single-digit-millisecond performance at any scale
• Replicate tables across continents
• Stream terabytes of data updates per hour continuously
• Back up hundreds of terabytes of data in seconds
• Encrypt petabytes of data with no performance degradation
Amazon DynamoDB is a NoSQL database service that does all this and more. DynamoDB is a key-value and document database that delivers single-digit-millisecond performance at any scale. DynamoDB can store petabytes of customer data and handle peaks of more than 20 million requests per second.
DynamoDB is one of the largest distributed database systems in the world, and we continue to believe it is Day 1 for the DynamoDB business. We are constantly improving and adding new capabilities to DynamoDB, and we are looking for a deeply technical, team-first senior software development engineer to push DynamoDB even further.
As a senior SDE on the DynamoDB team, you will solve the hardest engineering challenges in distributed systems at a massive scale. The problems you face will exercise your intellectual curiosity to its maximum. You will help lead an amazing team of intelligent individuals to deliver impactful results for customers. And you will interact with other senior SDEs and principal engineers on a daily basis, who will help you take your design and architectural skills to the next level.
As part of this team, you will work on building services that operate at a massive scale and are responsible for routing large amount of data. Our code is responsible for routing customer requests in the most efficient way across thousands of machines, while providing high throughput and low-latency experience. Our systems have to be highly available, scalable, and efficient. We can't get away with two out of three. As a senior engineer, you will design systems to adhere to these tenets and mentor junior engineers to do the same. You will tackle hard distributed-systems problems as well as difficult resource-optimization problems.
You also will lead the delivery of new systems with customer-facing features and new internal functionality. You will play a big role in defining our new offerings in a way that takes advantage of your deep knowledge of industry trends and engineering tradeoffs. You also will be a thoughtful steward of existing systems, appropriately challenging assumptions and rearchitecting systems when necessary to allow us to scale for growth.
This is a hands-on position in which you will be asked to do everything from building rock-solid services to formulating strategy, evangelizing technology, and mentoring other engineers. You need to not only be a top software developer with a track record of delivering on commitments, but also excel at communicating and leading with customers in mind.
If you want to test your limits and tackle technical challenges you won't see anywhere else, join our team!
Your responsibilities will include:
• Translating complex functional and technical requirements into detailed architecture and design.
• Running multi-engineer, cross-team projects, and mentoring others on project management and prioritization.
• Being very hands on. Work with others on the engineering team to manage day-to-day development activities, and participate in designs, design reviews, code reviews, and implementation.
• Delivering quality features on time and on budget.
• Performing data analysis to identify opportunities to optimize our services.
• Working with data scientists to understand the data they need, and acting on the insights they provide.
• Maintaining current technical knowledge to support rapidly changing technology, always being on the lookout for new technologies and working with management and the development team to bring in new technologies when appropriate.
You must be able to work with a minimum level of technical supervision while responding efficiently to multiple priorities. You will lead engineering teams to design, optimize, and deliver a wide variety of projects using a variety of development tools and practices. In addition, you will build shared components and tools, looking for opportunities to simplify. You will analyze the latest technologies and development trends. As a technical leader, you will set and drive best practices for the team.
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.
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 & 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.
• 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
• A Master's degree in Computer Science, Engineering, Mathematics, or a related field
• Seven or more years of professional software development experience
• Experience with relational and non-relational database systems
• Experience with programming in Rust
• Experience on delivering data plane with multi-gigabit scale
• A 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.
Back to top