Software Development Engineer

Amazon   •  

Phoenix, AZ

Industry: Technology

  •  

5 - 7 years

Posted 40 days ago

Job ID: 812639 | Amazon Web Services, Inc.

DESCRIPTION

Are you interested in building the next generation of cloud-based commerce systems for AWS that are used by millions of customers worldwide? Are you excited by the challenge of transforming an already successful software platform into a technology accelerator benefiting every AWS product team?

Would you like to develop code with a small team of high performing software engineers, working on a number of strategic projects that establish best practices throughout the organization? Are you passionate about honing your development skills? Do you spend your tropical vacations on the beach reading Martin Fowler and Uncle Bob blogs?

The Commerce Platform Software Action Team (SWAT) may be the perfect fit for you!

As a foundational system, the AWS Commerce Platform provides APIs and UIs for customers to discover, purchase, and safely access AWS products, generating billions of dollars in revenue for the company. We collect customer usage data for bill generation and cost insights. Our systems process up to 400M events per second, 250TB per hour, and growing 2X every nine months! We solve interesting computer science problems around idempotency and efficiency, practice software engineering techniques for correct and maintainable software, all at an incredible scale across globally distributed components.

If you are interested in being a part of our team, and want to have an immediate impact across AWS and its customers, your search is over!


Key Responsibilities
· Direct the overall strategy to direct the team's efforts, and drive improvements in the team's development processes.
· Work closely with other AWS teams to deliver platform features that require cross-team leadership, in a hyper-growth environment where priorities shift fast.
· Obsess about the perfect interfaces and architectures to serve customer use cases.
· Build highly-available, secure, distributed systems in a variety of ecosystems, from prod-connected microservices to AWS-managed containers.
· Write high quality, maintainable, testable code in Java, Python, and other Cloud-optimized languages.
· Deliver implementations safely and incrementally.
· Collaborate with some of the best engineers in the industry to work on some of the most complex challenges in large-scale computing.
· Contribute to planning, design, implementation, testing, operations, and process improvement as a member of an agile team.
· Clearly communicate as you partner with Product and Program Management to plan, design, and deliver experiences that start with the customer experience and work backwards.


BASIC QUALIFICATIONS

· 5+ years of software development experience.
· Bachelor’s degree in Computer Science or a related discipline.
· Proficiency with object-oriented design, data structure modeling, functional programming, and general-purpose algorithms.
· Capable of understanding a working system, refactoring it and extending it to make it perform better or extend its capabilities.
· Ability to take a project from requirements analysis through launch and delivery of the software to production.
· Strong debugging, troubleshooting, and problem solving skills.
· Strong sense of ownership, urgency, and drive.

PREFERRED QUALIFICATIONS

· Deal well with ambiguous/undefined problems; ability to think abstractly.
· Experience building high volume, highly scalable distributed software that solves complex business problems as simply as possible.
· Experience building highly available systems and operating 24x7 services.
· Experience with distributed systems, consistent hashing, distributed locking, replication, and load balancing.
· Master’s degree or PhD in Computer Science.
· Working knowledge of Hadoop, MapReduce, or other Big Data processing platforms.
· Working knowledge of NoSQL databases and sharded event streams.