Learning AI

Very excited to say that I have purchased 3-4 books in preparation for the Azure AI 900 certification from Microsoft. I will be creating another series here, distilling down what I learn, even while we keep the API series going.

This is the first certification I’ve ever tried for… no that’s a lie, I was a certified Xamarin developer. But beside that one, this is the first. I’ve never been sure that they are worthwhile (as an autodidact), but AI is so new and changing so fast and so bloody interesting that I couldn’t resist.

I’ll begin with the obvious question: which AI engine? The answer to that was easy; I’ve spent the past three decades working in what is now .NET, and I worked for Microsoft, and I currently work in an all-Microsoft shop. So Azure it is.

The Bits and Pieces

Azure offers 7 major AI services:

  • AI Search
  • Document Intelligence
  • Azure OpenAI Service
  • Vision
  • Speech
  • Language

Over the course of these blog posts, I hope to cover Large Language Models (LLMs) and the following AI sub-topics:

  • Retrieval-Augmented Generation (RAG)
  • Prompt Engineering
  • Natural Language Processing (NLP)

Generative AI

Generative AI is what all the excitement is about. Generative AI can create new content that it has never seen before—even content that has never existed before. Show it a bunch of books (including 29 of mine, thank you very much, Anthropic!) and after a while it can be an intelligent CoPilot™ for your work.

Programming with Generative AI, and especially Agentic Generative AI, is an incredible experience. It allows you to articulate what you want, and then it goes off and does it for you. Specifically, you can say something like (from the previous blog post):

Create an ASP.net API with a sqlserver* backend. SQLServer will have two tables: bookList and Authors, with the booklist id as a foreign key in Authors. Unit tests using xUnit and Moq. Set up Azurite to provide a message queue, have the GET endpoint create a durable function to listen to the message queue, and have POST use an Azure function to add records to the database. Create service classes for the logic and Repository classes for interacting with the Database

and it does. Fast. Incredibly, the code is usually good. I’d say it gets you about 80% of the way there, which is pretty fantastic. You can even tell it general design requirements (even coding styles, etc.) with a copilot-instructions.md file that you put into the .github directory.

The more context you can provide the better, where context includes the assumptions you make such as which unit testing framework to use, what you’ll be doing with this code, how it relates to other code CoPilot knows about, etc.

I’ll come back to Generative AI in future blog posts. I’ll also touch on ASI — Artificial SuperIntelligence, and I’ll point you to the book If Anyone Builds It, Everyone Dies. Which is an amazing title and a book that will scare your pants off.

Finally, I should mention that AI is the foundational technology for Vibe Coding. For more on what this is, see this video or this podcast of the video sound track. You may also want to check out Jeff Blankenburg’s series of blog posts, 31 Days of Vibe Coding which starts here.

More to come in the next post in this series.


* So, is it “a SQL” or “an SQL”? Since I pronounce it SeeQuill, I’ll go with “a SQL.”

Unknown's avatar

About Jesse Liberty

Jesse Liberty has three decades of experience writing and delivering software projects and is the author of 2 dozen books and a couple dozen online courses. His latest book, Building APIs with .NET, is now available wherever you buy your books. Liberty is a Senior SW Engineer for CNH and he was a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Microsoft MVP.
This entry was posted in AI, ChatGPT, Essentials, Programming, Vibe Coding and tagged , . Bookmark the permalink.