Martin Fowler has called software architecture “the stuff that’s hard to change later”. It’s about the decisions that you need to make, that you can’t defer any longer – but if you get them wrong, fixing them later is going to be expensive, risky and complicated.
Whether you’re looking to specialise in an architecture role, or just want to better understand how to approach the design of your software projects, my courses can help you figure out what’s out there, how it can help, and how to use it effectively on your projects.
Principles of Software Architecture
Duration: Two days
This course covers the core principles behind modern software architecture. We'll start by discussing the role of an architect in a software team, and you’ll learn how to design classes, components and services, how to capture and ßcommunicate your designs, and the patterns and protocols you can use to connect and monitor your services.
Developers who want to learn to design large-scale systems.
Building Distributed Systems with .NET
Duration: Three days
This course covers the patterns, protocols and libraries you’ll need to create distributed systems using Microsoft .NET. YOu will learn about building HTTP APIs with GraphQL and REST, high-performance networking using gRPC, and popular architectural patterns such as command/query responsibility segregation (CQRS) and publish/subscribe.
Developers with 2–3 years’ experience using .NET and C#.