2 days
Structure your code to make changing it to
meet future requirements easier, with or without AI coding assistants.
Confirm any Codemanship course booking by January 31st 2026, to be delivered remotely before May 31st, and get 50% off
Learn to fix design problems without breaking the software
Learn the 4 principles of Simple Design, and when to trade off one principle against
another:
* The code must work
* Code communicates intent
* Code is free
of duplication (D.R.Y.)
* Code is as simple as we can make it (YAGNI)
Learn the 4 principles of Modular
Design:
* Modules should do one job
* Modules should hide their inner
workings
* Modules should have swappable dependencies
* Interfaces should be
designed for clients
Learn how to measure modularity and make evidence-based
design and refactoring decisions:
* Coupling & Cohesion
*
Dependency Polymorphism
Learn how these 4 principles map to S.O.L.I.D.
principles for object oriented design.
* Single Responsibility
*
Open-Closed
* Liskov Substitution
* Interface Segregation
* Dependency
Inversion
Learn the 2 fundamental design idioms that enable modular
design:
* Dependency Injection
* Inversion of Control
...and how
more modular code tends to be more testable and more portable
Learn how principles of Modular Design
can be applied to component-based and service-oriented architectures, and how they
map to the principles of Package Design:
* Release-Reuse Equivalency
*
Common Closure
* Common Reuse
* Stable Dependencies
* Stable
Abstractions
Learn how to measure modularity at multiple levels of code
organisation and make evidence-based decisions on architecture and design:
*
Package coupling & cohesion
* Martin Metrics for package dependency
polymorphism
Large Language Models like Claude Opus and GPT-5 are very good at generating code that they're pretty bad at modifying.
When it comes to architecture, Actual Intelligence must be applied.
* Code clarity & LLM performance
* Complexity & Out-Of-Distribution "hallucinations"
* Separation of Concerns - the secret sauce (again)
* Ground Truth: why "guardrails" don't work
* Continuous Inspection in AI-assisted development
* Refactoring revisited
Check out our free videos on software design principles
| Pricing Band | £ (remote*) | £ (on-site**) |
|---|---|---|
| First 4-6 people | 1150 | |
| Next 7-12 people | 900 | |
| Next 13-20 people* | N/A | 650 |
| Additional people on the day | 950 | 1150 |
Minimum number for all training is 4
* Maximum number for online training is 12
** UK & EU only. Maximum number for on-site training is 20
This training workshop is aimed at C# and Java developers with at least one year's experience programming in their chosen language. It's often attended by technical leaders who wish to keep their code craft skills up-to-date, too.
You will need a suitable computer with your favourite C# or Java editor/IDE installed. On-site courses will require a room large enough to comfortably accomodate all participants, good, reliable Internet access (Wi-Fi), and a data projector or suitably large TV (with HDMI input) that will allow participants to read code from the back of the room. You will find a pen and paper handy.
Online training is available whereever you are, pretty much. (There are a few countries it's sadly not possible to do business with, of course.) Onsite training is available across the UK. Ask us.
9/10 times, the trainer will be Codemanship founder and course author Jason Gorman. Jason has 38 years' programming experience and three decades of professional experience as a developer, technical lead and software architect. He's run hundreds of code craft training workshops over the last 20 years, and is a very experienced teacher and mentor. If, for any reason, Jason isn't available for your workshop, we'll inform you well in advance and offer you a trainer of similar industry seniority.
Yes. You will most definitely be writing code in this workshop. Business analysts, testers, project managers etc may find it useful to sit in and observe -at no charge - if they want to gain an understanding of Test-Driven Development and how it fits into the overall software development cycle, but this is 100% a hands-on workshop.
Since 2009, we've delivered training for developers working in C++, Swift, Go, Kotlin, Groovy, Ruby and many other languages. Ask us about customised courses.