Getting Started

Why should I care?

Developers are usually expected to learn on the job, with companies expecting rigor and best practices without giving space for experimentation and exchange beyond your own team. Coderetreats are there to provide you with a space that doesn’t have a deadline, nor any pressure of performing.

We found that people join coderetreats for varying reasons: First and foremost, they might be the first time developers get the chance to practice and learn Test-Driven-Development and they’ll find the crowd at coderetreats eager to share their experience with TDD. We get it, TDD is a difficult technique to learn and it’s hard to reason about a technique that “slows you down”. But trust us, we’re running coderetreats because we’re convinced that it’s a superior technique for your everyday work.

Other people might join to look beyond their everyday-work and to explore what other developers have been working with. Coderetreats are an excellent occasion to explore a new programming language through tests, as this usually reveals interesting language features and paradigms. Ever wanted to dip your toes into Elixir or COBOL? The crowd at a coderetreat probably has someone who’s working in those languages and can show you the ropes!

Last but not least, you’ll find that coderetreat crowds are usually quite mixed in expertise. If you’re already familiar with a programming language, or even with TDD, a coderetreat is a great opportunity for you to practice mentoring other developers. Mentoring is a crucial responsibility of a senior developer, but it takes patience, practice and mindfullness, all of which a coderetreat is designed to enable.

We left the CodeRetreat with a better understanding of how to write clean, simple and flexible programs that minimize the cost of change over time. Big win for everyone.

I’m in, but what is a coderetreat?

A coderetreat is a workshop in Extreme Programming practices. We focus on Pair Programming and Test-Driven-Development, as we consider these personal skills that are best learned in a safe environment.

The workshop is usually given as a full-day event and is generally free to attend, with lunch and snacks covered through sponsorships (this might vary between local events!).

Check out our workshop guide to find out everything about the format!

What to prepare

Here’s a handy checklist of what is useful to bring to a coderetreat. None of these items are required, but please make sure to notify the event organizer in case you can’t bring a laptop.

Things to bring

  • Laptop and charger
  • External keyboard and mouse
  • Pen and paper

Please also make sure to setup your laptop so you can start right away. A session is only 45 minutes, so time required to set up your IDE or an empty project takes away from your learning time! If you have problems setting up your machine, please notify your local event organizer or get in touch with us in the Software Crafters Slack in the Channel #coderetreat.

Software to install

  • Code Editor/IDE
  • git for versioning
  • An empty project with a failing test-case (e.g. kata-bootstraps)

Why do I need to delete my code?

This is probably the most frequently asked question. The reason we want you to delete your code after each session, is so that you can start fresh in the next session. Every participant should be assured that whatever the product of your pairing session was, it won’t be relevant afterwards, you won’t be judged or evaluated for it, and it won’t impact your following sessions.

The result of each session is the collaborative learnings you experienced with your pairing partner.

What experience do you need to participate?

A coderetreat is suited for anyone who’s interested in learning software development, no matter how experienced they might be. We advise facilitators to make sure that pairs are matched so that less experienced people are teamed up with more experienced attendees.

This is part of what a coderetreat is about: For people to learn and focus on mentoring and supporting developers with less experience, so it’s perfectly valid and expected. Coderetreats are to be framed as a collective learning experience, and as such should be safe to attend no matter the experience.

I can’t bring a laptop, is that bad?

No, generally not. Each session involves two people working on the same laptop, so even if only half of the attendees bring ther laptop, there’s still plenty of pairing possibilities.

It is still advisable to give a heads-up to the facilitators. Someone might have a spare laptop that they could bring!

Can I join half-way in?

This depends on the event and should be directed at the local event organizers. Sessions are usually isolated experiences, so joining in late is usually possible, but the facilitators might be working with sessions that didactically build upon each other.

What is Extreme Programming anyways?

Extreme Programming is a set of software development practices copiled by Kent Beck, Ron Jeffries and Ward Cunningham. Coderetreats are focussing on Pair Programming and Test-Driven Development (TDD), but their are similar formats that focus on Refactoring or Continuous integration.