Are you ready to pursue some of the hardest scalability, performance, and distributed computing challenges in AWS? Our team owns customer financial experience and management tools for one of the world's largest commerce platforms. We process millions of invoices and financial documents every month where no mistake is allowed. We take inputs from AWS services manage invoices, payments, credits, etc. for our customers via several interfaces. This represents billions of dollars of IT usage and spend. Because we sit at the nexus of all AWS services and interact directly with end-customers, we build relationships with teams across AWS to ensure that we offer a secure and reliable customer experience.
This role requires ownership, autonomy, and an ability to deliver results. You should be a self-starter with a bias towards independent problem solving. Clear communication and prioritization will be important as you partner with Product Management to plan, design, and deliver game changing experiences for customers. Your passion for the potential of computing to improve people's lives, and proven experience managing complex technology projects, will help you make strong business judgments. Roll up your sleeves, build an engineering team second to none, and have fun while creating tons of customer value!
Your expertise is deep and broad; you start with the customer and work backwards to develop a coherent vision for services that support the flexibility and scale that customers expect from us. You have built and operated systems that support high-end business complexity and scale with simple and elegant solutions that are highly decoupled, yet operate in concert to produce customer experiences that are unique to Amazon. You will be responsible for a material piece of the AWS commerce platform and join a select group of a people making history producing and selling infrastructure and software as a service. You will do this with an organization that is the acknowledged market leader and is regularly redefining the new normal for what is possible.
You will have the opportunity to lead the paradigm shift in cloud computing by building applications on top of cutting-edge AWS technologies such as SWF, SQS, EMR, DynamoDB, Redshift, Lambda, EC2, and many more. As a Vancouver Amazonian, you will join an exciting new office growing at an incredible pace. Finally, as an Amazon engineer, you get to own the full lifecycle of your systems, work on challenging problems at "Amazon Scale", and collaborate with some of the best in the business.
If all of this sounds exciting to you, then please come join us and help shape the future of the Cloud!BASIC QUALIFICATIONS
• 2+ years of non-internship professional software development experience
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• Bachelor's Degree in Computer Science or related field, or equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
• 5+ years professional experience in software development
• Computer Science fundamentals in object-oriented design
• Computer Science fundamentals in data structures
• Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
• Proficiency in, at least, one modern programming language such as Java, C++, C or Perl
• Understanding of non-relational databasesPREFERRED QUALIFICATIONS
• Strong Java coding skills; you will be able to discuss in depth both the design and your significant contributions to one or more projects using the Java language
• Experience building systems at scale that must be accurate and resilient to data loss.
• Experience with distributed system performance analysis and optimization
• Experience working in an Agile environment
• Strong communications skills; you will be required to proactively engage fellow Amazonians both inside and outside of your team
• Experience with distributed (multi-tiered) systems, algorithms, and non-relational databases
• Ability to effectively articulate technical challenges and solutions
• Deal well with ambiguous/undefined problems; ability to think abstractly
Software and Programming