Do you want to impact millions of customers? Do you want to work on open source projects? Do you feel passionate about working with highly scalable and available systems? Do you get excited at the idea of designing and delivering next generation cloud infrastructure? Your quest is finally over!

AWS Infrastructure as Code (IaC) helps customers to easily and efficiently adopt AWS services while ensuring that their applications run safely in the cloud. We develop services and client software, including CloudFormation, Cloud Control API, and the Cloud Development Kit (CDK), that empower customers to spin up infrastructure across AWS at unprecedented scale.

The Provider Experience team provides the building blocks for customers to scale and grow their use of AWS services and third-party solutions. With the CloudFormation CLI and Resource Provider Development Kit (RPDK), we enable AWS service teams and third-party developers to build a standardized resource-based interface to their services and provide access to customers via the CloudFormation Registry. From there, we make it easy for developers to discover each resource's capabilities and build solutions to manage infrastructure at AWS scale.

We are looking for an experienced Software Development Engineer to join our team. The ideal candidate is excited about the incredible opportunity that cloud computing represents, thrives when presented with complex new challenges, and can serve as a strong mentor for other engineers as the team grows. As a member of our team, you'll work alongside outstanding engineers and leaders, refine product requirements with product managers, define architecture, and be a leader in the implementation and launch of software.

Key job responsibilities
1. This is a hands-on position in which you will own everything from end to end: requirements gathering, designs, design reviews, implementations, code reviews, incremental feature launches, operations, mentoring, and the driving of continuous improvement.
2. You solve difficult problems, applying appropriate technologies and best practices.
3. You work with your team to invent, design and build software that is stable and performant.
4. You are proficient in a broad range of design approaches and know when it is appropriate to use them (and when it is not). Your solutions are pragmatic.
5. You consider the legacy of the code you produce and write code that an SDE unfamiliar with the system can understand.
6. You limit the use of short-term workarounds. You do things with the proper level of complexity the first time (or at least minimize incidental complexity).
7. You create flexible software without over-engineering. You make appropriate trade-offs, re-use where possible, and are judicious about introducing dependencies.
8. You are efficient with resource usage (e.g., system hardware, database, memory/CPU, etc.)

A day in the life
The CloudFormation team values work-life balance. We generally keep core in-office hours from 10am to 5pm. We are builder-operators of our services at AWS and have an on-call rotation where you’ll participate once every 5-6 weeks. We work together to reduce our on-call load by ensuring that our systems are fault tolerant, and resolve the root cause of an issue so that we don’t get paged for the same issue twice.

About the team
AWS CloudFormation provides an easy declarative way to create, deploy and manage applications and infrastructure in the AWS cloud. The CloudFormation teams are pioneers in the “Infrastructure as Code” space. We develop distributed systems that spin up infrastructure across AWS at unprecedented scale. This would have an impact in shaping our resource framework that allows CloudFormation to provision hundreds of AWS services. We are looking for full stack developers to join our amazing team, who excel in a fast-paced and often ambiguous environment where we love pushing the boundaries to innovate, learn while we design and develop new software, and create solves in a huge internal and external problem space.

BASIC QUALIFICATIONS

- 5+ years of non-internship professional software development experience
- 5+ years of programming with at least one software programming language experience
- 5+ years of leading design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience as a mentor, tech lead or leading an engineering team

PREFERRED QUALIFICATIONS

- 5+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent

Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us.

Our compensation reflects the cost of labor across several US geographic markets. The base pay for this position ranges from $151,300/year in our lowest geographic market up to $261,500/year in our highest geographic market. Pay is based on a number of factors including market location and may vary depending on job-related knowledge, skills, and experience. Amazon is a total compensation company. Dependent on the position offered, equity, sign-on payments, and other forms of compensation may be provided as part of a total compensation package, in addition to a full range of medical, financial, and/or other benefits. For more information, please visit https://www.aboutamazon.com/workplace/employee-benefits. This position will remain posted until filled. Applicants should apply via our internal or external career site.