Yesterday I co-facilitated the Brooklyn instance of Global Day of Coderetreat. Last year, having just moved back to New York, I was disappointed we didn’t have a GDCR instance going on around here. (Adi Bolboacă, who was facilitating in Paris, did me the kindness of connecting me with a participant there for a remote pairing session.) So this year, when I saw Libby Horacek would be organizing and hosting at her company, I offered to try to make myself useful. I think it worked out.

We had an incredible #GDCR18 today! Thanks so much to @8thLightInc for sponsoring, to @schmonz for co-facilitating, and to the participants for being so enthusiastic, thoughtful, and engaged!
@PositionDev

I opened the day by playing Presentation Karaoke with the GDCR-issued slide deck, adding a few details about the Code Retreat format, and suggesting three themes for the day: Play, Gratitude, and Community.

Play

At work, we’re responsible for outcomes. We learn when learning is required to solve the problem efficiently (which turns out to be pretty often). Code Retreat is play. We know we’ll delete our code every 45 minutes, so we’re free to try a bunch of new ways of making it.

Kids play to build richer mental models of their world, to grow their explanatory and predictive powers, to acquire problem-solving tools to be synthesized as needed, to gain confidence in more situations, and to ride the positive feedback loop of following their enthusiasm.

As adults, even though we need these things just as much as kids do, we don’t play nearly as much. We need all the chances we can get. Code Retreat is a chance for us to play. If it goes well, we’ll find our thinking refreshed and our enthusiasm for programming renewed.

Gratitude

The name “Code Retreat” has the effect of encouraging people who wouldn’t want to spend a day at something called “Code Retreat” to self-select out. This is probably good. It means we can be pretty sure everyone here really wants to be here. But there are also plenty of folks who’d love to be here and can’t. Sometime today, take a moment to appreciate your good fortune in having the time, energy, freedom, and space to spend a day this way, your own choices in life that have opened you to this opportunity, and the actions of others that helped bring you to it.

My first GDCR arguably set me on my current career path, and inarguably instigated a great deal of learning.

Community

I owe the state of my career in large part to many people who have been incredibly generous with their time, expertise, and reputation. It is the absolute least I can do to ask you to think about ways you can be generous with yours. I’ll do a little of this myself, too.

Today it’s not only a community we’re part of, but a community of communities. A Code Retreat can happen any time, any place; Global Day of Coderetreat is everywhere, right now. We’ll get to say hello to people all over the world (Vienna, London, Atlanta, Montreal, and Seattle, as it happened) who are doing what we’re doing because they care about what we care about.

Constraints

The first session is for getting our brains familiar with the problem (Conway’s Game of Life) and thinking about pairing. Each of the sessions that follows imposes some constraint likely to change how we think about solving the problem. Of the many, many known options, we chose:

  1. TDD As If You Meant It
  2. Ping Pong Pairing
  3. Baby Steps
  4. Object Calisthenics
  5. Evil Pair

With Baby Steps, I was newly interested to hear whether people noticed that they succeeded more frequently on their first attempt to make a new red test green. My guess is they would. But it didn’t seem so, at least not that they noticed or reported. I still need to try test && commit || revert for myself.

At day's end

Learnings

Going around the room, every single person had a new trick or tool or shortcut to share. (One had written a full page of new IntelliJ shortcuts to take home. Awesome.)

Kritul Rathod posted his key takeaways.

Someone who’s been pairing all day every day for years with dozens of people came away with a nuanced insight about pair dynamics.

At lunch, I had a conversation with someone who was interested in giving interns the sort of learning experiences I had on my recent coding tour. I certainly don’t know an answer, but I agree it’s important for more people to have experiences like these, and was able to give her some ideas.

After preaching that folks get involved in community-focused activities, I of course found out that more than a few already are, and well beyond my own involvement. Heartening. Maybe I didn’t need to have said anything about that. Or maybe someone else will turn out to have been newly inspired by the idea and the day.

More

Could this format for learning help your team? I’ll gladly facilitate a Code Retreat (or Legacy Code Retreat) for your company. I offer consulting, coaching, and training in the New York metropolitan area. Here’s what people say about their time with me.