TM★
← All 35 projects

Microsoft Developer Certificates

Microsoft2024
C#ASP.NET CoreBlazorJWTSwaggerGitHub Copilotcurriculum designvideo production

Curriculum, working code, and on-camera instruction for Microsoft's .NET developer certificates on Coursera, including the first lessons that teach a learner to code alongside AI.

The first time I tried to learn .NET, it didn't go great. I have a real habit of wanting to build ambitious projects, and in my early days that meant I often tackled things so far beyond my knowledge that I couldn't understand them at all. .NET was one of those moments. This was back in my MISOM days, where I was working as a software developer, nobody on the team could do front-end work, and I wanted to learn to build web apps. I'd taken a little basic programming, but I didn't yet understand object-oriented programming. I really just knew operations and control structures, and jumping straight into building MVC applications was doomed from the start. The foundation wasn't there, and I didn't know it at the time. What the attempt did do was expose me to servers, clients, and the basics of the web. Which is why this project still makes me smile. Years later, Microsoft ships professional certificates teaching .NET to the world, and I'm one of the people on camera explaining it.

The engagement came through Aptly, where I work on a course team. Microsoft had reached out wanting to build these certificates, and they'd had the foresight to see that AI tools were going to be an integral part of how people learn and develop. They wanted to show learners how to use them in their workflows, and to do things like expand their own knowledge with them. An absolutely amazing premise. The ask itself was enormous, the Microsoft Back-End Developer, Front-End Developer, and Full-Stack Developer Professional Certificates on Coursera, eight to twelve courses each. Together the programs would cover essentially all the basics of modern .NET development on the web.

The team had a few different developers, and the most experienced of them had done real .NET work, but not in the modern web stack. So I got tapped early, on the strength of past projects where I'd gone out and learned the thing nobody else knew, to do it again here and be the interpreter for the learner. The team was fluid, we dipped and dodged into projects as needs came up, and I ended up working this one from its very genesis, initial outlines through scripts and demo apps to final video production.

This is where my early history with .NET came in handy. I knew the sticking points and I knew what was confusing, and revisiting them with enough experience to actually understand what was going on meant I could be a bridge between the learner and some genuinely complicated content. Part of .NET's problem is that it has been around a long time and encompasses a lot. There's a huge amount of confusing language around it, enough that a newcomer can drown in vocabulary before writing a single line of C#. I could come at it from the outside, explain it plainly, and point the learner at the end of the river. What do people do now, not ten or fifteen years ago? What does a modern workflow look like? Almost everyone carries baked-in preconceptions of what .NET is, and I did too, but it has come a long way. The ergonomics are far better, the capabilities more flexible. You can still do things the old ways, you can even blend them into your apps, and there are still reasons to, but I advocated that they're not the first tool a learner should reach for. That's the modern modular pipeline .NET has built, because it lets you stand up an application fast and then expand it to accommodate any of the larger .NET paradigms. Build a simple backend server to run an API or feed a web page, then progressively add Razor Pages or full-blown Blazor, wire in dependency injection, or quickly wrap your routes in auth.

I'd been working with AI heavily already, so the AI side of the program landed on me. And I got to live the premise before teaching it. I relearned .NET for this project the way we were about to tell learners to, with AI beside me the whole way, having it read code and explain why you'd reach for this over that. Parts of it were humbling in a funny way. Concepts I'd picked up back then, like MVC, had fallen out of fashion while I wasn't looking.

Probably the most complicated part of the project was Blazor, an absolute monster of a framework and one of the most technically intriguing things I've ever dug into. It's incredibly powerful and incredibly flexible, and there is a lot to understand. It's front end, it's back end, there's complex networking going on, there's WASM, and underneath all of it you still have to understand .NET. These are things even experienced developers struggle with. Finding a way to bridge that knowledge gap, from just learning to program in C# all the way up through Blazor, took a keen eye and careful planning, which is why I'm so glad I was involved in the design from the very beginning.

And while Blazor was the most technically difficult content, one of the hardest problems landed on me for a different reason. I'd been working with AI so heavily that I got tapped to create the on-screen demos of using Copilot. Copilot at the time encompassed a lot, three or four different ways into the chat interface plus the IDE tool, and since learners in an online course can't be expected to pay for a monthly subscription, we had to go with the chat interface, which was free and, I believe, a wrapper on top of GPT at the time. It showed. Anyone who worked with AI in that era remembers how much prompt engineering and hallucination awareness it took, and Copilot was particularly prone to both problems. That posed an interesting issue, because I needed to show learners what the tools could do and demonstrate the pitfalls. These tools are stochastic, not deterministic, and a lesson has to hit the same beat on take one and take eleven. So I ran experiments and got clever about what I could reliably get the model to demonstrate, working and not working. I worked out how to make Copilot hallucinate on cue, take after take, so we could show learners exactly what a hallucination looks like instead of describing it in the abstract. The debugging modules got the same treatment, working API projects with bugs I planted, some that throw, some that quietly return wrong answers, then Copilot on camera reasoning through failures I already knew inside and out. There was a real impulse to build a Potemkin village where the tools just worked. The learner needed the truth, that these tools are imperfect but very powerful. Copilot has changed a lot since we filmed. The habit we taught, treating the AI as a partner you verify instead of an oracle you trust, has not.

This is also why course creators love to lean on slide decks instead of showing real code. We thought it was important to show these tools in action, so everything stood on real, running code. We built actual .NET solutions, dozens of small complete apps, one per lesson, every one of them compiling and runnable: ASP.NET Core Web APIs covering routing, dependency injection, serialization, custom middleware, and Swagger client generation; JWT creation and validation, roles and claims, encryption, and secure storage on the security side; Blazor on the front end. When a learner pauses a video and types along, the code works, because it worked when we filmed it.

My favorite part of the project was getting to be on camera for the first time, which meant finally seeing course development all the way through, beginning to end. I got the full production arc. We shot on a set in California from late 2024 into January 2025, performing my own scripts and some that other people wrote, take after take of live coding under lights, eight hours a day, and learning to read a teleprompter without sounding like a man reading a teleprompter. I absolutely loved it, and enough people told me I have a knack for it that I've started to believe them. I credit my high school theater days, shout-out to Mrs. McLaughlin, and the years of practicing charisma at the farmers market. Being on camera also showed me how the language I'd written into a script shaped the saying of it out loud. It gave me a real appreciation for crafting words that sound natural, and I'm a better script writer to this day because of it.

The certificates are live on Coursera under Microsoft's name. I like to imagine that somewhere right now a learner is pausing a video, typing along with code that runs, and watching an AI hallucinate at the exact moment I designed it to, so they'll recognize the real thing when it happens to them. These learners get to start even earlier than I did, all the way back at C# itself, then up through .NET. I hope this time they pick up what they came for, and don't have to circle back ten years later.

Say hi.

Got a problem that looks like this one? I want it.
Got one so new nobody's even scoped it? I want that one more.