Software Developer/ Engineer/ Architect

Snr. Software Development Engineer, AWS RDS

DESCRIPTION

Job summary
The AWS Relational Database Service (RDS) team is looking for a Snr. Software Engineer who loves to dive in and solve fundamental Computer Science and Systems problems around performance, timing, state machine logic and distributed systems algorithms. Candidates need to have a strong sense of ownership, passion to provide a great customer experience and excellent troubleshooting skills even when in high-pressure situations. If you'd like to be a part of creating always-on databases in the AWS cloud, this is the job for you!


About the team
The AWS Relational Database Service (RDS) is one of the largest cloud database businesses, providing super-simple provisioning and management for databases in the cloud. Customers can set up a new database with just a few clicks, and complex administrative tasks like scaling, fail-over, and monitoring are handled in an automated fashion by our control systems. Providing such simplified management for customers comes with the challenge of building sophisticated and reliable control systems. The systems we build manage huge numbers of databases and vast amounts of storage across multiple datacenters world-wide, and our service is growing rapidly, requiring constant innovations in our systems in order to handle the next order of magnitude in service scale.

RDS provides customers with databases that have multiple-nines of durability and availability. Achieving this level of reliability requires building control and monitoring systems that automatically detect and handle many types of failures within seconds, and data replication options that accommodate various geographical distribution and disaster recovery objectives. The challenge is further heightened by needing to handle huge numbers of databases, multiple database engines (RDS supports MySQL, Oracle, PostgreSQL, SQL Server, MariaDB, and Amazon Aurora), and a wide variety of customer workloads.

BASIC QUALIFICATIONS

6+ 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 Master's degree in computing science or related discipline
· Hands-on experience with AWS APIs and services
· Experience with Linux / UNIX / Windows system administration and shell/Power Shell scripting
· DBMS administration and / or architecture
· Developing in extremely busy, highly scalable, highly available mission-critical distributed environments
· Deep experience with SQL / NoSQL databases
· Experience using ORM (Hibernate, JDO, etc.), varied build (Maven, Ant, etc.) and version-control environments
· Extensive software / database architecture knowledge