3 days

Kick-start your team's code craft capability with this comprehensive introduction to all the key practices

Code craft is a set of technical disciplines that are essential to making Agile software delivery work.

In this jam-packed 3-day workshop - our most popular course - you'll get a practical introduction to code craft that can be your roadmap for mastering these disciplines.

Accompanied by our exclusive 222-page course book "TDD", which covers everything on this workshop plus extra exercises and recommended further reading for your journey to mastery of code craft.

This workshop is packed full of hands-on demonstrations (30%) and exercises (70%). Participants learn together with pair and mob programming.

Available Online & On-Site

High-quality instructor-led training remotely for small and medium-sized groups worldwide and in-person for large groups in the UK.

In This Workshop...

* Why do TDD?
* An introduction to TDD
   - Red, Green, Refactor
   - The Golden Rule
* Working backwards from assertions
* Testing your tests
* One reason to fail
* Writing self-explanatory tests
   - Speaking the customer's language
* Triangulating design
* Test doubles & Dependency Injection  
   - Test-driving with external dependencies

* Simple Design
* Tell, Don't Ask

* The refactoring discipline
* Common code smells - complexity, duplication, coupling

* Specification By Example
   - ATDD & BDD
* Definitions of "done"
* Working in vertical slices
* Test-driving designs from customer tests
   - Outside-In TDD
   - Classic TDD vs. "London school"

* The testing pyramid & optimising test/build execution
* TDD, Continuous Integration & Continuous Delivery team exercise

* TDD & Legacy Code
* Mastering Code Craft
* Going Beyond TDD
   - Data-driven & Property-based Tests
   - Mutation Testing
   - Non-functional TDD
   - Continuous Inspection


This workshop can be delivered for groups working in any modern programming language, provided they come ready with the tools installed and have at least one years' experience in their chosen language.


Prices are per person, and do not include travel expenses and VAT.

Pricing Band £
First 4-6 people* 1000
Next 7-12 people* 700
Next 13-20 people** 400
Additional people on the day 1000

* Maximum number for online training is 12

** UK only. Minimum number for on-site training is 12


This training workshop is aimed at developers working in any modern programming language 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 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.

We often run this workshop for groups working in multiple programming languages. It's absolutely fine.