Workshops and Courses
I've been running classroom training for software professionals since 2016. Drawing on over 15 years' experience designing large-scale software applications, running software development teams, and speaking at meetups and conferences, I've taught developers to build hypermedia APIs, I've run a fast-track 'introduction to .NET Core' course aimed at developers looking to switch to the Microsoft .NET platform, and I run workshops aimed at helping software professionals improve their communication and presentation skills.
Interested in booking a workshop? Email dylan@dylanbeattie.net and let’s talk.
- Beyond the Basics: Advanced Web Apps with ASP.NET 8
- Introduction to Distributed Systems with C# and .NET
- Vanilla JavaScript Web Components
- Building Static Websites with Jekyll and GitHub Pages
- Real World REST with C# and .NET
- From Keyboard to Keynote: Creating Great Tech Talks
Beyond the Basics: Advanced Web Apps with ASP.NET 8
There's a lot more to ASP.NET 8 than models, views and controllers. In this workshop, you'll learn how to make the most of the advanced features of Microsoft's flagship development platform: from powerful asynchronous programming patterns like channels and callbacks, to support for cutting-edge frontend technologies like Razor Components, Blazor, and SCSS. We'll look at advanced testing strategies for ASP.NET applications, and how to build observability into your .NET apps using OpenTelemetry and ASP.NET Aspire.
- Overview of .NET web application architecture
- Managing data with Entity Framework Core
- HTTP routing in ASP.NET Core: MVC, named routes, areas
- Securing applications with OAuth2 and OpenIDConnect
- Dealing with the real world: Globalization, NodaTime, MailKit
- Building responsive layouts with CSS grids and SASS
Introduction to Distributed Systems with C# and .NET
A hands-on workshop with Dylan Beattie, covering HTTP, REST, GraphQL, gRPC, RabbitMQ, and SignalR: what they do, why you would use them, and how they all work with C# and .NET.
- What is a "distributed system" - and why does it matter?
- Building HTTP APIs using ASP.NET Core
- Working with message queues and RabbitMQ
- Support SPAs and mobile devices using GraphQL
- High-performance remote procedure calls with gRPC
- Realtime browser communication with SignalR
Vanilla JavaScript Web Components
An in-depth hands-on workshop about building interactive web components using modern JavaScript. No frameworks, no libraries; learn how to create fast, responsive user experiences, built with 100% native code.
- Overview of modern web component architecture
- Working with the Shadow DOM
- Architecture of a web component - models, views, renderers, and event handlers
- Testing web components with Jest
- Support older browsers using Babel
Building Static Websites with Jekyll and GitHub Pages
A one-day workshop that covers everything you need to know to build static websites using Jekyll, set up advanced templates and manage content using Liquid and YAML, and host your sites for free using GitHub Pages.
- Overview of static site generators
- Getting started with Jekyll
- The Liquid templating language
- Authoring content with Markdown
- Advanced Liquid: collections, filters and plugins
- Hosting with Github Pages
Real World REST with C# and .NET
A hands-on workshop about building REST APIs using C# and .NET. Covers API design, HTTP methods and status codes, how to use hypermedia as the engine of application state (HATEOAS), and more.
- Foundations of REST as an architectural style
- Understanding HATEOAS
- Building API resources and endpoints with C# and .NET
- Advanced HTTP: going beyond GET and POST
- Tools and testing strategies
- Security, monitoring and managing REST APIs
From Keyboard to Keynote: Creating Great Tech Talks
An interactive workshop for developers and technology professionals who are interested in public speaking. Learn how to create and deliver great technical talks and presentations.
- Creating a talk -- ideas, structure and content
- Building confidence with effective rehearsals
- Using slides, live demos, animation and multimedia
- Presenting online