Amazon Web Services (AWS) is the world leader in providing a highly reliable, scalable, low-cost infrastructure platform in the cloud that powers tens of thousands of businesses around the world! The messaging team owns and operates Simple Queue Service(SQS) among other core messaging services which provides AWS customers with the cloud infrastructure for building highly scalable, asynchronous and fault tolerant distributed cloud applications. It's a core architectural component of the critical systems for Amazon as well as many leading global enterprises running on AWS. If you are passionate about the challenges of big scale, building cutting edge technologies and making developing distributed applications easy and reliable then the AWS Messaging team is for you.
We are looking for a Software Development Engineer to help refine roadmaps and technical direction, and follow through with detailed architecture, design, and superior code, and to drive operation excellence of a massive scale (think multi-million tps) distributed system.
How do you know if you are a good fit for us? You are fascinated by and want to innovate in distributed fault-tolerant systems that operate at scale. You love customers. When our customers ask for the next big feature, you know this means you'll be able to truly dig into the solution and get it done right. You love owning the project from idea to production, delivering not only in the implementation but in all phases from the kernel of an idea to quickly getting that battle-tested code into production. You enjoy collaborating with your teammates. You love working in agile programming environments and running fast to deliver evolution for your AWS services.
•BA/BS in Computer Science, Computer Engineering, or related field. •Fluency in C, C++, or Java. •2+ years of professional experience developing software. •1+ years of experience using relational database systems and SQL (preferably Oracle). •Experience with distributed version control systems in an enterprise environment. •Experience with object-oriented analysis and design (OOA/OOD).
•MS or PhD in Computer Science. •1+ years of experience developing for a Linux or UNIX environment. •Experience with object-relational mapping software (ORM, including Hibernate, Carbonado, etc) •Experience designing, developing, and deploying large-scale distributed systems. •Experience with data mining software and techniques •Experience leading and mentoring junior engineers on good software development practices and design reviews. •Excellent communication skills.