For experienced developers who want to get better at designing well-crafted solutions. This training addresses design from the most micro level (via TDD) all the way up to micro services definition by analsying buisness requirements. The mission is to learn how to design software that is responsive to changing requirements and new functionally, avoiding some of the pitfalls that lead to legacy code.
The first day is dedicated to software design at coding level. Developers will work in pairs on two large exercises, using different TDD styles and comparing their solutions. The day is also full of design discussions around the exercises and real world scenarios.
The second day is dedicated to software design at application level (internal structure, layers, components, delivery mechanism, core domain) and also at micro services level using business requirements to drive their design (define the responsibility of each service, how services collaborate, their internal and external visibility, number of services we need to create, etc.) Developers will work in groups of 4 and come up with design solutions that later are shared with the wider group. Many design discussions during exercises focused on real world scenarios.
Software developers that:
We strongly recommend that developers and teams first attend the Crafting Code training before.
In addition a distributed version control system such as Git is desirable.
Software is our passion.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.