Every system has an architecture, whether accidental or intentional, and regardless of whether it was put in place by a nominated architect or whether it emerged from the decisions and discussions of a team. All too often the focus of what is often described as architecture is centred around a specific set of platform technologies, which forms only one part of the set of concerns an architecture s...
How do you practise test-driven development (TDD), really?! It feels a bit like chess: the rules are simple to understand and follow, but playing well requires understanding complex strategies, making moves in unclear situations, and playing with confidence. In this workshop, we will discuss and practise the essential strategies that will help you program with more confidence (and less stress), ev...
No matter how much advancement we see in programming tools and hardware technology, software development remains resolutely difficult. The preoccupation of today’s developers is exactly what it was fifty years ago: how can we create software which works reliably, and how we can extend it without breaking it? We just accept that software is inherently flawed, that all software contains bugs like or...
Learn how to model and implement software from a business perspectiveDomain-Driven Design (DDD) is an approach to software design that focuses on the domain, or problem area, of the application. It is a technique for aligning the implementation and team topology with the underlying structure of the domain.This training course will teach you all the fundamentals of DDD. How to collaborate between s...