1. 3

    Attempting to start a kata pairing exchange at work. I might build something to help match pairs as a side project. I asked some questions about the best way to organise it here.

    Outside of that, I’m considering writing some blog posts for my very quiet blog rob-bell.net. I’ve got a tonne of ideas in a list I’ve been expanding on for the last few years, it’s just finding the time to write.

    1. 2

      So I was involved in something similar to this 2 or 3 years ago at our organisation, and it’s still running to this day. It turned into bigger dojos / workshops rather than explicit pairings, but there might be some lessons there that could aid you. I’ll summarise how that came together and you can see if any of it’s useful to you with the pairings idea.

      I brought it up with my dev lead at the time, that I’d like to do something to encourage more code craftsmanship around this place. He got in contact with a few other dev leads / engineering managers and found me some like minded people. We had a few emails where we bounced around ideas / what we wanted to get out of it, and it turned into a list that replicates your reasons up there - talk to different engineers, see how they work, learn stuff.

      So we agreed to start off with more of a dojo format, and put together a workshop around the minesweeper kata. We ran them semi-regularly (intended monthly, but turned into something resembling 6-weekly), and attacked a bunch of katas, as well as workshops on various patterns & techniques whoever was running the thing wanted to teach themselves (someone did promises, I did one on event sourcing, we recently had one on property-based testing). And it has kind of evolved as we went.

      Some lessons that might apply to your questions:

      • Doodle is great for matching up availabilities.
      • I wouldn’t put too much stock in tech stack, unless it is that specific domain you’re looking to educate each other in. Languages are easy to pick up, and breaking out of comfort zones is good. We’ve had dojos in JS, Java, PHP, Scala, just off the top of my head.
      • Following on from that, try to keep as few barriers to entry / pairings as possible. People can get put off by the smallest things.
      • To keep this running, it needs your continued buy in. I’m the only one from the original group still running the dojos, but I’ve found other like-minded individuals in running them who have been willing to run their own. Keeping it running, however, might simply involve checking into a slack channel once every couple of weeks.
      • I’ve found the best way of getting new contributors is to talk to devs / managers and fit running one / attending some into their personal objectives. Maybe some of your prospective individuals might have mentoring / improving techniques in X as an objective, for which these things might make a good key result to aim for.
      • I try and run ours at the end of the week, people seem to be more up for these / relaxed about them on a Friday afternoon than 11am on a Wednesday.
      • Ensure you have a way of feeding back into whatever this turns into. We found a lot of people who wanted to go to these dojos were forgetting about them. Turned out it was because we were advertising them by email which would get read and maybe flagged, but kinda disappeared into the either. We set-up a google spreadsheets form to collect some feedback, found this out, and from then on sent them out as invites.
      • If it takes off and benefits a lot of people, shout about it. You made this happen, it will be a net positive for the organisation, and you’ll possibly spend some of your own time getting stuff together. Unless you scream about it to your boss, it won’t get noticed. Cos real life is like that ;)

      Feel free to bother me on here / twitter / wherever if you need to know owt else.

      1. 1

        Thanks, Si. This is some great advice. For manager buy in, listing these pairing sessions as objectives is a nice idea. I’ve not had much luck using Doodle for matching availability - do you do it on a pair-by-pair basis, or do you use it to find pairings within a group?

        1. 1

          So we were using it more to figure when these bigger workshops would take place (my example was slightly different : dojos - kinda like collaborative coding workshops, so we create pairs in the sessions).

          But I see no reason why you couldn’t use it to find people who were available on the same day and work from there. I guess it would work better for a group to identify the pairings, but it could be worked from the other side too.