Software Development Engineer, RDS Database Engines

Software Development Engineer, RDS Database Engines

Job ID

458568

Location

US-CA-Palo Alto

Posted Date

11/29/2017

Company

Amazon Corporate LLC

Position Category

Software Development

Recruiting Team

..

Job Description

About Us Amazon Aurora is an exciting new area of innovation for AWS, and the PostgreSQL-compatible edition of Amazon Aurora is the newest part of it. The PostgreSQL-compatible version of Amazon Aurora is a new relational database which offers enterprise-class performance, availability and durability - all at open source prices - to our customers, along with the management benefits of RDS. We’re a relatively new team in Database Services, one of the fastest growing businesses within Amazon Web Services. We are spread across Seattle, the Bay Area, and Boston. Not only do we have deep database and systems programming problems to solve for our customers, but we also minimize the effort required to maintain SQL databases by automating administrative tasks like backup / restore, scaling CPU / RAM / storage and replication / failover for high availability, allowing our customers to spend their valuable time focused on building their businesses.

We have challenging problems to solve in distributed systems, concurrency, database internals, languages, and performance engineering. We intend to be the world's best and fastest database - come join us on the journey!

The RoleThis position is on an exciting new team building a highly available, very scalable, high performance database offering. We have the need for low-level systems C programmers, mid-tier high performance C++ developers, and distributed systems Java wizards.

About You You’ve built a lot of software – shipped products, created platforms, tools and modules, perhaps worked with every framework under the sun, perhaps made everything you have touched fast as lightning. You may have built big, distributed, API-driven systems with thousands of users, or systems for billions of transactions. You’re as excited as we are about learning every day, and solving really hard engineering problems that no one else is.

Passionate about software quality, repeatability, testability and maintainability, you are known to your co-workers as the go-to person for answers to questions that begin with the phrase “what’s the best way to…” – even though your answers tend to start with “help me understand what you’re trying to accomplish by…”. When you need clarity, you go to the product owner – or even a user – and talk to them until you get it. With stakeholders and other team members you are diplomatic, persuasive, and usually right. You understand the challenges associated with operating a large-scale system in production, and your designs and implementations reflect that understanding.

When you’re wrong, you’re happy to learn something. You build software quickly, but properly (so that you don’t have to go back to it later). You know what “unit tests” are and don’t implement software without them. Shipping on time with high quality makes your heart feel warm.

Who are you? You’re the new Software Development Engineer joining us at RDS. We work hard, have fun and make history – want to come play with us?

Distil and communicate technical concepts to more junior developers and stakeholders

Advise on courses of study for team members and / or self

Argue for the right outcomes with data, conviction and diplomacy

Identify, evaluate and suggest mitigation strategies for risks during design

Design and implement features for new and existing products, features, APIs, platforms and frameworks

Basic Qualifications

Things We Like About You

Your written and spoken English are excellent

You’ve been developing software since you could tie your shoes or for more than 3 years, whichever is longer

You are experienced with more than one of Java, C, C++

You are experienced with MySQL, PostgreSQL, Oracle, MS SQL or another

You understand networking, network programming, network-oriented design patterns, distributed computing and best practices related to same

You have excellent organizational, prioritization and time management skills

You are familiar and comfortable with rapidly-evolving Agile development environments

You have an understanding of and experience with common bug / task tracking, requirements tracking, traceability and test automation tools

You have an ability to rapidly absorb and comprehend software and systems

Fine Print The successful applicant will have a minimum of 3 years experience in software development, with at least 1 year in Enterprise / distributed systems. Post-secondary education and / or industry certification are both assets.