Lessons learned from 10 years of DynamoDB

Prioritizing predictability over efficiency, adapting data partitioning to traffic, and continuous verification are a few of the principles that help ensure stability, availability, and efficiency.

Amazon DynamoDB is one of the most popular NoSQL database offerings on the Internet, designed for simplicity, predictability, scalability, and reliability. To celebrate DynamoDB’s 10th anniversary, the DynamoDB team wrote a paper describing lessons we’d learned in the course of expanding a fully managed cloud-based database system to hundreds of thousands of customers. The paper was presented at this year’s USENIX ATC conference.

The paper captures the following lessons that we have learned over the years:

  • Designing systems for predictability over absolute efficiency improves system stability. While components such as caches can improve performance, they should not introduce bimodality, in which the system has two radically different ways of responding to similar requests (e.g., one for cache misses and one for cache hits). Consistent behaviors ensure that the system is always provisioned to handle the unexpected. 
  • Adapting to customers’ traffic patterns to redistribute data improves customer experience. 
  • Continuously verifying idle data is a reliable way to protect against both hardware failures and software bugs in order to meet high durability goals. 
  • Maintaining high availability as a system evolves requires careful operational discipline and tooling. Mechanisms such as formal proofs of complex algorithms, game days (chaos and load tests), upgrade/downgrade tests, and deployment safety provide the freedom to adjust and experiment with the code without the fear of compromising correctness. 
Related content
Amazon DynamoDB was introduced 10 years ago today; one of its key contributors reflects on its origins, and discusses the 'never-ending journey' to make DynamoDB more secure, more available and more performant.

Before we dig deeper into these topics, a little terminology. A DynamoDB table is a collection of items (e.g., products), and each item is a collection of attributes (e.g., name, price, category, etc.). Each item is uniquely identified by its primary key. In DynamoDB, tables are typically partitioned, or divided into smaller sub-tables, which are assigned to nodes. A node is a set of dedicated computational resources — a virtual machine — running on a single server in a datacenter.

DynamoDB stores three copies of each partition, in different availability zones. This makes the partition highly available and durable because the availability zones’ storage resources share nothing and are substantially independent. For instance, we wouldn’t assign a partition and one of its copies to nodes that share a power supply, because a power outage would take both of them offline. The three copies of the same partition are known as a replication group, and there is a leader for the group that is responsible for replicating all the customer mutations and serving strongly consistent reads.

DynamoDB architecture.png
The DynamoDB architecture, including a request router, the partition metadata system, and storage nodes in different availability zones (AZs).

Those definitions in hand, let’s turn to our lessons learned.

Predictability over absolute efficiency

DynamoDB employs a lot of metadata caches in order to reduce latency. One of those caches stores the routing metadata for data requests. This cache is deployed on a fleet of thousands of request routers, DynamoDB’s front-end service.

In the original implementation, when the request router received the first request for a table, it downloaded the routing information for the entire table and cached it locally. Since the configuration information about partition replicas rarely changed, the cache hit rate was approximately 99.75%.

Related content
How Alexa scales machine learning models to millions of customers.

This was an amazing hit rate. However, on the flip side, the fallback mechanism for this cache was to hit the metadata table directly. When the cache becomes ineffective, the metadata table needs to instantaneously scale from handling 0.25% of requests to 100%. The sudden increase in traffic can cause the metadata table to fail, causing cascading failure in other parts of the system. To mitigate against such failures, we redesigned our caches to behave predictably.

First, we built an in-memory datastore called MemDS, which significantly reduced request routers’ and other metadata clients’ reliance on local caches. MemDS stores all the routing metadata in a highly compressed manner and replicates it across a fleet of servers. MemDS scales horizontally to handle all incoming requests to DynamoDB.

Second, we deployed a new local cache that avoids the bimodality of the original cache. All requests, even if satisfied by the local cache, are asynchronously sent to the MemDS. This ensures that the MemDS fleet is always serving a constant volume of traffic, regardless of cache hit or miss. The regular exercise of the fallback code helps prevent surprises during fallback.

DDB-MemDS.png
DynamoDB architecture with MemDS.

Unlike conventional local caches, MemDS sees traffic that is proportional to the customer traffic seen by the service; thus, during cache failures, it does not see a sudden amplification of traffic. Doing constant work removed the need for complex logic to handle edge cases around cache misses and reduced the reliance on local caches, improving system stability.

Reshaping partitioning based on traffic

Partitions offer a way to dynamically scale both the capacity and performance of tables. In the original DynamoDB release, customers explicitly specified the throughput that a table required in terms of read capacity units (RCUs) and write capacity units (WCUs). The original system assigned partitions to nodes based on both available space and computational capacity.

Related content
Optimizing placement of configuration data ensures that it’s available and consistent during “network partitions”.

As the demands on a table changed (because it grew in size or because the load increased), partitions could be further split to allow the table to scale elastically. Partition abstraction proved really valuable and continues to be central to the design of DynamoDB.

However, the early version of DynamoDB assigned both space and capacity to individual partitions on the basis of size, evenly distributing computational resources across table entries. This led to challenges of “hot partitions” and throughput dilution.

Hot partitions happened because customer workloads were not uniformly distributed and kept hitting a subset of items. Throughput dilution happened when partitions that had been split to handle increased load ended up with so few keys that they could quickly max out their meager allocated capacity.

Our initial response to these challenges was to add bursting and adaptive capacity (along with other features such as split for consumption) to DynamoDB. This line of work also led to the launch of on-demand tables.

Bursting is a way to absorb temporal spikes in workloads at a partition level. It’s based on the observation that not all partitions hosted by a storage node use their allocated throughput simultaneously.

Related content
Amazon researchers describe new method for distributing database tables across servers.

The idea is to let applications tap into unused capacity at a partition level on a best-effort basis to absorb short-lived spikes. DynamoDB still maintains workload isolation by ensuring that a partition can burst only if there is unused throughput at the node level.

DynamoDB also launched adaptive capacity to handle long-lived spikes that cannot be absorbed by the burst capacity. Adaptive capacity monitors traffic patterns and repartitions tables so that heavily accessed items reside on different nodes.

Both bursting and adaptive capacity had limitations, however. Bursting was helpful only for short-lived spikes in traffic, and it was dependent on nodes’ having enough throughput to support it. Adaptive capacity was reactive and kicked in only after transmission rates had been throttled down to avoid overloads.

To address these limitations, the DynamoDB team replaced adaptive capacity with global admission control (GAC). GAC builds on the idea of token buckets, in which bandwidth is allocated to network nodes as tokens, and the nodes “cash in” tokens in order to transmit data. Each request router maintains a local token bucket and communicates with GAC to replenish tokens at regular intervals (on the order of every few seconds). For an extra layer of defense, DynamoDB also uses token buckets at the partition level.

Continuous verification 

To provide durability and crash recovery, DynamoDB uses write-ahead logs, which record data writes before they occur. In the event of a crash, DynamoDB can use the write-ahead logs to reconstruct lost data writes, bringing partitions up to date.

Write-ahead logs are stored in all three replicas of a partition. For higher durability, the write-ahead logs are periodically archived to S3, an object store that is designed for more than 99.99% (in fact, 11 nines) durability. Each replica contains the most recent write-ahead logs, which are usually waiting to be archived. The unarchived logs are typically a few hundred megabytes in size.

Storage replica vs. log replica.png
Healing a storage replica by copying the B-tree can take several minutes, while adding a log replica, which takes only a few seconds, ensures that there is no impact on durability.

DynamoDB continuously verifies data at rest. Our goal is to detect any silent data errors or “bit rot” — bit errors caused by degradation of the storage medium. An example of continuous verification is the scrub process.

The scrub process verifies two things: that all three copies in a replication group have the same data and that the live replicas match a reference replica built offline using the archived write-ahead-log entries.

The verification is done by computing the checksum of the live replica and matching that with a snapshot of the reference replica. A similar technique is used to verify replicas of global tables. Over the years, we have learned that continuous verification of data at rest is the most reliable method of protecting against hardware failures, silent data corruption, and even software bugs.

Availability

DynamoDB regularly tests its resilience to node, rack, and availability zone (AZ) failures. For example, to test the availability and durability of the overall service, DynamoDB performs power-off tests. Using realistic simulated traffic, a job scheduler powers off random nodes. At the end of all the power-off tests, the test tools verify that the data stored in the database is logically valid and not corrupted.

Related content
Amazon Athena reduces query execution time by 14% by eliminating redundant operations.

The first point about availability is that it needs to be measurable. DynamoDB is designed for 99.999% availability for global tables and 99.99% availability for regional tables. To ensure that these goals are being met, DynamoDB continuously monitors availability at the service and table levels. The tracked availability data is used to estimate customer-perceived availability trends and trigger alarms if the number of errors that customers see crosses a certain threshold.

These alarms are called customer-facing alarms (CFAs). The goal of these alarms is to report any availability-related problems and proactively mitigate them either automatically or through operator intervention. The key point to note here is that availability is measured not only on the server side but on the client side.

We also use two sets of clients to measure the user-perceived availability. The first set of clients is internal Amazon services using DynamoDB as the data store. These services share the availability metrics for DynamoDB API calls as observed by their software.

The second set of clients is our DynamoDB canary applications. These applications are run from every AZ in the region, and they talk to DynamoDB through every public endpoint. Real application traffic allows us to reason about DynamoDB availability and latencies as seen by our customers. The canary applications offer a good representation of what our customers might be experiencing both long and short term.

The second point is that read and write availability need to be handled differently. A partition’s write availability depends on the health of its leader and of its write quorum, meaning two out of the three replicas from different AZs. A partition remains available as long as there are enough healthy replicas for a write quorum and a leader.

Related content
“Anytime query” approach adapts to the available resources.

In a large service, hardware failures such as memory and disk failures are common. When a node fails, all replication groups hosted on the node are down to two copies. The process of healing a storage replica can take several minutes because the repair process involves copying the B-tree — a data structure that maps partitions to storage locations — and write-ahead logs.

Upon detecting an unhealthy storage replica, the leader of a replication group adds a log replica to ensure there is no impact on durability. Adding a log replica takes only a few seconds, because the system has to copy only the most recent write-ahead logs from a healthy replica; reconstructing the more memory-intensive B-tree can wait. Quick healing of affected replication groups using log replicas thus ensures the high durability of the most recent writes. Adding a log replica is the fastest way to ensure that the write quorum of the group is always met. This minimizes disruption to write availability due to an unhealthy write quorum. The leader replica serves consistent reads.

Introducing log replicas was a big change to the system, but the Paxos consensus protocol, which is formally provable, gave us the confidence to safely tweak and experiment with the system to achieve higher availability. We have been able to run millions of Paxos groups in a region with log replicas. Eventually, consistent reads can be served by any of the replicas. In case a leader fails, other replicas detect its failure and elect a new leader to minimize disruptions to the availability of consistent reads.

Research areas

Related content

US, CA, San Francisco
The Amazon Center for Quantum Computing (CQC) is seeking an Applied Scientist to research and design cryogenic control hardware for large-scale quantum processors, with an emphasis on superconducting digital circuits. Controlling and reading out orders of magnitude more qubits than today's systems demands rethinking where classical control lives and what technology implements it; you will design and model superconducting digital logic (e.g., single-flux-quantum-family circuits) and related cryogenic electronics, evaluate them against the wiring, power, and thermal budgets of a scaled system, and co-design control approaches with the qubit devices they serve. You will carry designs from concept through simulation, layout, design review, and fabrication handoff, and your evaluations will inform which control-electronics directions the organization invests in. Key job responsibilities • Design and simulate superconducting digital circuits and cryogenic control/readout electronics for scalable qubit control • Develop and validate Josephson-junction circuit models, timing and margin analyses, and verification methodology for superconducting digital designs • Quantify system-level trade-offs — wiring count, power dissipation at each cryogenic stage, latency, footprint — across candidate control architectures, and communicate recommendations • Co-design control interfaces with qubit-device colleagues so control electronics and quantum devices are developed as one system • Deliver design artifacts through the organization's design-request and design-review processes, including tapeout-ready layouts and verification reports • Present results internally and, where appropriate, publish in peer-reviewed venues About the team The Enabling Technologies team develops technologies and relationships facilitating scaling, including alternative quantum processor architectures, superconducting qubit device packaging, and cryogenic control device electronics. We work alongside a co-located quantum processor design team focused on current-generation devices; the two teams share design and review processes, and moving ideas between them is an explicit part of our charter.
US, WA, Redmond
Amazon Leo is building a constellation of thousands of low Earth orbit satellites. It will bring fast, reliable internet to customers beyond the reach of existing networks. On the Guidance, Navigation and Control (GNC) team, you will design the algorithms, simulations and onboard autonomy that keep every satellite precisely pointed and stable. Your work lets the payload serve customers on the ground, and it keeps the fleet flying safely. This is satellite GNC at constellation scale. The constellation is launching and growing today, so you will see your work go from concept to orbit, and then fly on many satellites. In this role, you will: - Take your GNC algorithms from concept to orbit, and stay with them through integration, test and on-orbit operations. - Write the production C++ flight code for your own algorithms. The code that flies is the code you write. - Solve hard problems in precise pointing, payload cueing and fleet autonomy. - Work across design, simulation, test and flight operations, not a narrow slice of the lifecycle. **Export Control Requirement:** Due to applicable export control laws and regulations, candidates must be a U.S. citizen or national, U.S. permanent resident (i.e., current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum. Key job responsibilities - Design and analyze algorithms for state estimation, attitude determination and control, precise pointing and payload cueing against demanding performance requirements. - Implement these algorithms in production C++ flight software. Our GNC engineers own their algorithms all the way into flight, and partner with our embedded software engineers to integrate and test them. - Write concepts of operations for each phase of a satellite's life, from launch and orbit raising to service and deorbit, including failures and recovery. Balance what the payload needs against momentum, power, thermal and ground-contact limits. - Develop momentum management strategies with reaction wheels and magnetic torquers. Help select, size and place the GNC sensors and actuators for future satellites, and design the algorithms that use them. These include star trackers, magnetometers, sun sensors, IMUs and GNSS receivers. - Develop onboard autonomy, including Fault Detection, Isolation and Recovery (FDIR), so that the fleet operates safely at scale with minimal ground intervention. - Build and validate satellite and constellation models and simulations at several levels of fidelity, including 6-DOF simulation and Monte Carlo analysis. Verify closed-loop performance in hardware-in-the-loop (HITL) tests. - Support component environmental tests, functional and performance checkout, and subsystem and satellite integration in our labs. - Analyze telemetry from the whole fleet. Build the metrics, dashboards and tools that track pointing performance and payload operations time as the constellation grows, and use them to improve the fleet. - Operate the GNC system on orbit and take part in the team's on-call rotation. Review fleet data, support maneuvers, and resolve anomalies when on-orbit behavior differs from the ground model. - Review designs and code with the team, and document your algorithms, analyses and results clearly. A day in the life This role covers a wide range of problems across the spacecraft and the network. You will derive and prototype estimation and control algorithms, and then turn them into production flight code. You will prove them in 6-DOF and Monte Carlo simulation and in hardware-in-the-loop tests in the lab. You will support satellite integration. When a satellite does not behave as the ground model predicted, you will dig into fleet telemetry, find the cause and drive the fix. You will own each problem end to end, with the focus to go deep on it. GNC is at the center of safe flight, so you will work across the whole program. The payload, power, thermal and operations teams all depend on GNC, and you will balance their needs against the pointing and momentum budgets. You will partner closely with avionics, flight software and embedded software engineers to make your algorithms run reliably on the spacecraft. You will help the mechanical teams shape the next generation of satellite hardware, from reaction wheels to star trackers. As satellites move from design through manufacturing into orbit, you will work with systems engineering and Assembly, Integration and Test. The problems are hard: tight pointing requirements, a large constellation to keep flying safely, and the chance to invent capabilities that do not exist yet. Constant work with other teams makes this a place where you keep learning and growing. About the team You will join the Satellite Attitude Determination and Control team. We own GNC for our satellites end to end: algorithm design, flight software, lab integration, and flight operations of our own satellites on orbit. Our engineers bring deep experience from many satellite programs and other flight vehicles, with real strength in both our mission and the core GNC disciplines. We design, prototype, test, iterate and learn together. Because GNC is central to safe flight, we drive the concepts of operations and many of the system-level analyses on the program. We also have a lot of freedom. We trust our engineers to choose their own tools and approaches for the problems they face, and to own the results. If you want the autonomy to solve hard problems your way, with a team of strong engineers, you will feel at home here.
US, WA, Redmond
Amazon Leo is building a constellation of thousands of low Earth orbit satellites. It will bring fast, reliable internet to customers beyond the reach of existing networks. On the Guidance, Navigation and Control (GNC) team, you will design the algorithms, simulations and onboard autonomy that keep every satellite precisely pointed and stable. Your work lets the payload serve customers on the ground, and it keeps the fleet flying safely. This is satellite GNC at constellation scale. The constellation is launching and growing today, so you will see your work go from concept to orbit, and then fly on many satellites. In this role, you will: - Take your GNC algorithms from concept to orbit, and stay with them through integration, test and on-orbit operations. - Write the production C++ flight code for your own algorithms. The code that flies is the code you write. - Solve hard problems in precise pointing, payload cueing and fleet autonomy. - Work across design, simulation, test and flight operations, not a narrow slice of the lifecycle. **Export Control Requirement:** Due to applicable export control laws and regulations, candidates must be a U.S. citizen or national, U.S. permanent resident (i.e., current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum. Key job responsibilities - Design and analyze algorithms for state estimation, attitude determination and control, precise pointing and payload cueing against demanding performance requirements. - Implement these algorithms in production C++ flight software. Our GNC engineers own their algorithms all the way into flight, and partner with our embedded software engineers to integrate and test them. - Write concepts of operations for each phase of a satellite's life, from launch and orbit raising to service and deorbit, including failures and recovery. Balance what the payload needs against momentum, power, thermal and ground-contact limits. - Develop momentum management strategies with reaction wheels and magnetic torquers. Help select, size and place the GNC sensors and actuators for future satellites, and design the algorithms that use them. These include star trackers, magnetometers, sun sensors, IMUs and GNSS receivers. - Develop onboard autonomy, including Fault Detection, Isolation and Recovery (FDIR), so that the fleet operates safely at scale with minimal ground intervention. - Build and validate satellite and constellation models and simulations at several levels of fidelity, including 6-DOF simulation and Monte Carlo analysis. Verify closed-loop performance in hardware-in-the-loop (HITL) tests. - Support component environmental tests, functional and performance checkout, and subsystem and satellite integration in our labs. - Analyze telemetry from the whole fleet. Build the metrics, dashboards and tools that track pointing performance and payload operations time as the constellation grows, and use them to improve the fleet. - Operate the GNC system on orbit and take part in the team's on-call rotation. Review fleet data, support maneuvers, and resolve anomalies when on-orbit behavior differs from the ground model. - Review designs and code with the team, and document your algorithms, analyses and results clearly. A day in the life This role covers a wide range of problems across the spacecraft and the network. You will derive and prototype estimation and control algorithms, and then turn them into production flight code. You will prove them in 6-DOF and Monte Carlo simulation and in hardware-in-the-loop tests in the lab. You will support satellite integration. When a satellite does not behave as the ground model predicted, you will dig into fleet telemetry, find the cause and drive the fix. You will own each problem end to end, with the focus to go deep on it. GNC is at the center of safe flight, so you will work across the whole program. The payload, power, thermal and operations teams all depend on GNC, and you will balance their needs against the pointing and momentum budgets. You will partner closely with avionics, flight software and embedded software engineers to make your algorithms run reliably on the spacecraft. You will help the mechanical teams shape the next generation of satellite hardware, from reaction wheels to star trackers. As satellites move from design through manufacturing into orbit, you will work with systems engineering and Assembly, Integration and Test. The problems are hard: tight pointing requirements, a large constellation to keep flying safely, and the chance to invent capabilities that do not exist yet. Constant work with other teams makes this a place where you keep learning and growing. About the team You will join the Satellite Attitude Determination and Control team. We own GNC for our satellites end to end: algorithm design, flight software, lab integration, and flight operations of our own satellites on orbit. Our engineers bring deep experience from many satellite programs and other flight vehicles, with real strength in both our mission and the core GNC disciplines. We design, prototype, test, iterate and learn together. Because GNC is central to safe flight, we drive the concepts of operations and many of the system-level analyses on the program. We also have a lot of freedom. We trust our engineers to choose their own tools and approaches for the problems they face, and to own the results. If you want the autonomy to solve hard problems your way, with a team of strong engineers, you will feel at home here.
US, WA, Seattle
Do you want to make AI provably correct for chip design and verification? We're hiring an Applied Scientist to combine large language models with formal methods such as Lean 4 and turn AI from a helpful assistant into a trusted engineering tool for silicon. Our team builds the formal verification methods behind custom silicon at Amazon scale. As AI agents take on more of chip design and verification, we need people who can make sure their output is checkable, sound and grounded in mathematics. You will research and build systems where LLMs work alongside interactive theorem provers, SMT solvers and model checkers. Engineers write the specifications. AI refines them against RTL, generates proof steps and closes proofs at machine speed. Every result is checked by a formal kernel, not trusted on faith. Work at the frontier of AI reasoning, theorem proving and hardware verification Ship solutions that directly affect real chips running in AWS data centers Publish and help shape how the industry formalizes AI use in hardware engineering Key job responsibilities Design and build LLM-driven systems for formal verification and design tasks, including proof generation, invariant and lemma discovery, spec-to-RTL refinement, and counterexample analysis Develop frameworks in Lean 4 (and related tools such as SMT solvers, model checkers and commercial FV engines) that formally check AI-generated artifacts, so they are correct by construction rather than just plausible Formalize hardware semantics, ISAs and microarchitectural properties in Lean 4 to create machine-checkable foundations for AI agents to reason over Track and evaluate state-of-the-art AI work (LLM agents, autoformalization, neural theorem proving, reinforcement learning from proof feedback) and turn promising research into production tools Build benchmarks and evaluation methods that measure AI soundness, proof success rate and engineering impact on real designs Partner with FV and design engineers to find the highest-leverage problems and deploy solutions into active chip programs Publish research, file patents and represent Amazon in the formal methods and AI communities Mentor engineers and scientists on applying formal AI methods
US, NY, New York
About Sponsored Products and Brands: The Sponsored Products and Brands (SPB) organization at Amazon Ads is re-imagining the advertising landscape through industry leading generative AI technologies, revolutionizing how millions of customers discover products and engage with brands across Amazon.com and beyond. We are at the forefront of re-inventing advertising experiences, bridging human creativity with artificial intelligence to transform every aspect of the advertising lifecycle from ad creation and optimization to performance analysis and customer insights. We are a passionate group of innovators dedicated to developing responsible and intelligent AI technologies that balance the needs of advertisers, enhance the shopping experience, and strengthen the marketplace. If you're energized by solving complex challenges and pushing the boundaries of what's possible with AI, join us in shaping the future of advertising. About Our Team: The Brand Beacon team is responsible for inventing impressions offerings for brands to increase share of voice via premium experiences, helping brands get discovered, acquire new customers and sustainably grow customer lifetime value. We build end-to-end solutions that enable brands to drive discovery, visibility and share of voice. This includes building advertiser controls, shopper experiences, monetization strategies and optimization features. We succeed when (1) shoppers discover, engage and build affinity with brands and (2) brands can grow their business at scale with our advertising products. About This Role: As an Applied Scientist on our team, you will: * Develop AI solutions for advertiser and shopper experiences. Build monetization and optimization systems that leverage generative models to value and improve campaign performance. * Define a long-term science vision and roadmap for our Brand Beacon advertising business, driven from our customers' needs, translating that direction into specific plans for applied scientists and engineering teams. This role combines science leadership, organizational ability, technical strength, product focus, and business understanding. * Design and conduct A/B experiments to evaluate proposed solutions based on in-depth data analyses. * Effectively communicate technical and non-technical ideas with teammates and stakeholders; * Stay up-to-date with advancements and the latest modeling techniques in the field. * Think big about the arc of development of Gen AI over a multi-year horizon and identify new opportunities to apply these technologies to solve real-world problems. #GenAI
US, WA, Seattle
MULTIPLE POSITIONS AVAILABLE Employer: AMAZON.COM SERVICES LLC Offered Position: Applied Scientist III Job Location: Seattle, Washington Job Number: AMZ10037670 Position Responsibilities: Participate in the design, development, evaluation, deployment and updating of data-driven models and analytical solutions for machine learning (ML) and/or natural language (NL) applications. Develop and/or apply statistical modeling techniques (e.g. Bayesian models and deep neural networks), optimization methods, and other ML techniques to different applications in business and engineering. Routinely build and deploy ML models on available data, and run and analyze experiments in a production environment. Identify new opportunities for research in order to meet business goals. Research and implement novel ML and statistical approaches to add value to the business. Mentor junior engineers and scientists. Position Requirements: Master’s degree or foreign equivalent degree in Computer Science, Machine Learning, Engineering, or a related field and two years of research or work experience in the job offered, or as a Research Scientist, Research Assistant, Software Engineer, or a related occupation. Employer will accept a Bachelor’s degree or foreign equivalent degree in Computer Science, Machine Learning, Engineering, or a related field and five years of progressive post-baccalaureate research or work experience in the job offered or a related occupation as equivalent to the Master’s degree and two years of research or work experience. Must have one year of research or work experience in the following skill(s): (1) programming in Java, C++, Python, or equivalent programming language; and (2) conducting the analysis and development of various supervised and unsupervised machine learning models for moderately complex projects in business, science, or engineering. Amazon.com is an Equal Opportunity-Affirmative Action Employer – Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation. 40 hours / week, 8:00am-5:00pm, Salary Range $167,100/year to $226,100/year. 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, visit: https://www.aboutamazon.com/workplace/employee-benefits. #0000
US, WA, Seattle
Amazon Web Services (AWS) provides a highly reliable, scalable, low-cost infrastructure platform in the cloud that powers hundreds of thousands of businesses in 190 countries around the world. We are hiring an Applied Scientist in our AWS Sales Science & Economics team. The team uses machine learning, econometrics, and data science to optimize AWS’s service catalogue, driving customer engagement and generating insights to guide AWS sales strategy. We use detailed customer behavioral and usage data to predict and understand what customers want from AWS. Key job responsibilities As an Applied Scientist, you will apply the latest research, state of the art machine learning and GenAI to build highly scalable models in support of predictive research and products used across AWS Sales and leadership. You will be responsible for designing and executing science experiments in short and agile cycles. You will use the latest AWS technologies in Machine Learning, Data Science, and AI. You will work closely with business leaders to identify opportunities to drive business growth by applying machine learning and building out predictive models to support analytics and insights. The ideal candidate will be curious and able to learn new technologies quickly. You will have hands-on experience building data science and machine learning pipelines in production working with large scale data sets. You are passionate about sharing your knowledge to enable others. You empathize with the needs of our customers and align your work accordingly, and provide thought leadership and guidance across the organization. A day in the life You will start your day reviewing experimental results and refining model architectures based on new insights. You might spend the morning prototyping a novel approach to a customer-facing problem, then shift to a design review with engineering partners in the afternoon to align on how your solution integrates into production systems. Along the way, you will mentor junior scientists, contribute to peer reviews, and stay connected to the latest research through reading groups and internal science discussions. Your contributions will move from research notebooks to live systems that customers interact with every day. About the team Our team is focused on applying advanced science and machine learning to build intelligent systems that improve the Amazon experience. We value collaboration, intellectual rigor, and a willingness to explore new ideas. You will work alongside scientists and engineers who are committed to turning ambitious research into practical, high-impact solutions. We are investing in the next generation of machine learning capabilities and are looking for team members who are excited to help define that future.
US, CA, San Francisco
The Central Science Team within Amazon’s People Experience and Technology org (PXTCS) uses economics, behavioral science, statistics, and machine learning to proactively identify mechanisms and process improvements which simultaneously improve Amazon and the lives, well-being, and the value of work to Amazonians. We are an interdisciplinary team, which combines the talents of science and engineering to develop and deliver solutions that measurably achieve this goal. We are looking for an Applied Scientist to build production machine learning solutions that improve employee experiences and inform workforce decisions. You will work on problems spanning predictive modeling, natural language processing, recommendation systems, personalization, generative AI, and causal evaluation. These solutions will predict workforce outcomes, identify individual and organizational needs, recommend targeted actions, and measure the causal impact of programs, products, and policies across diverse employee populations and business contexts. As an Applied Scientist, you will develop models and algorithms from prototype through production. You will collaborate with other scientists and economists to combine machine learning with causal inference and experimentation, allowing teams to understand both what is likely to happen and which actions will improve outcomes. You will also work with product managers, engineers, and business partners to translate business needs into technical solutions and communicate methods and results to technical and nontechnical audiences. Key job responsibilities • Design, develop, and deploy machine learning solutions in production environments. • Develop solutions using techniques that include predictive modeling, deep learning, natural language processing, recommendation systems, personalization, and generative AI. • Build models that predict workforce outcomes, identify employee and organizational needs, and recommend targeted actions. • Partner with economists and other scientists to design causal evaluations and experimental frameworks that measure the impact of programs, products, and policies. • Combine predictive models with causal estimates to help business partners identify effective actions and make evidence-based decisions. • Collaborate with product managers, engineers, and business partners to translate business requirements into modeling approaches and contribute to technical design and roadmap decisions. • Evaluate model accuracy, performance, calibration, and limitations, and identify opportunities for improvement. • Communicate technical concepts, methods, results, and recommendations to technical peers and business partners. A day in the life • Analyze data to investigate model performance or understand an unexpected result from a causal evaluation. • Brainstorm modeling and evaluation approaches with applied scientists and economists on the team. • Develop and test model features, recommendation methods, or generative AI applications. • Design or analyze experiments and observational studies to estimate the causal impact of programs, products, or policies. • Run simulations, offline evaluations, or backtests to assess model performance. • Meet with product, engineering, and business partners to review requirements, data, designs, and implementation decisions. • Review code changes or technical design documents from scientists and engineers. • Write and present documents covering methods, results, limitations, and recommendations. About the team The People eXperience and Technology Central Science Team (PXTCS) uses economics, behavioral science, statistics, and machine learning to proactively identify mechanisms and process improvements which simultaneously improve Amazon and the lives, wellbeing, and the value of work to Amazonians. We are an interdisciplinary team that combines the talents of science and engineering to develop and deliver solutions that measurably achieve this goal.
US, WA, Seattle
Are you excited to play a strategic role in defining the customer experience on Tablets? Come join a dynamic, customer-obsessed, world-class science team to completely reshape the customer experience on our tablets. Key job responsibilities Using Amazon’s large-scale computing resources, you will design and deploy state-of-the-art recommendation models. You will ask research questions about customer behavior, design state-of-the-art models that help customers discover content, and deploy these models to production alongside other engineers. You will participate in the Amazon ML community and mentor other engineers with a strong interest in and knowledge of ML and generative AI. Your work will directly benefit customers! A day in the life We are looking for a passionate, hard-working, and talented Applied Scientist who has experience developing state-of-the-art models and deploying them to production. You will have an opportunity to make an enormous impact on the design, architecture, and implementation of products used everyday by real customers! About the team The Alexa Tablet team is a world-class team that delivers high-quality, innovative products that are loved by our customers. Our team focuses on spinning many of Amazon’s flywheels with bar-raising mobile experiences on our tablets. Over the last 12 years, we have built 4.0+ star rated products, and we continue to look for ways to scale our business. Join us as we continue our ambitious journey which will give you the opportunity to deliver disruptive products with global impact.
IN, KA, Bengaluru
Amazon.com’s Product Detail Page team is looking for talented, motivated and passionate applied scientist to be part of the design and development of a highly scalable multi-tiered shopping application to provide the best possible online shopping experience for Amazon customers world-wide. Our team is comprised of talented applied scientists, developers, testers, program managers, designers and product managers tasked with the singular goal to create THE world's best buying experience. Scientists on this team develop the next-generation technologies and experiences that change how millions interact and shop online. To provide the best possible online shopping at the scale of the web requires ideas from every area of computer science, including distributed computing, large-scale system design, machine learning, natural language processing, data compression and user interface design; the list goes on and is growing every day. We need our scientists to be versatile and always eager to tackle new problems as we continue to push technology forward. Our team leverages sophisticated econometric, machine learning, and big data technologies to help customers to discover the right products at the right prices from millions of trusted sellers billions of times a day. If you are looking for a career-defining opportunity on one of the most customer centric and business impacting teams within Amazon, we’d love to hear from you. We are looking for an Applied Scientist to help build the next generation of Detail Page optimization algorithms. These new set of algorithms will incorporate the continually changing preferences of our customers and continue to scale with numerous new programs that Amazon is introducing for our customers. You will work with multiple Amazon businesses and programs to identify big business opportunities and propose new business features and technical systems to improve customer experience on Amazon Detail Page, Search Page and many other widgets throughout the website. You will be responsible for the quality of algorithm design and will get the opportunity to present your ideas and share results of your deliverables with Amazon executives on a frequent basis. You will get an opportunity to work with senior scientists to define and enforce broad, company-wide technical standards in optimization techniques, statistical modeling and simulation techniques, and/or data analytics.