Stage 1 of 7 · 10 lessons · ~6 months
Your language and how HTTP works
Get fluent in one backend language and its runtime, and learn exactly what happens between a client and your server. Everything later in this roadmap sits on these two things.
Start: The terminal and GitLessons· one lesson for each topic, in this order
- 1The terminal and GitLesson
- 2The dotnet CLI and NuGetLesson
- 3C# syntax, classes and recordsLesson
- 4Collections, generics and LINQLesson
- 5Exceptions and nullable typesLesson
- 6async/await and TasksLesson
- 7DNS: from a name to an addressLesson
- 8TCP connections and TLSLesson
- 9HTTP requests, responses and headersLesson
- 10HTTP methods and status codesLesson
Start with
- GuideFreeLearn C#
Microsoft · Beginner
Official C# tutorials from the language basics through classes, LINQ and async
Practise
Keep handy
Also worth your time
The DNS, TCP, TLS and HTTP steps behind every request your backend will handle
Before moving on: Write a small C# console tool with the dotnet CLI and xUnit tests, push it to GitHub in sensible commits, and explain every line of output from curl -v against a real website.

Learn modern .NET on the cross-platform dotnet CLI, not old .NET Framework tutorials. Take async/await and nullable reference types seriously now; ASP.NET Core leans on both everywhere. For the full .NET developer path, including Blazor and Angular or React front ends, follow the .NET roadmap at sefism.com/roadmaps/dotnet/.