layout | title | audience | toc | intro |
---|---|---|---|---|
guide |
The Workshop |
participants |
true |
A coderetreat is a format of deliberate practice of software engineering, without the pressure of meeting deadlines, fixing production incidents and any sort of expectations towards the outcome. <br/>We create an environment where participants can try out test-driven-development and other XP practices, new languages or even learn how to mentor other developers.
|
TODO: This is supposed to be a guide through what happens at a coderetreat workshop from a participants experience. It should detail what's going to happen, what kind of learning goals would be interesting to epxlore and offer further readings on those. Unlike in the past, I think it's fine to spoiler regarding the exercise itself and what's going to happen.
A coderetreat is a full-day workshop event, designed to allow participants to try out Test-Driven-Development and Pair Programming, two of the core Extreme Programming practices. Apart from that, a coderetreat presents a great opportunity for discovering a new programming language or a different progamming paradigm than what you're using at work.
{% comment %}This headline is linked to from the "What Is This" link on /index.html, so please keep the name as it is here {% endcomment %}
Background: Coderetreat is a worldwide pattern designed to hone software skills and design practices through repeated attempts to build an implementation of a well-known software problem (Conway's Game of Life (https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life)). Unit testing and Test-Driven Development will be emphasized as key practices. Developers use pair programming, and mob programming, and discussion to exchange knowledge. Additional constraints are given throughout the day to emphasize design concepts and practices.
If you don't know what a coderetreat is, keep reading.
What is a coderetreat?
A Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design.
By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement. Practising the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.
How does it work?
The coderetreat day consists of 5-6 sessions, each session's learnings building upon previous sessions. The morning focuses on becoming comfortable with the problem domain, breaking old habits and beginning focused self-discovery. The afternoon pushes the envelope by challenging pairs to stretch their skills and understanding of abstractions, modular design and test-driven development.
Coderetreat has an established, time-tested format that is optimized for focused practice. We will be working on implementing Conway's Game Of Life in 45-minute sessions. In each one, you'll pair program in whichever language you like, using whichever technologies you and your pair prefer.
All you need to bring is an insatiable desire to practice your software crafting skills (and your laptop and power supply). If you have a favorite set of development tools or a favorite test framework(s), make sure they're installed. That said, no stack is ALSO OK: we use Cyber-Dojo a LOT (https://cyber-dojo.org/). The challenge exercise will be Conway's Game of Life - https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life