Correcting Common Async/Await Mistakes in .NET 10 - Brandon Minnick - NDC London 2026

Correcting Common Async/Await Mistakes in .NET 10 - Brandon Minnick - NDC London 2026

🎙 Brandon Minnick 👥 227K 📅 February 24, 2026 ⏱ 64 min 👁 4K 📄 tutorial 🧭 2026-08-13
Available in: English (current) Français

Keywords

asyncawaitstate machineexception handlingperformance

Summary

Brandon Minnick’s talk at NDC London 2026 addresses common async/await mistakes in .NET. He begins by explaining the underlying mechanics of async/await, showing how the compiler transforms async methods into state machines. He uses a simple example to illustrate thread switching and the role of awaiters. He then highlights a critical pitfall: unawaited tasks can swallow exceptions, leading to unpredictable app behavior. He demonstrates this with a real-world scenario and emphasizes the importance of always awaiting tasks. The talk includes a live refactoring session of a .NET MAUI app, fixing bad async practices. He covers performance optimizations, such as the compiler’s use of structs for state machines in release mode, and discusses the impact of async on app size. He also provides resources for further learning, including his website and open-source samples. The session is practical and aimed at developers with some C# experience, offering actionable advice to improve code reliability and performance.

153 words

Critical Evaluation

Value of the Information & Strength of the Argument

The talk provides valuable insights into the internals of async/await, which are often misunderstood. The speaker’s argumentation is solid, based on compiler-generated code analysis and practical examples. He effectively demonstrates the consequences of not awaiting tasks, using a relatable mobile app scenario. The live refactoring adds practical value, showing real-world fixes. The explanation of the state machine is thorough and helps demystify a complex topic. The emphasis on exception handling is crucial and well-argued, as it addresses a common source of bugs. The talk also touches on performance and app size, providing a holistic view. Overall, the value is high for developers seeking to deepen their understanding and avoid common pitfalls.

Scientific Rigor, Source Quality, Title Accuracy

The talk is scientifically rigorous in its technical explanations, relying on compiler-generated code and official .NET behavior. However, it lacks explicit citations to external sources, aside from mentioning his website and Sharplab.io. The title accurately reflects the content, focusing on correcting common mistakes. The speaker’s credibility is established through his experience and the practical nature of the talk. The absence of formal references is a minor weakness, but the content is based on verifiable technical facts. The talk’s structure is clear, and the examples are well-chosen. Overall, the rigor is high, though not academic.

220 words

Title / Content Match

The title accurately reflects the content, which focuses on correcting common async/await mistakes in .NET.

Quality & Reliability

8/10

The talk is based on the speaker's extensive experience and a deep dive into compiler-generated code, with practical examples. The technical content is accurate and well-explained, though it lacks formal citations and peer-reviewed sources.

Key Moments

Cited Sources

  • NDC Conferences — Conference organizer's website, mentioned for upcoming events.
  • NDC London — Specific conference website, mentioned for future events.

Concurring Sources

Contribution & Novelties

The talk provides a clear, in-depth explanation of the compiler-generated state machine for async/await, which is often a black box for developers. It highlights the critical issue of unawaited tasks hiding exceptions, a common mistake even among senior engineers. The practical refactoring of a real app demonstrates concrete improvements in performance and reliability. The talk also emphasizes the importance of understanding the underlying mechanics to write better async code.

Pour aller plus loin :

  • Async/await in C# — Official Microsoft documentation on async programming.
  • State Machine in C# — General concept of state machines, relevant to the compiler-generated state machine.
  • Sharplab.io — Online tool to view compiler-generated code, as mentioned in the talk.

113 words

Radar Profile

The radar profile shows high scores in information quantity, quality, technical level, and reliability, indicating a well-rounded and informative talk. The talk is technically deep and reliable, with a strong emphasis on practical application.

Reliability 8/10