CD Smith logo

CD Smith

Download Resume About Me Blog

Featured

Free resources for .NET developers: Azure interview prep, flashcards and an architecture decision toolkit.

Interview prep

Azure Interview Field Manual

Thirty common Azure interview questions for .NET developers, taught the way a senior engineer would teach a new hire, from fundamentals to architecture.

  • Junior, mid and senior modules with lessons, code and model answers
  • Six-question quizzes and likely follow-ups for every question
  • A 100-question final exam for each level
Open the Field Manual
Flashcards

Azure Recall Deck

Short questions with short answers for quick daily practice. Cards you miss come back sooner, so study time goes where it's needed.

  • 139 cards across 13 topic decks
  • Spaced repetition with progress saved in your browser
  • Pairs with the Azure Interview Field Manual
Start Studying
Architecture

Architecture Decision Toolkit

A practical toolkit for choosing the right architecture and explaining that choice with confidence, whether in a design review or a technical interview.

  • Two decision trees: simplicity-first and complexity-first
  • A side-by-side comparison matrix of common patterns
  • Interview guides with model answers
Open the Toolkit

Blog

.dev notes: practical .NET, C# and Azure guidance, a new post every week. All posts →

  • Oct 11, 2026 · 3 min read

    Running Datadog on Azure App Service

    Last week's agentless logging gets your logs into Datadog. For traces, custom metrics and logs tied to the request that wrote them, App Service has its own Datadog setup, and it's different on Windows and Linux.

    Azure · Datadog · Observability Read post →
  • Oct 4, 2026 · 3 min read

    Agentless logging from .NET to Datadog

    You don't need to install the Datadog Agent to get your .NET logs into Datadog. Two agentless options send them straight over HTTPS, structured and ready to search.

    .NET · Observability · Datadog Read post →
  • Sep 28, 2026 · 2 min read

    Pass your CancellationToken all the way down

    When a caller gives up on a request, your code should stop working on it too. It only takes a parameter, but you have to pass it through every layer.

    .NET · ASP.NET Core · Async Read post →