Software Dev Engineer II, ECS - Experience
What you'll need to apply
What this employer's standard application typically asks
Company-specific questions
- Have you worked for Amazon in the past?
About this role
Employer-provided description, formatted for easier reading.
What happens when a customer tells AWS ECS to keep 500 copies of their application running, spread across three Availability Zones, and then deploys a new version with zero downtime? The ECS Scheduler makes it happen. We are the team behind the service scheduling engine in Amazon Elastic Container Service, managing over 10 million customer services and processing 115 million task launches daily across every AWS region.
We are looking for a Software Development Engineer II to own and build the distributed systems that make this work at scale. You will design scheduling algorithms, drive operational excellence, and ship features that millions of customers depend on every day.
Key job responsibilities
- Design, develop, and operate highly available, scalable distributed systems for container scheduling and task placement at massive scale (115M+ daily launches)
- Own the end-to-end design and delivery of features in the ECS Scheduler service, from design doc through production deployment
- Build high-throughput, low-latency scheduling algorithms in Java that make real-time placement decisions across large compute fleets
- Design and implement resource management systems that optimize utilization, handle capacity constraints, and support diverse workload types (services, tasks, daemon sets)
- Lead operational excellence for services you own, including on-call rotations, COE investigations, deployment safety, and production health
- Drive technical design documents and lead design reviews for new scheduler capabilities
- Mentor L4 engineers through code reviews, design guidance, and technical leadership
- Identify and resolve performance bottlenecks and scalability challenges in a system that operates at AWS-wide scale
- Collaborate across ECS teams (Control Plane, Data Plane, Agent, Capacity) on cross-cutting projects
- Build operational tooling and automation that improve diagnostics, accelerate root-cause analysis, and enhance system observability
A day in the life
Your morning might start with a code review for a teammate's placement algorithm change, followed by a quick check on the deployment pipeline. Mid-morning, you dive into a design document for a new scheduling capability. You sketch out the system interactions, model the expected throughput, and post your proposal for team review.
After lunch, you pair with a teammate to debug a subtle production issue where a specific task placement pattern is causing higher-than-expected latency in one region. You trace the request flow through the scheduler, reproduce it locally, and draft a fix. Later in the afternoon, you work on operational tooling you have been building.
Before wrapping up, you join a quick sync with the Capacity team to align on a new instance type integration, then review the on-call dashboard. Some days you are deep in scheduling algorithm internals optimizing bin-packing efficiency; other days you are designing a new API for service deployment controls or building automation that makes the next on-call shift smoother.
No two days are the same, but the thread that ties them together is making container orchestration reliable and fast - so customers can focus on their applications, not their infrastructure.
About the team
Amazon Elastic Container Service (ECS) lets customers deploy containerized applications at scale.
The ECS Scheduler team owns two core primitives
ECS Services - When a customer creates an ECS service, the service scheduler runs and maintains the specified number of tasks simultaneously. If a task fails or stops, the scheduler launches a replacement. It spreads tasks across Availability Zones and manages rolling deployments.
We serve over 10 million ECS services and process 115 million task launches daily across all AWS regions today.
ECS Managed Daemons - A new primitive that deploys exactly one daemon task on every managed instance in a capacity provider and manages the daemon lifecycle. When a managed instance registers with a cluster, ECS automatically starts daemon tasks before scheduling other tasks.
Every placement decision, every deployment rollout, every recovery from a failed task flows through the systems we build and operate. This is infrastructure that AWS customers trust with their production workloads.
You will work alongside engineers who care deeply about getting distributed systems right at scale. You will have the autonomy to own features end-to-end, the support of a team that takes operational excellence seriously, and the opportunity to see your work running across every AWS region in the world.
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- 1+ years of software development engineer or related occupational experience
- 1+ years of designing and developing large-scale, multi-tiered, multi-threaded, embedded or distributed software applications, tools, systems, and services using: C#, C++, Java, or Perl experience
- 1+ years of Object Oriented Design experience
- Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field
- Experience programming with at least one software programming language
- 3+ 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 an equal opportunity employer and does not discriminate on the basis of protected veteran status, disability, or other legally protected status.
Our inclusive culture empowers Amazonians to deliver the best results for our customers. If you have a disability and need a workplace accommodation or adjustment during the application and hiring process, including support for the interview or onboarding process, please visit https://amazon. jobs/content/en/how-we-hire/accommodations for more information.
If the country/region you’re applying in isn’t listed, please contact your Recruiting Partner.
The base salary range for this position is listed below. Your Amazon package will include sign-on payments and restricted stock units (RSUs). Final compensation will be determined based on factors including experience, qualifications, and location.
Amazon also offers comprehensive benefits including health insurance (medical, dental, vision, prescription, Basic Life & AD&D insurance and option for Supplemental life plans, EAP, Mental Health Support, Medical Advice Line, Flexible Spending Accounts, Adoption and Surrogacy Reimbursement coverage), 401(k) matching, paid time off, and parental leave. Learn more about our benefits at https://amazon. jobs/en/benefits .
USA, NJ, Jersey City - 158,100. 00 - 213,800. 00 USD annually