We invite a group of programmers together for a day, give them some legacy code, and help them practise various design rescue and improvement techniques. The ultimate goal is to practise these techniques in a low-stakes environment away from the code base that probably torments you at work.
Which techniques do you mean?
We don’t have a complete list, but most of our techniques revolve around creating and identifying seams in software (places where we can decouple tightly-coupled modules). You will try adding tests, isolating behavior from frameworks, introducing mocks, writing characterisation tests, and some other things we haven’t thought about yet.
What’s the format?
4-6 sessions at 45 minutes each, after which you will throw away your changes and start again.
So, it’s a Code Retreat
So far, mostly yes. The difference is that we have starting code bases for you, rather than asking you to start with a blank slate. Also, we are using the Code Retreat format to teach specific techniques, so we guide your practice more like a (karate) dojo than Code Retreat does.
Will there be pizza?
Never. Only real food. And perhaps beer. Real beer.
Which languages and platforms?
So far, Java, C#, Ruby, Python. We will need some help for code bases in C, C++, Perl. Even SQL is an option. We remain open to suggestions.