Code Retreat: What, Why and How?

2015-11-06 11:05

Why

People must practice a lot to master the skills of playing an instrument. How about programming?
Yes, we need it as well.

The reality is that we programmers always work overtime. So we don't have time to practice, so our work is not efficient, and we have to work overtime.
To break this cycle, we must PRACTICE firstly. So we can work efficiently, then we have more time to practice.

Code Retreat is a good way to practice programming skills.

What

Code retreat 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 code retreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimises the cost of change over time.

How

Form

  • 5-7 sessions
  • 45 minutes per session
  • Sharing after every session
  • Complete the session goals in pair
  • Find a new pair before every session
  • Focus on the goal, not getting things done

Practice objectives

  • TDD
  • New language
  • New framework
  • Shortcuts
  • Simple Design
  • Refactor
  • Clean Code
  • Functional programming

To complete above objectives, the facilitator add constraints into the session:

  • Each method must less than 5 lines
  • Throw your mouse, use the keyboard only
  • Leave your IDE, use Vim or Emacs or any other editor
  • Do NOT talk, just coding
  • ...

In the whole day, every body can pair with 5-7 different programmers, they are from different country, different companies, use different programming language, different IDE or editor, have different habits...
We can learn from each other in this kind of events.

When?

I have hosted 3 times of code retreat, two Global Day of CodeRetreat, one APAC Day of CodeRetreat. Both I and other programmers enjoy it very much. We are looking forward to have more events.