About Us We’re a new team within the Relational Database Service (RDS) team at AWS working on developing a brand new massively distributed database offering. RDS is one of the fastest-growing businesses at Amazon. We provide automated relational database management in the cloud. It takes care of complex administrative tasks such as scaling, fail-over, and monitoring thus allowing our customers to spend their time focusing on their core business. Providing such simplified management for customers comes with the challenge of building sophisticated and reliable control systems.
At RDS we build lots of different systems, like high-performance OLTP components; distributed in-memory stores; large-scale, high-throughput workflow services; etc. We work up and down the stack, all the way from kernel-level modules to UX components leveraging several AWS services and open-source components.
The Role This position is on an exciting new team building a highly available, very scalable, high performance database offering. This is a great opportunity to build a new platform from grounds up and influence the architecture and capabilities in its first iteration. We have the need for low-level systems C programmers, mid-tier high performance C++ developers, and distributed systems Java wizards.
We are looking for developers who can lead Amazon RDS and AWS as a whole to help drive the overall technical architecture for RDS. You will also be responsible for defining the development standards, mentoring junior engineers and hiring for the team. You will work with business and other AWS teams and translate the requirements to technical deliverables and guide the team through the actual launch.
A successful applicant must possess excellent software development skills, working knowledge of relational databases and distributed systems. Ability to learn new skills and concepts rapidly and work independently is essential. Candidates need to have a strong sense of ownership, passion to provide great customer experience and excellent troubleshooting skills even when in high-pressure situations.
Bachelor’s degree in Computer Science or related field, minimum of 6 years software development experience
Alternatively (no degree) minimum of 8 years of professional software development experience
Proficiency in design and analysis of algorithms and data structures
Proficiency developing in at least one if the following programming languages: C, C++, Java, C# or Python