This is a hands-on, video-supported training for software professionals that aims to increase productivity and developer happiness by improving team skills and capabilities for writing quality code.
Code quality is essential for agility. Nobody can quickly add features if the code is full of badly designed abstractions and overly long classes. We keep code quality high through skilled use of development tools and technical leadership close to where the code is being written.
Developers today have these incredibly complex and powerful tools in their IDEs, including generative AI and coding agent support. Most developers need support in how to use them well. This training is centered on software craft skills, which include:
The training materials are currently available for C# and Java developers, and additional languages are in development.
Developers do better and learn more when they work together with their peers, with plenty of time for hands-on exercises and discussions about how to adopt the new ways of working. This training is designed to be done in small groups of developers who know each other and work together. The knowledge sticks much better, and the training scales better too.
Some of the more experienced and ambitious developers in each team join the Foundations of Software Craft online in-person training and become “Team Learning Facilitators.” We teach these individuals to lead hands-on practice sessions on technical topics, supported by materials I’ve designed. They can then go back to their teams and lead “Team Learning Sessions.” The whole thing happens over a period of weeks alongside normal work, it’s designed to enable enough time for practice and to help people to integrate the new knowledge into their daily work.
Each session is supported by a package of materials:
The team watches the video together, and at strategic moments they pause it to have a discussion, do a coding exercise or interact using the activity board. The idea is to build practical coding skills and a consensus in the team about a good approach to designing and building software with high code quality.
This is a technical leadership role, usually a member of the team who develops software daily, although it also fits well alongside the other responsibilities of architects and staff engineers. Usually the person who signs up to become a Team Learning Facilitator has a little more coding experience than most, and an interest in software craft techniques. You probably already have an informal role as mentor and coach for less experienced colleagues.
As part of this training you get some instruction in how to lead a meeting with your peers, discuss technical topics and coach people to use better coding practices. The more experienced and skilled developers usually benefit most from this training and grow their leadership skills as well as technical expertise.
I’ve been doing this style of training with several organizations and different groups over the past couple of years, and I’ve been so encouraged by the results. These are some quotes from past participants
“The prepared exercises with short and concise video material mix it up enough so that the attention never shifts away.”
“Overall, for investing one hour of my time for each training, I got a lot in return.”
This training is designed for software developers and technical leaders who want to continue to be hands-on with the code. For more information and booking please contact us.