Are you excited by the prospect of solving some of the hardest and most valued technical challenges of cloud computing? Do you want to apply your deep analytical and engineering skills to the space of highly-available replicated databases? Come join us in Amazon RDS and help us innovate by building for multiple nines of uptime in AWS cloud!
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 and a wide variety of customer workloads.
To achieve our goals in this area, we are looking for a 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. If you'd like to be a part of creating always-on databases in the AWS cloud, this is the job for you!
- 1+ years of experience contributing to the system design or architecture (architecture, design patterns, reliability and scaling) of new and current systems.
- 2+ years of non-internship professional software development experience
- Programming experience with at least one software programming language.
- You are experienced with one of Java, C/C++, .NET, shell scripting or other
- You have used MySQL, PostgreSQL, Oracle, MS SQL or another major SQL database
- You are a generalist familiar with more than one SDLC process, language, framework, platform and environment and are capable of diving into the deepest parts of technologies when called for
- You understand 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
- You have a good understanding of SQL and distributed systems
- A Master's degree in computing science or related discipline
- Hands-on experience with AWS APIs and services
- Developing in extremely busy, highly scalable, highly available mission-critical distributed environments
- Deep experience with SQL / NoSQL databases
- Extensive software / database architecture knowledge
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, please visit https://www.amazon.jobs/en/disability/us.