Workshops

Hands-on workshops for developers and IT professionals

Learning never stops when you work in software development. We work in an industry that’s driven by new languages, new frameworks, and new platforms and paradigms. We're discovering new ways to solve old problems, we're building innovative solutions to new problems, and every wave of new devices and applications brings fresh challenges around security, performance, inclusivity and user experience.

I’ve been running workshops for developers and software professionals since 2015, covering topics from .NET and JavaScript programming through to business communication and presentation skills. Since March 2020, I've been delivering workshops 100% online - check out the FAQ to see how this works.

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

Length: 2 days
Taught by: Dylan Beattie

More details...

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

Length: 2 days
Taught by: Dylan Beattie

More details...

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

Length: 2 days
Taught by: Dylan Beattie

More details...

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

Length: 1 day
Taught by: Dylan Beattie

More details...

How To Run Online Workshops

Dylan Beattie's workshop for team leads, managers and trainers who want to run workshops and training effectively over Zoom, Webex, Teams, and other online platforms.

  • Learn how to connect with remote audiences
  • Adapt your material to work online
  • Webcams, microphones and screen sharing
  • Digital whiteboards, polls and quizzes

Length: ½ day
Taught by: Dylan Beattie

More details...

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

Length: 2 days
Taught by: Dylan Beattie

More details...

Public Speaking: From Keyboard to Keynote

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

Length: 2 days
Taught by: Dylan Beattie

More details...

Communication for Software Teams

A two-day workshop for developers and software teams who want to communicate better, covering everything from UX and architecture to meetings and staff reviews.

  • The power of effective communication
  • Understanding tools and channels
  • Language, symbols, and storytelling
  • Collaborative coding
  • Having difficult conversations

Length: 2 days
Taught by: Dylan Beattie

More details...

Parsing Esoteric Languages with .NET

A half-day workshop based around using C# and .NET to create a parser and interpreter for the Rockstar esoteric programming language.

  • Introduction to esoteric languages
  • Compilers, transpilers, and interpreters explained
  • Working with abstract syntax trees
  • How to design a programming language
  • Creating a parsing expression grammar
  • Building a Rockstar interpreter with .NET

Length: 4 hours
Taught by: Dylan Beattie

More details...

Ray Tracing in JavaScript

A workshop that explores the principles of 3D computer graphics by building a working ray tracer in JavaScript that runs in your web browser.

  • Introduction to ray tracing
  • The HTML Canvas API and procedural graphics
  • Modelling 3D objects in JavaScript
  • Working with ECMAScript Modules
  • Lighting scenes with shading and reflection
  • Textures, transparency and refraction
  • Using Web Workers to speed up rendering

Length: 4 hours
Taught by: Dylan Beattie

More details...