<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7" -->

---
title: Avoiding common pitfalls with async/await - Stephen...
description: Stephen Cleary presents common mistakes developers make with async/await in .NET, covering conceptual misunderstandings (async doesn&#x27;t mean background...
canonical: https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025 | daily.dev
og:description: Stephen Cleary presents common mistakes developers make with async/await in .NET, covering conceptual misunderstandings (async doesn&#x27;t mean background...
og:url: https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7
og:image: https://api.daily.dev/og/posts/Rr0zayws7.png
og:image:alt: Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025

**[NDC Conferences](https://daily.dev/sources/ndc)** · 60 min read · 2 upvotes · 0 comments

## Summary

Stephen Cleary presents common mistakes developers make with async/await in .NET, covering conceptual misunderstandings (async doesn't mean background threads), dangerous patterns (async void, blocking on tasks), and practical pitfalls (fire-and-forget, eliding async/await, misusing Task APIs). He explains how async/await works through state machines, demonstrates proper composition patterns, and provides guidance on cancellation, exception handling, and avoiding deadlocks. The talk emphasizes letting async grow naturally through codebases and using await consistently rather than premature optimization.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=a_O53k9mexk>

## Similar posts on daily.dev

- [Async or Swim: The Complete Guide to Asynchronous .NET](https://daily.dev/posts/async-or-swim-the-complete-guide-to-asynchronous-net-n2fszfnf6) · ITNEXT · 9 upvotes · 1 comments
- [The 5 biggest mistakes iOS Developers make with async/await](https://daily.dev/posts/the-5-biggest-mistakes-ios-developers-make-with-async-await-yjhhegsvd) · SwiftLee · 0 upvotes · 0 comments
- [Demystifying async/await in C\#: The Hidden State Machine](https://daily.dev/posts/demystifying-async-await-in-c-the-hidden-state-machine-ej0npqym4) · C\# Corner · 0 upvotes · 0 comments

---

Tags: [#aspnet](https://daily.dev/tags/aspnet), [#c#](https://daily.dev/tags/c#), [#.net](https://daily.dev/tags/.net)

[View this post on daily.dev](https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025","url":"https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7"},"datePublished":"2026-01-21T10:19:20.015Z","dateModified":"2026-03-15T03:55:58.054Z","description":"Stephen Cleary presents common mistakes developers make with async/await in .NET, covering conceptual misunderstandings (async doesn't mean background...","image":"https://i.ytimg.com/vi/a_O53k9mexk/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/a_O53k9mexk/sddefault.jpg","isAccessibleForFree":true,"articleSection":"NDC Conferences","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"NDC Conferences","logo":"https://media.daily.dev/image/upload/s--SiIyojEj--/f_auto/v1748760369/logos/ndc","url":"https://daily.dev/sources/ndc"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/avoiding-common-pitfalls-with-async-await---stephen-cleary---ndc-copenhagen-2025-rr0zayws7","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aspnet,c#,.net","timeRequired":"PT60M","video":{"@type":"VideoObject","name":"Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025","description":"Stephen Cleary presents common mistakes developers make with async/await in .NET, covering conceptual misunderstandings (async doesn't mean background...","thumbnailUrl":"https://i.ytimg.com/vi/a_O53k9mexk/sddefault.jpg","uploadDate":"2026-01-21T10:19:20.015Z","duration":"PT60M","url":"https://api.daily.dev/r/Rr0zayws7","embedUrl":"https://www.youtube.com/embed/a_O53k9mexk"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"NDC Conferences","item":"https://daily.dev/sources/ndc"},{"@type":"ListItem","position":3,"name":"Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025"}]}
```

