The AWS Relational Database Service is one of the fastest-growing AWS 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 all reliably handled by our control systems. Providing such simplified management for customers comes with the challenge of building sophisticated and reliable control systems. Our group in AWS addresses these challenges by developing services that reflect the latest advances in high availability, data dissemination and replication, load balancing, autonomous management, and repair.
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. Our service is made up of components that handle a large variety of workloads, such as high-performance online transaction processing; partitioned, replicated, real-time, in-memory processing; and large-scale, high-throughput batch jobs. We not only work on deep technical problems, but also across a wide array of technologies, ranging from the various database engines we support (MySQL and Oracle currently) to several AWS services (like EBS and EC2) and many open-source components.
We are looking for Software Development Engineers who will lead Amazon RDS and AWS as a whole to deliver highly scalable and distributed systems and 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. The successful applicant must possess excellent software development skills, working knowledge of relational databases, ability to learn new skills and concepts rapidly, and is able to work independently and is self-motivated. 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.
•Experience writing software in an object-oriented language (such as Java, C#, or C++)
•Bachelor's degree in Computer Science or related field, minimum of 5+ years software development experience
•Alternatively (no degree) minimum of eight years of professional software development experience
•Proficiency developing in a modern programming language, such as C++, Java, C#, Python, or Ruby
•Understanding of web services technologies such as SOAP, HTTP, WSDL, XSD, and REST.
•Familiarity with a Unix/Linux development environment
•Should be genuinely excited about technology, have a strong interest in learning about and playing with the latest technologies. Must be a self-starter and motivated.
•Strong knowledge of data structures, algorithms, distributed systems, and asynchronous architectures
•Strong understanding of system and application performance characteristics.
•Experience with mission critical, 24x7 systems
•Excellent communication, sharp analytical abilities and proven design skills
•Motivation to drive tasks to completion and take ownership of projects
•Ability to work in a fast paced and agile development environment