The Amazon Elastic Container Service team (ECS) is looking for Backend Engineers to help build the future of Containers on the Elastic Compute Cloud (EC2) platform in AWS.
Containers are a new compute primitive that enable developers to build modern applications. With Amazon ECS, customers define, deploy, orchestrate, and monitor their application without having to worry about infrastructure. This a huge area of investment within AWS, and the ECS team is growing rapidly.
We are hiring engineers with experience designing, building, and operating distributed systems that are fault tolerant, scalable, and highly available. We are open to candidates without expertise in containers, but believe in the impact that this disruptive technology will have. This role is a rare opportunity to help define the future of how developers use containers in the cloud, at the world's largest cloud computing company.
Here are some features the team recently launched. We are a highly visible, public facing service, and many projects you ship will have press releases!
Amazon ECS Capacity Providers
Amazon ECS Cluster Auto Scaling
AWS Fargate Spot
Amazon ECS with EFS Volumes
Amazon ECS Task Networking
To learn more about Amazon Elastic Container Service visit https://aws.amazon.com/ecs.
A developer-focused guide can be found here: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html.
Inclusive Team Culture
Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon's culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust.
Our team puts a high value on work-life balance. It isn't about how many hours you spend at home or at work; it's about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.
This position involves on-call responsibilities, typically for one week every two months. We don't like getting paged in the middle of the night or on the weekend, so we work to ensure that our systems are fault tolerant. When we do get paged, we work together to resolve the root cause so that we don't get paged for the same issue twice.
Mentorship & Career Growth
Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we're building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future.
- 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.
- Experience building Java-based web services
- Experience using Docker for packaging and deployment of applications
- Understanding of Containerization Technologies
- Experience with design/architecting large-scale distributed systems
- Excellent customer focus.
- Excellent verbal and written communication skills.
- Excellent analytic and problem solving skills.