We are seeking talented engineers to help evolve how we place EBS volumes on storage servers. We tackle complex technical challenges at massive scale - from optimizing storage density and improving I/O performance to ensuring data durability/availability across in the face of multitude of failure modes. You'll work on distributed systems that make real-time decisions about where to place customer data while balancing multiple competing constraints including performance, availability, durability, and cost-effectiveness.
What makes our team unique is the opportunity to work at the intersection of infrastructure optimization and customer experience. When you join us, you'll be part of evolving how EBS delivers storage services at unprecedented scale and configurability. We're working on exciting initiatives like building predictable performance guarantees for storage operations, developing intelligent resource modeling and simulation systems, and creating next-generation placement algorithms that will enable us to serve more customers with better performance while optimizing resource utilization. If you're excited about solving complex distributed systems problems that directly impact millions of customers, we'd love to talk to you!
A day in the life
What makes this role exciting is that every day brings new challenges as customer workloads grows and storage technology evolves. You'll be at the forefront of ensuring that millions of chunks of data/workload are placed just right across vast EBS storage fleet.
Much of your time will be hands-on with our systems. You might be:
* Designing and writing code to update placement decision engine for any number of reasons including launch of new storage feature, utilization of new server capability, adding/revising optimization functions and so on.
* Diving into data to make design decisions or measure effectiveness of changes you make.
* Reasoning about a wide range of factors in the decisions involved in above, such as variability of AWS infrastructure and customer workload patterns worldwide, complex interplay between competing optimization functions, diversify placement of data replicas, staleness in data used by decision engine etc.
* Debugging complex distributed systems issues that require careful analysis and creative problem-solving.
* Review proposals and code from peers from the team as well as partner teams.
Beyond these regular activities, you might find yourself providing consultation to partner teams on decisions like planning out product rollout and migrations, capacity planning, fast mitigation of customer impact with workload movement capabilities in placement systems, root-causing performance degradations and so on.
About the team
You’ll join a group of strong engineers who proudly owns some of EBS’s most critical responsibilities! We closely collaborate to design and deploy sophisticated algorithms that make workload placement decisions while accounting for tens of different optimization objectives. We own real-time, highly available systems that make placement decision at fraction of a second as well as background fleet optimizer that continuously rebalances heat and reacts to continuously changing fleet topology and customers’ workload patterns. We move fast to deliver for our customers while maintaining operational excellence across these mission critical services.
In this role, you will regularly collaborate with principle engineers and scientists to make high judgement decisions backed by data. You will partner with and influence 5+ teams across the organization and be able to form deep understanding of how one of earth’s largest storage business operates. We value teammates who are passionate about distributed systems, bring strong analytical skills to solve complex problems, and thrive in an environment where they can see the direct impact of their work on customers and business outcomes.
BASIC QUALIFICATIONS
- 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
- Experience programming with at least one software programming language
PREFERRED QUALIFICATIONS
- 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 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.
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.
Our compensation reflects the cost of labor across several US geographic markets. The base pay for this position ranges from $129,300/year in our lowest geographic market up to $223,600/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.