A gentle introduction to automated reasoning

Meet Amazon Science’s newest research area.

This week, Amazon Science added automated reasoning to its list of research areas. We made this change because of the impact that automated reasoning is having here at Amazon. For example, Amazon Web Services’ customers now have direct access to automated-reasoning-based features such as IAM Access Analyzer, S3 Block Public Access, or VPC Reachability Analyzer. We also see Amazon development teams integrating automated-reasoning tools into their development processes, raising the bar on the security, durability, availability, and quality of our products.

The goal of this article is to provide a gentle introduction to automated reasoning for the industry professional who knows nothing about the area but is curious to learn more. All you will need to make sense of this article is to be able to read a few small C and Python code fragments. I will refer to a few specialist concepts along the way, but only with the goal of introducing them in an informal manner. I close with links to some of our favorite publicly available tools, videos, books, and articles for those looking to go more in-depth.

Let’s start with a simple example. Consider the following C function:

bool f(unsigned int x, unsigned int y) {
   return (x+y == y+x);
}

Take a few moments to answer the question “Could f ever return false?” This is not a trick question: I’ve purposefully used a simple example to make a point.

To check the answer with exhaustive testing, we could try executing the following doubly nested test loop, which calls f on all possible pairs of values of the type unsigned int:

#include<stdio.h>
#include<stdbool.h>
#include<limits.h>

bool f(unsigned int x, unsigned int y) {
   return (x+y == y+x);
}

void main() {
   for (unsigned int x=0;1;x++) {
      for (unsigned int y=0;1;y++) {
         if (!f(x,y)) printf("Error!\n");
         if (y==UINT_MAX) break;
      }
      if (x==UINT_MAX) break;
   }
}

Unfortunately, even on modern hardware, this doubly nested loop will run for a very long time. I compiled it and ran it on a 2.6 GHz Intel processor for over 48 hours before giving up.

Why does testing take so long? Because UINT_MAX is typically 4,294,967,295, there are 18,446,744,065,119,617,025 separate f calls to consider. On my 2.6 GHz machine, the compiled test loop called f approximately 430 million times a second. But to test all 18 quintillion cases at this performance, we would need over 1,360 years.

When we show the above code to industry professionals, they almost immediately work out that f can't return false as long as the underlying compiler/interpreter and hardware are correct. How do they do that? They reason about it. They remember from their school days that x + y can be rewritten as y + x and conclude that f always returns true.

Re:Invent 2021 keynote address by Peter DeSantis, senior vice president for utility computing at Amazon Web Services
Skip to 15:49 for a discussion of Amazon Web Services' work on automated reasoning.

An automated reasoning tool does this work for us: it attempts to answer questions about a program (or a logic formula) by using known techniques from mathematics. In this case, the tool would use algebra to deduce that x + y == y + x can be replaced with the simple expression true.

Automated-reasoning tools can be incredibly fast, even when the domains are infinite (e.g., unbounded mathematical integers rather than finite C ints). Unfortunately, the tools may answer “Don’t know” in some instances. We'll see a famous example of that below.

The science of automated reasoning is essentially focused on driving the frequency of these “Don’t know” answers down as far as possible: the less often the tools report "Don't know" (or time out while trying), the more useful they are.

Today’s tools are able to give answers for programs and queries where yesterday’s tools could not. Tomorrow’s tools will be even more powerful. We are seeing rapid progress in this field, which is why at Amazon, we are increasingly getting so much value from it. In fact, we see automated reasoning forming its own Amazon-style virtuous cycle, where more input problems to our tools drive improvements to the tools, which encourages more use of the tools.

A slightly more complex example. Now that we know the rough outlines of what automated reasoning is, the next small example gives a slightly more realistic taste of the sort of complexity that the tools are managing for us.

void g(int x, int y) {
   if (y > 0)
      while (x > y)
         x = x - y;
}

Or, alternatively, consider a similar Python program over unbounded integers:

def g(x, y):
   assert isinstance(x, int) and isinstance(y, int)
   if y > 0:
      while x > y:
         x = x - y

Try to answer this question: “Does g always eventually return control back to its caller?”

When we show this program to industry professionals, they usually figure out the right answer quickly. A few, especially those who are aware of results in theoretical computer science, sometimes mistakenly think that we can't answer this question, with the rationale “This is an example of the halting problem, which has been proved insoluble”. In fact, we can reason about the halting behavior for specific programs, including this one. We’ll talk more about that later.

Here’s the reasoning that most industry professionals use when looking at this problem:

  1. In the case where y is not positive, execution jumps to the end of the function g. That’s the easy case.
  2. If, in every iteration of the loop, the value of the variable x decreases, then eventually, the loop condition x > y will fail, and the end of g will be reached.
  3. The value of x always decreases only if y is always positive, because only then does the update to x (i.e., x = x - y) decrease x. But y’s positivity is established by the conditional expression, so x always decreases.

The experienced programmer will usually worry about underflow in the x = x - y command of the C program but will then notice that x > y before the update to x and thus cannot underflow.

If you carried out the three steps above yourself, you now have a very intuitive view of the type of thinking an automated-reasoning tool is performing on our behalf when reasoning about a computer program. There are many nitty-gritty details that the tools have to face (e.g., heaps, stacks, strings, pointer arithmetic, recursion, concurrency, callbacks, etc.), but there’s also decades of research papers on techniques for handling these and other topics, along with various practical tools that put these ideas to work.

Policy-code.gif
Automated reasoning can be applied to both policies (top) and code (bottom). In both cases, an essential step is reasoning about what's always true.

The main takeaway is that automated-reasoning tools are usually working through the three steps above on our behalf: Item 1 is reasoning about the program’s control structure. Item 2 is reasoning about what is eventually true within the program. Item 3 is reasoning about what is always true in the program.

Note that configuration artifacts such as AWS resource policies, VPC network descriptions, or even makefiles can be thought of as code. This viewpoint allows us to use the same techniques we use to reason about C or Python code to answer questions about the interpretation of configurations. It’s this insight that gives us tools like IAM Access Analyzer or VPC Reachability Analyzer.

An end to testing?

As we saw above when looking at f and g, automated reasoning can be dramatically faster than exhaustive testing. With tools available today, we can show properties of f or g in milliseconds, rather than waiting lifetimes with exhaustive testing.

Can we throw away our testing tools now and just move to automated reasoning? Not quite. Yes, we can dramatically reduce our dependency on testing, but we will not be completely eliminating it any time soon, if ever. Consider our first example:

bool f(unsigned int x, unsigned int y) {
   return (x + y == y + x);
}

Recall the worry that a buggy compiler or microprocessor could in fact cause an executable program constructed from this source code to return false. We might also need to worry about the language runtime. For example, the C math library or the Python garbage collector might have bugs that cause a program to misbehave.

What’s interesting about testing, and something we often forget, is that it’s doing much more than just telling us about the C or Python source code. It’s also testing the compiler, the runtime, the interpreter, the microprocessor, etc. A test failure could be rooted in any of those tools in the stack.

Automated reasoning, in contrast, is usually applied to just one layer of that stack — the source code itself, or sometimes the compiler or the microprocessor. What we find so valuable about reasoning is it allows us to clearly define both what we do know and what we do not know about the layer under inspection.

Furthermore, the models of the surrounding environment (e.g., the compiler or the procedure calling our procedure) used by the automated-reasoning tool make our assumptions very precise. Separating the layers of the computational stack helps make better use of our time, energy, and money and the capabilities of the tools today and tomorrow.

Unfortunately, we will almost always need to make assumptions about something when using automated reasoning — for example, the principles of physics that govern our silicon chips. Thus, testing will never be fully replaced. We will want to perform end-to-end testing to try and validate our assumptions as best we can.

An impossible program

I previously mentioned that automated-reasoning tools sometimes return “Don’t know” rather than “yes” or “no”. They also sometimes run forever (or time out), thus never returning an answer. Let’s look at the famous "halting problem" program, in which we know tools cannot return “yes” or “no”.

Imagine that we have an automated-reasoning API, called terminates, that returns “yes” if a C function always terminates or “no” when the function could execute forever. As an example, we could build such an API using the tool described here (shameless self-promotion of author’s previous work). To get the idea of what a termination tool can do for us, consider two basic C functions, g (from above),

void g(int x, int y) {
   if (y > 0)
      while (x > y)
         x = x - y;
}

and g2:

void g2(int x, int y) {
   while (x > y)
      x = x - y;
}

For the reasons we have already discussed, the function g always returns control back to its caller, so terminates(g) should return true. Meanwhile, terminates(g2) should return false because, for example, g2(5, 0) will never terminate.

Now comes the difficult function. Consider h:

void h() {
   if terminates(h) while(1){}
}

Notice that it's recursive. What’s the right answer for terminates(h)? The answer cannot be "yes". It also cannot be "no". Why?

Imagine that terminates(h) were to return "yes". If you read the code of h, you’ll see that in this case, the function does not terminate because of the conditional statement in the code of h that will execute the infinite loop while(1){}. Thus, in this case, the terminates(h) answer would be wrong, because h is defined recursively, calling terminates on itself.

Similarly, if terminates(h) were to return "no", then h would in fact terminate and return control to its caller, because the if case of the conditional statement is not met, and there is no else branch. Again, the answer would be wrong. This is why the “Don’t know” answer is actually unavoidable in this case.

The program h is a variation of examples given in Turing’s famous 1936 paper on decidability and Gödel’s incompleteness theorems from 1931. These papers tell us that problems like the halting problem cannot be “solved”, if bysolved” we mean that the solution procedure itself always terminates and answers either “yes” or “no” but never “Don’t know”. But that is not the definition of “solved” that many of us have in mind. For many of us, a tool that sometimes times out or occasionally returns “Don’t know” but, when it gives an answer, always gives the right answer is good enough.

This problem is analogous to airline travel: we know it’s not 100% safe, because crashes have happened in the past, and we are sure that they will happen in the future. But when you land safely, you know it worked that time. The goal of the airline industry is to reduce failure as much as possible, even though it’s in principle unavoidable.

To put that in the context of automated reasoning: for some programs, like h, we can never improve the tool enough to replace the "Don't know" answer. But there are many other cases where today's tools answer "Don't know", but future tools may be able to answer "yes" or "no". The modern scientific challenge for automated-reasoning subject-matter experts is to get the practical tools to return “yes” or “no” as often as possible. As an example of current work, check out CMU professor and Amazon Scholar Marijn Heule and his quest to solve the Collatz termination problem.

Another thing to keep in mind is that automated-reasoning tools are regularly trying to solve “intractable” problems, e.g., problems in the NP complexity class. Here, the same thinking applies that we saw in the case of the halting problem: automated-reasoning tools have powerful heuristics that often work around the intractability problem for specific cases, but those heuristics can (and sometimes do) fail, resulting in “Don’t know” answers or impractically long execution time. The science is to improve the heuristics to minimize that problem.

Nomenclature

A host of names are used in the scientific literature to describe interrelated topics, of which automated reasoning is just one. Here’s a quick glossary:

  • logic is a formal and mechanical system for defining what is true and untrue. Examples: propositional logic or first-order logic.
  • theorem is a true statement in logic. Example: the four-color theorem.
  • proof is a valid argument in logic of a theorem. Example: Gonthier's proof of the four-color theorem
  • mechanical theorem prover is a semi-automated-reasoning tool that checks a machine-readable expression of a proof often written down by a human. These tools often require human guidance. Example: HOL-light, from Amazon researcher John Harrison
  • Formal verification is the use of theorem proving when applied to models of computer systems to prove desired properties of the systems. Example: the CompCert verified C compiler
  • Formal methods is the broadest term, meaning simply the use of logic to reason formally about models of systems. 
  • Automated reasoning focuses on the automation of formal methods. 
  • semi-automated-reasoning tool is one that requires hints from the user but still finds valid proofs in logic. 

As you can see, we have a choice of monikers when working in this space. At Amazon, we’ve chosen to use automated reasoning, as we think it best captures our ambition for automation and scale. In practice, some of our internal teams use both automated and semi-automated reasoning tools, because the scientists we've hired can often get semi-automated reasoning tools to succeed where the heuristics in fully automated reasoning might fail. For our externally facing customer features, we currently use only fully automated approaches.

Next steps

In this essay, I’ve introduced the idea of automated reasoning, with the smallest of toy programs. I haven’t described how to handle realistic programs, with heap or concurrency. In fact, there are a wide variety of automated-reasoning tools and techniques, solving problems in all kinds of different domains, some of them quite narrow. To describe them all and the many branches and sub-disciplines of the field (e.g. “SMT solving”, “higher-order logic theorem proving”, “separation logic”) would take thousands of blogs posts and books.

Automated reasoning goes back to the early inventors of computers. And logic itself (which automated reasoning attempts to solve) is thousands of years old. In order to keep this post brief, I’ll stop here and suggest further reading. Note that it’s very easy to get lost in the weeds reading depth-first into this area, and you could emerge more confused than when you started. I encourage you to use a bounded depth-first search approach, looking sequentially at a wide variety of tools and techniques in only some detail and then moving on, rather than learning only one aspect deeply.

Suggested books:

International conferences/workshops:

Tool competitions:

Some tools:

Interviews of Amazon staff about their use of automated reasoning:

AWS Lectures aimed at customers and industry:

AWS talks aimed at the automated-reasoning science community:

AWS blog posts and informational videos:

Some course notes by Amazon Scholars who are also university professors:

A fun deep track:

Some algorithms found in the automated theorem provers we use today date as far back as 1959, when Hao Wang used automated reasoning to prove the theorems from Principia Mathematica.

Research areas

Related content

US, NY, New York
Are you excited about applying machine learning and statistical modeling to real-world systems that serve millions of customers? Amazon Connect is a cloud-based contact center service that helps businesses deliver personal, efficient customer experiences. Our team of scientists and engineers builds the AI and ML capabilities that power contact center operations and optimization. We are looking for a Senior Applied Scientist to tackle scientifically complex challenges in areas such as stochastic modeling, queueing theory, anomaly detection, and optimization. In this role, you will design and deploy novel ML models and algorithms that directly improve how businesses interact with their customers. You will work at the intersection of research and production, turning ambiguous problems into scalable solutions that shape the future of cloud-based customer service. Key job responsibilities - Design and deploy novel machine learning models and algorithms to solve complex problems in contact center operations, including forecasting, routing optimization, and anomaly detection. - Lead the scientific agenda for your team by identifying new research opportunities, proposing initiatives, and driving them from concept through production deployment. - Collaborate with engineering teams to architect and implement scalable ML systems, personally contributing significant portions of the critical scientific components. - Mentor fellow scientists and engineers through code reviews, design discussions, and scientific guidance, raising the overall technical bar of the team. - Evaluate and advance the team's ML methodology by benchmarking against current academic and industry research, and by publishing findings internally and externally when appropriate. A day in the life You might start your morning reviewing experiment results from a new forecasting model, then join a design session with engineers to discuss how to integrate it into the production pipeline. After lunch, you could be whiteboarding a novel approach to a queueing optimization problem with a fellow scientist, followed by a code review for a teammate. You will regularly present your research findings to stakeholders across the organization and contribute to the team's publication efforts. About the team Our team within Amazon Connect focuses on building intelligent, ML-driven capabilities that help businesses run their contact centers more effectively. We work closely with product, engineering, and science partners to turn research ideas into features that customers rely on every day. We value curiosity, collaboration, and scientific rigor, and we are investing in new AI capabilities that will continue to transform the customer service industry. If you want to see your research make a tangible impact at scale, this is the place to do it.
IN, HR, Gurugram
Building large-scale forecasting and optimization systems that power Amazon’s global transportation network and directly impact customer experience and cost. Key job responsibilities 1. Guide model and system design across a range of techniques, including tree-based models, deep learning (LSTMs, transformers), LLMs, and reinforcement learning. 2. Ensure models are production-ready, scalable, and robust through close partnership with stakeholders. 3. Partner with Product, Operations, and Engineering leaders to enable proactive decision-making and corrective actions. 4 Own end-to-end business metrics, directly influencing customer experience, cost optimization, and network reliability. 5. Help contribute to the broader ML community through publications, conference submissions, and internal knowledge sharing.
US, WA, Seattle
What happens when you give AI the ability to remember? Not cached responses — real structured memory that compounds over time and transfers across contexts. We're building the science behind this, and we need researchers who want to own the problem end-to-end. This is a founding role on a new team. You won't inherit models or maintain someone else's pipeline. You'll define the research direction, run experiments at scale, and ship what works directly to production. Key job responsibilities As an Applied Scientist in our team, you will be responsible for the research, design, and development of new AI technologies for knowledge acquisition and retrieval. You will adopt or invent new machine learning and analytical techniques in the realm of information retrieval, knowledge representation, and large language models. Specific responsibilities include: 1. Design and implement novel approaches to knowledge extraction from heterogeneous, unstructured data sources at organizational scale. 2. Build retrieval systems that match intent to relevant knowledge across domains — solving the "right memory at the right time" problem. 3. Own the quality of memory generation: what to capture, how to structure it, when to surface it, and when to let it decay. 4. Run large-scale experiments using Amazon's compute infrastructure and massive real-world datasets. 5. Develop evaluation frameworks for a system where "quality" means something new — right knowledge, right context, right confidence level. 6. Collaborate with engineers to move from research prototype to production system in weeks, not quarters. 7. Invent new approaches to temporal knowledge management — how memories age, conflict, and compound over time. 8. Publish and patent novel approaches to knowledge acquisition and retrieval at top-tier venues. A day in the life You will solve real-world problems by getting and analyzing large amounts of data, generate insights and opportunities, execute experiments, and develop statistical and ML models. The team is driven by business needs, which requires collaboration with other Scientists, Engineers, and Product Managers across the organization. You get to influence stakeholders with clear communication skills. You innovate on behalf of the customer and strategically build features. You will mentor junior members and help them grow. About the team We're a new team within Personalization, focused on a different kind of recommendation: not "what product should this customer see" but "what knowledge should this AI use right now." Same scale, same rigor, entirely new problem space. The science is at the intersection of information retrieval, knowledge representation, and LLM reasoning — and the right approach hasn't been established yet. The team values innovation and offers a safe place to try, fail, and learn while fostering a culture of continuous improvement. Everyone is a leader and owner for everything we do as a team. We offer creative space with an entrepreneurial work environment focusing on customer obsession.
ES, B, Barcelona
How does Amazon decide which fulfillment center ships your order, which truck carries it, and how to keep promises across hundreds of millions of packages daily? How does it decide how many trucks and how much labor are required to ship orders across the network? SCOT Fulfillment Optimization (FO) owns the optimization and forecasting science behind these decisions. We are seeking Applied Scientists to join the FO Science & Tech team in Barcelona (alternatively: Luxembourg or London) with a strong academic background in optimization, machine learning, and/or time-series forecasting. • You will design and build state-of-the-art machine learning and optimization models that power Amazon's fulfillment decisions at an unprecedented scale across two core scientific pillars: • Large-Scale Optimization and Planning: Designing planning systems for order assignment and resource utilization, while balancing multi-objective cost-speed tradeoffs to enable controllers to steer millions of shipments per hour optimally. • Demand Forecasting & Predictive ML: Developing time-series forecasts for customer demand, incorporating contextual information (weather, sales, order properties), and modeling uncertainty for core planning systems. Basic qualifications • PhD in Operations Research, Applied Mathematics, Computer Science, or related field (or equivalent experience) • Strong programming skills (Python preferred; experience with optimization solvers a plus) • Research experience in one or more: • Large-scale mathematical programming (LP, MIP, decomposition methods) • Combinatorial optimization (assignment, scheduling, network flows) • Multi-objective optimization and control • Large-scale time-series forecasting (GenAI models, probabilistic forecasting, uncertainty quantification) • Causal inference (spatiotemporal causal modeling, offline policy evaluation) Preferred qualifications • Experience building optimization systems that run in production at scale • Being comfortable with ambiguity and fast iteration cycles • Publications in relevant venues Key job responsibilities Design and implement optimization and forecasting models for large-scale fulfillment problems, from order assignment to network flow control. Build research prototypes end-to-end: from problem formulation through scalable implementation to production validation. Analyse complex tradeoffs (cost, speed, capacity, accuracy) and translate findings into actionable recommendations for leadership and operations teams. Collaborate with engineers to bring science solutions into production systems serving millions of customer orders daily. A day in the life You formulate an optimization or forecasting problem on a whiteboard with teammates, then prototype it in Python with real data by the afternoon. You run experiments against production-scale datasets, iterate on the model, and present results to stakeholders who will use them to make network decisions next week. Some days you dive deep into solver performance; other days you're explaining a Pareto frontier to an operations leader. You collaborate with large engineering and product teams to bring your solutions into systems serving millions of customers. Alongside fast-turnaround prototypes, you own long-term research bets, the kind that reshape how Amazon's fulfillment network operates at scale. Your work goes live. About the team SCOT Fulfillment Optimization Science & Tech (FO SnT) is the applied research team behind Amazon's fulfillment decision-making systems. We decide how orders get assigned to warehouses, how capacity is allocated across the network, and how cost and speed tradeoffs are managed in real time, at global scale. Our models influence billions of euros in annual operational spend. They protect sites from overload during peak, reduce transportation costs and CO2 emissions, and ensure customers receive their packages when promised. Leadership relies on our science to make investment decisions worth hundreds of millions. We are practitioners of large-scale optimization: MIP formulations, decomposition methods, approximation algorithms, and parallelisation. We use machine learning where it sharpens our decisions, including forecasting, learned heuristics, and multi-armed bandits. We pick the right tool for the problem, not the fashionable one. You will work alongside Senior and Principal scientists, and collaborate with Amazon Scholars and academic partners who bring frontier research into our applied problems. We code our prototypes to be production-ready and collaborate with large engineering teams to ship systems, not papers. Above all, we have fun solving hard real-world problems at real-world speed, failing, learning, and shipping along the way.
US, CA, Sunnyvale
We are seeking Data Scientist II with strong science application skills to join our Device Economics team. This role will focus primarily on Amazon's innovative devices and services (e.g. Echo Family of Devices), working at the intersection of economic modeling, forecasting science, and business strategy. The ideal candidate will be responsible for pre-launch forecasts, annualized overall forecasts, identifying substitution patterns, and partnering closely with product managers and marketing managers to understand the evolution of the Devices portfolio. Key job responsibilities Forecasting & Modeling 1. Develop and maintain pre-launch forecasts and annualized overall forecasts for Amazon Devices 2. Identify and model substitution patterns across the device portfolio 3. Build economic and financial models to support demand planning and business decisions 4. Formulate relevant analytical frameworks to address key economic issues in device forecasting Science Communication & Collaboration 1. Explain complex science models and methodologies to non-technical stakeholders including product managers and marketing managers 2. Collaborate with economists, data scientists, and applied scientists across Decision Science 3. Present results of analyses to cross-functional teams and leadership 4. Build trust in science models and forecast outputs with product teams Innovation & Strategic Thinking 1. Think creatively about ways that leading-edge analytics and emerging data sources can address Devices' most pressing business challenges 2. Help internal teams leverage analytic tools to better manage innovation 3. Conduct empirical studies and perform quantitative and qualitative research 4. Identify opportunities to improve forecasting accuracy and business impact Cross-Functional Partnership 1. Work closely with product managers and marketing managers to understand portfolio evolution and business strategy 2. Support DSO leadership in quarterly business reviews and strategic planning A day in the life Your days will be split between refining and building models and working with business leaders to interpret them. You own science-based forecasts that can directly impact Amazon's bottom line on the order of multi-million dollar decisions. - You will perform model refreshes or updates to analyses as needed; and, - You will be expected to develop new techniques to process large data sets, address quantitative problems, and contribute to design of automated systems. About the team The Decision Science team within DSO (Device Supply Organization) is responsible for forecasting and demand planning initiatives across Amazon Devices. The DSO team of 300+ engineers, scientists, and PMs applies quantitative methods and data-driven approaches to replace judgment-based decisions with science-driven forecasts. Decision Science focuses on lifetime demand forecasting using econometric and machine learning models for rapid reforecasting, mix adjustments, and portfolio management for new product launches. We also inform to go/no-go investment decision for new product initiatives
US, WA, Seattle
As part of the AWS Applied AI Solutions organization, we have a vision to provide business applications, leveraging Amazon's unique experience and expertise, that are used by millions of companies worldwide to manage day-to-day operations. We will accomplish this by accelerating our customers' businesses through delivery of intuitive and differentiated technology solutions that solve enduring business challenges. We blend vision with curiosity and Amazon's real-world experience to build opinionated, turnkey solutions. Where customers prefer to buy over build, we become their trusted partner with solutions that are no-brainers to buy and easy to use. We are looking for an Applied Scientist to join our team that is building enterprise applications leveraging machine learning, generative AI, and agentic AI to help millions of companies worldwide manage their day-to-day supply chain operations. Our mission is to accelerate our customers' businesses through intuitive, differentiated technology solutions that solve enduring supply chain challenges. We blend strategic vision with curiosity and Amazon's real-world operational experience to build opinionated, turnkey solutions that make the 'buy versus build' decision a no-brainer for our customers. As an Applied Scientist, you will design and develop machine learning models and algorithms that power intelligent supply chain applications at global scale. You will work at the intersection of research and real-world product impact, translating scientific advances into production systems that serve millions of customers. We operate like a startup within AWS, offering you the opportunity to tackle complex challenges while working with the latest technologies in deep learning, large language models, and optimization. If you are passionate about pushing the boundaries of applied science, thrive in ambiguous problem spaces, and want to shape the future of supply chain intelligence while having the backing of AWS's extensive resources, we want to hear from you. Key job responsibilities - Design, develop, and deploy machine learning models for demand forecasting, inventory optimization, anomaly detection, and supply chain decision-making. - Develop generative AI and agentic AI solutions that automate complex supply chain workflows and deliver intelligent, adaptive recommendations to customers. - Formulate real-world business problems as machine learning problems; define data requirements, model architectures, evaluation metrics, and experimentation frameworks. - Drive end-to-end applied science projects from ideation through experimentation, offline evaluation, A/B testing, and production deployment at scale. - Collaborate with engineering, product management, and business stakeholders to translate scientific capabilities into customer-facing product features, and mentor other scientists to raise the team's technical bar. A day in the life You will start many mornings reviewing experiment results and model metrics before joining a science sync where you and your teammates discuss progress, debug tricky modeling issues, and brainstorm new approaches. From there, you may spend focused time writing and testing model code in Python or PyTorch, running offline evaluations, or preparing an A/B test for a new forecasting algorithm. Expect regular working sessions with software engineers to integrate your models into production services, and occasional deep-dive reviews where you present your scientific approach and findings to the broader team. About the team The AWS Applied AI Solutions team builds enterprise applications that leverage Amazon's operational expertise to solve real-world supply chain challenges for millions of companies. We operate like a startup within AWS, moving fast and shipping iteratively with modern AI technologies. We invest in your growth through mentorship from experienced scientists, conference publication support, and internal science reading groups. If your career hasn't followed a traditional path, we encourage you to apply — we value varied experiences and perspectives.
US, NY, New York
We are seeking a Lead Applied Scientist to drive the development of next-generation manipulation and autonomy systems for robots operating in complex, real-world environments. This role is designed for an exceptional technical leader with a strong research background and a passion for translating cutting-edge ideas into working robotic systems. You will play a central role in defining the technical direction of our manipulation and autonomy stack, from problem formulation and algorithm design to system integration and real-world deployment. While this role is hands-on and deeply technical, it is also expected to evolve toward technical leadership and team building over time. Key job responsibilities - Lead research and development of manipulation and autonomy systems for robots, including planning, control, learning, and closed-loop execution - Design and implement algorithms, especially focused around autonomy and interaction with dynamic environments - Work closely with perception, motor control, hardware, and systems teams to build tightly integrated autonomy pipelines - Define evaluation methodologies, benchmarks, and simulation-to-real workflows for manipulation and autonomy - Stay deeply engaged with the research community, selectively incorporating state-of-the-art techniques into deployed systems - Mentor and guide other researchers and engineers, help set technical direction, and contribute to team growth and research culture - Lead technical projects from conception through production deployment - Bridge research initiatives with practical engineering implementation About the team Fauna Robotics, an Amazon company, is building capable, safe, and genuinely delightful robots for everyday life. Our goal is simple: make robots people actually want to live and interact with in everyday human spaces. We believe that future won’t arrive until building for robotics becomes far more accessible. Today, too much effort is spent reinventing the fundamentals. We’re changing that by developing tightly integrated hardware and software systems that make it faster, safer, and more intuitive to create real-world robotic products. Our work spans the full stack: mechanical design, control systems, dynamic modeling, and intelligent software. The focus is not just functionality, but experience. We’re building robots that feel responsive, expressive, and genuinely useful. At Fauna, you’ll work at the frontier of this space, helping define how robots move, manipulate, and interact with people in natural environments. It’s an opportunity to solve hard problems across hardware and software with a team focused on making robotics accessible and joyful to build. If you care about making robotics real for everyone and building systems that are as delightful as they are capable, we’re interested in hearing from you.
US, WA, Seattle
As part of the AWS Applied AI Solutions organization, we have a vision to provide end user applications, leveraging Amazon's unique experience and expertise, that are used by millions of companies worldwide to manage day-to-day operations. We will accomplish this by accelerating our customers' businesses through delivery of intuitive and differentiated technology solutions that solve enduring business challenges. We blend vision with curiosity and Amazon's real-world experience to build opinionated, turnkey solutions. Where customers prefer to buy over build, we become their trusted partner with solutions that are easy to adopt and easy to use. The Team Join the next science revolution at AWS Life Sciences Applied AI Solutions, where you'll work alongside world-class scientists to build AI that transforms how therapeutics are discovered, developed, and brought to patients. We're out to revolutionize how medicines are discovered, developed, and brought to patients, powered by a new generation of AI. Our team tackles some of the hardest open problems at the intersection of frontier AI and life sciences. We apply biological foundation models, large language models, and agentic reasoning systems to life sciences problems, then put them into the hands of customers as applications and managed services they can fine-tune, tailor, and deploy on their own data. The science challenges are deep: how do you design agentic systems that reason correctly over complex biological, regulatory, and clinical logic? How do you enable customers to tailor foundation models to their proprietary data and get better outputs with less effort? How do you adapt models to reason faithfully in high-stakes scientific and regulatory domains? Today we're focused on two areas. In clinical trials, we're building AI that automates and optimizes regulatory and clinical development workflows. In drug design, our products (including Amazon Bio Discovery) accelerate discovery by giving bench scientists AI-guided protein engineering and antibody design capabilities. We combine frontier research with production-scale delivery to put breakthrough science into the hands of customers solving humanity's hardest problems. We value scientific rigor, encourage publication, and support conference participation. If you want to do research that ships, this is the team. The Role We are seeking an Applied Scientist to build the models and methods behind our life sciences AI products, with a primary focus on clinical trial operations and agentic reasoning. You will design, train, and evaluate systems that reason over complex clinical and operational logic, and ship them into products customers use directly. You will work closely with senior and principal scientists on well-scoped research problems, own your results end to end, and see your work reach production. This role combines expertise in LLM reasoning and agentic AI with applied impact in life sciences. You will work on how large language models reason, plan, and act in complex scientific domains, while applying domain knowledge to ensure models produce scientifically valid outputs. The problems span multiple fronts: - How do you build LLM-based agentic systems that correctly reason over clinical protocols, regulatory standards, and complex multi-step operational workflows? - How do you evaluate agent reliability and faithfulness rigorously enough to trust in high-stakes clinical settings? - How do you develop model customization methods (fine-tuning, retrieval augmentation, domain adaptation) that let customers get strong results from foundation models on their own data? You will focus on clinical trial operations (agentic automation, structured reasoning, evaluation, domain adaptation), with opportunities to contribute across drug discovery (protein engineering, antibody design) as the portfolio grows. You will own end-to-end scientific solutions from research through production, and your work will directly shape the tools that scientists use daily. Key job responsibilities - Design, train, fine-tune, and evaluate LLM-based agentic systems that reason over clinical protocols, regulatory standards, and operational workflows - Build rigorous evaluation harnesses and benchmarks to measure agent reliability, faithfulness, and failure modes in high-stakes domains - Develop model customization methods (fine-tuning, RLHF, retrieval augmentation, domain adaptation) that help customers get better outputs on their own data with less effort - Contribute to graph-based and causal modeling approaches for clinical trial operations - Partner with Life Sciences domain experts, product, and engineering to translate scientific challenges into shipped capabilities - Own experiments end to end: problem framing, implementation, evaluation, iteration, and hand-off to production - Publish at top-tier venues where the work supports it - Contribute to drug discovery efforts (protein engineering, antibody design) as opportunities arise A day in the life - Design and run an experiment to validate a new agentic reasoning or fine-tuning method, then ship it as a capability customers can use - Diagnose why a model is failing on a new class of inputs and implement a fix to unblock a delivery milestone - Build or extend an evaluation benchmark to measure how faithfully an agent reasons over clinical logic - Meet with domain experts to scope what the next model release needs to do - Review results with a senior scientist, sharpen the approach, and get it over the finish line - Prototype a new idea that could become the next capability in the product About the team AWS Solutions As part of the AWS solutions organization, we have a vision to provide business applications, leveraging Amazon's unique experience and expertise, that are used by millions of companies worldwide to manage day-to-day operations. We will accomplish this by accelerating our customers' businesses through delivery of intuitive and differentiated technology solutions that solve enduring business challenges. we blend vision with curiosity and Amazon's real-world experience to build opinionated, turnkey solutions. Where customers prefer to buy over build, we become their trusted partner with solutions that are no-brainers to buy and easy to use. Diverse Experiences AWS values diverse experiences. Even if you do not meet all of the preferred qualifications and skills listed in the job description, we encourage candidates to apply. If your career is just starting, hasn’t followed a traditional path, or includes alternative experiences, don’t let it stop you from applying. Why AWS? Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform. We pioneered cloud computing and never stopped innovating — that’s why customers from the most successful startups to Global 500 companies trust our robust suite of products and services to power their businesses. Inclusive Team Culture AWS values curiosity and connection. Our employee-led and company-sponsored affinity groups promote inclusion and empower our people to take pride in what makes us unique. Our inclusion events foster stronger, more collaborative teams. Our continual innovation is fueled by the bold ideas, fresh perspectives, and passionate voices our teams bring to everything we do. Mentorship & Career Growth We’re continuously raising our performance bar as we strive to become Earth’s Best Employer. That’s why you’ll find endless knowledge-sharing, mentorship and other career-advancing resources here to help you develop into a better-rounded professional. Work/Life Balance We value work-life harmony. Achieving success at work should never come at the expense of sacrifices at home, which is why we strive for flexibility as part of our working culture. When we feel supported in the workplace and at home, there’s nothing we can’t achieve.
US, CA, Pasadena
As a Senior Quantum Applied Scientist on our Device team, you will be a technical authority and driving force in the design and measurements of novel superconducting qubits. You will lead detailed simulation and measurement efforts to explain experimental results, inform new qubit designs, and optimize device performance, working collaboratively with our design, fabrication, processor, and exploratory research teams. This is a role with significant room for innovation: you will play a key role in finding paths towards more performant devices. We are looking for a seasoned researcher with deep expertise in superconducting circuit physics plus a proven track record of bridging design, simulation, and measurement. Success in this role requires both technical depth and a genuine passion for applied, collaborative work. The ideal candidate will excel at communication across disciplines — translating detailed analyses into actionable guidance for engineering teams — and will bring the experience and judgment to identify innovations that will have the greatest impact. Key job responsibilities • Develop simulations to predict device performance, then design and measure devices that leverage the understood scalings. • Reduce the gap between simulated predictions and measurements by building more accurate models. • Communicate scientific findings across the CQC, and, when appropriate, share results externally via conference presentations and publications in scientific journals • Identify and evaluate emerging research developments that could impact design decisions About the team The Amazon Center for Quantum Computing (CQC) is a multi-disciplinary team of scientists, engineers, and technicians, on a mission to develop a fault-tolerant quantum computer.
US, CA, Pasadena
The Amazon Web Services (AWS) Center for Quantum Computing (CQC) is a multi-disciplinary team of theoretical and experimental physicists, materials scientists, and hardware and software engineers on a mission to develop a fault-tolerant quantum computer. Throughout your internship journey, you'll have access to unparalleled resources, including state-of-the-art computing infrastructure, cutting-edge research papers, and mentorship from industry luminaries. This immersive experience will not only sharpen your technical skills but also cultivate your ability to think critically, communicate effectively, and thrive in a fast-paced, innovative environment where bold ideas are celebrated. Join us at the forefront of applied science, where your contributions will shape the future of Quantum Computing and propel humanity forward. Seize this extraordinary opportunity to learn, grow, and leave an indelible mark on the world of technology. Amazon has positions available for Quantum Research Science and Applied Science Internships in San Francisco, CA; Santa Clara, CA; Pasadena, CA; and Boston, MA. We are particularly interested in candidates with expertise in any of the following areas: superconducting qubits, cavity/circuit QED, quantum optics, open quantum systems, superconductivity, electromagnetic simulations of superconducting circuits, microwave engineering, benchmarking, quantum error correction, fabrication, etc. Key job responsibilities In this role, you will work alongside global experts to develop and implement novel, scalable solutions that advance the state-of-the-art in the areas of quantum computing. You will tackle challenging, groundbreaking research problems, work with leading edge technology, focus on highly targeted customer use-cases, and launch products that solve problems for Amazon customers. The ideal candidate should possess the ability to work collaboratively with diverse groups and cross-functional teams to solve complex problems and to communicate research findings clearly. A successful candidate will be a self-starter, comfortable with ambiguity, with strong attention to detail and the ability to thrive in a fast-paced, ever-changing environment. Leverage AI-powered tools where applicable to accelerate research, experimentation, and prototyping. Critically review and validate outputs from AI tools and automated systems. About the team Diverse Experiences AWS values diverse experiences. Even if you do not meet all of the qualifications and skills listed in the job description, we encourage candidates to apply. If your career is just starting, hasn’t followed a traditional path, or includes alternative experiences, don’t let it stop you from applying. Why AWS? Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform. We pioneered cloud computing and never stopped innovating — that’s why customers from the most successful startups to Global 500 companies trust our robust suite of products and services to power their businesses. Inclusive Team Culture Here at AWS, it’s in our nature to learn and be curious. Our employee-led affinity groups foster a culture of inclusion that empower us to be proud of our differences. Ongoing events and learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences, inspire us to never stop embracing our uniqueness. Mentorship & Career Growth We’re continuously raising our performance bar as we strive to become Earth’s Best Employer. That’s why you’ll find endless knowledge-sharing, mentorship and other career-advancing resources here to help you develop into a better-rounded professional. Work/Life Balance We value work-life harmony. Achieving success at work should never come at the expense of sacrifices at home, which is why we strive for flexibility as part of our working culture. When we feel supported in the workplace and at home, there’s nothing we can’t achieve in the cloud.