On Thursday, July 19 in Braunschweig, I attended Java User Group Ostfalen and presented “The When-To-Stop Kata”. As a mob, we played the Gilded Rose kata, where the goal is to practice working safely and quickly in legacy code.

Posted Thu Jul 19 15:35:44 2018 Tags:

I’m on the train back from Erlangen, where I spent the week joining forces with MATHEMA and Redheads. Patrick Drechsler organized the visit to maximize my opportunities to get and give something of value. Each day, inspired by the format I learned from pair-coaching with Llewellyn Falco, I:

  • Visited two or three teams, joining them in their work and occasionally making myself useful
  • Ran a “learning hour”
  • Had lunch with whoever could join us

Patrick also arranged for an activity each evening (except tonight, where the activity is getting home to my family).

Monday

  • Embedded-sys boot loader (C)
  • Web app performance tuning (C# w/Entity Framework)
  • Joined an ISAQB (architecture cert exam) study group
  • Drank unglaublich quantities of coffee

Tuesday

  • Bootloader writes memory!
  • Met protothreads
  • Started a “new to me” list
  • Introduced Lean Coffee
  • Talked C#-and-C++ driver design (next: write examples in NUnit!)
  • Walked around Erlangen, ate Schäuferla, drank Weizen

Wednesday

Mobbing on Gilded Rose

  • Fascinating results giving mob a head start on Gilded Rose with Approval Tests
  • Intro to TDD with MSUnit, designing an API and debugging serial comms to pass
  • Walked around Nürnberg, ate Schweinebraten, watched Hrvatska
  • ”Bassd scho” (~= “passt schon”, the highest compliment Franconians can bring themselves to give)

Tim Bourguignon, MATHEMA’s Chief Learning Officer, was able to join us on Wednesday. Was great to get more time with him after a very enjoyable few days in London last week. We wound up challenging each other to take one of our experiences and make a thing. Maybe my experience on this tour will turn into a thing of some sort.

Thursday

  • C#: test fixture needs tons of params, feel the pain
  • Python: non-programmers solved FizzBuzz!
  • C#: test-first the next serial-port write and read
  • Evening meetup (where I presented): Hackerkegeln

Friday

  • Fixed 2 paths in 4.5G SQL with iconv&sed
  • Played Strangle Your Legacy Code (won all 4 features)!
  • Tracked serial protocol bug to differing sizeof(double) on host and target
  • Recorded a brief video about the week
  • Boarded train

Here are all #codingtour tweets from the week.

Reflections

I got to work with a wide variety of new-to-me technologies. Any one of them would have made for a sufficiently interesting week. I feel lucky to have encountered this variety so early: it prompted me to start keeping a list. I expect it’ll be quite long when I share it at the end of the tour.

At Hackerkegeln

I got to meet a lively, active Softwerkskammer community in Nürnberg, including the host for my final tour stop the last week of August.

In MATHEMA and Redheads I perceived a non-doctrinaire practicality which I appreciated very much. At least one person made a point to offer appreciation for my doing the same while facilitating our Gilded Rose mob. Done poorly, Gilded Rose is no more than any other kata about refactoring. Done well, it’s a kata about prioritizing: we buy safety as cheaply as possible, gain understanding as quickly as possible, and deliver the feature as soon as possible. MATHEMA and Redheads did it well and creatively, with an expedient solution I’d never seen before.

Thomas (Chief Technical Officer) and Khaled (developer) joined me to share some of our highlights from the week. Have a look.

Posted Fri Jul 13 15:20:13 2018 Tags:

On Thursday, July 12 in Nürnberg I attended Hackerkegeln and presented “Strangle Your Legacy Code”. As a mob, we added features to an old SMTP server without modifying its code. Great to meet this active, lively Softwerkskammer community.

Posted Thu Jul 12 13:09:20 2018 Tags:

pkgsrcCon is an annual conference about the challenges of cross-platform open-source package management, focusing on the development and usability of pkgsrc. I’ve gone to something like half the pkgsrcCons since its inception in 2004, even though they’re always in Europe and I’m usually not. Conveniently, this summer I’m mostly in Germany and pkgsrcCon was entirely in Berlin. Just a train ride away.

I had to cut my attendance very short, so I’m glad I got to see some familiar and new-to-me faces, eager to see the remaining talks when the videos are published, and pleased to have been able to share the continuing story of my long-running and perhaps misplaced efforts to improve our packaging of qmail.

Posted Sat Jul 7 08:17:00 2018 Tags:

My coding tour has officially begun! Not at the first stop — that’s next week — but at the zeroth. By happy happenstance, Olaf Lewitz heard I had a spare post-SPA day in London and connected me to David Heath at the United Kingdom’s Government Digital Service.

Lean Coffee

After meeting David for a morning coffee to get to know each other and plan the day, and meeting the team at standup, all of us decamped to a mob-programming-friendly meeting room for a Lean Coffee. Some topics we covered (with me in particular noisily moving my mouth around a lot):

  • TDD: theory vs. practice
  • Pair programming: how to do it best
  • How much up-front design to do in a new project
  • How to test an async module in a synchronous one

Refactoring as a mob

With the 45 minutes before lunch, we decided to tackle a desired refactoring (string primitive to value object) as a mob — their first time mob programming. The team really took to it: drivers doing well listening to navigators, navigators doing well making their intentions understood by drivers, and new team members doing well in new code with new people. I helped by running the timer, asking a clarifying question here or there, gently admonishing the driver when it looked like they were expressing an original thought, and writing down things we noticed along the way but didn’t want to act on just yet.

After lunch, David facilitated an introduction to Liberating Structures for a regular meeting of an internal GDS community group. I’d heard of these from my SPA co-presenter Tim Bourguignon but hadn’t made their direct experiential acquaintance. David had us play out exercises with Triz and Troika Consulting and reflect briefly on when we might like to use them. Between the exercises and David’s take-home gift of a deck of facilitation cards, this may be how I finally learn and apply Liberating Structures! (Coaches love facilitation cards. This was a great gift.)

Mobbing again

The team then reconvened as a mob to continue the refactoring in progress. I had to leave for the airport 45 minutes in, so we said our goodbyes. I suspect (and hope) they carried on mobbing. I’ll be curious to hear how and when they decide to use the technique from now on.

It was only a day with David and team at Government Digital Service, a short one at that, and sweet. We didn’t even have time to reflect together on how it went. Speaking for myself, then, it was a perfectly serendipitous start to my tour. I’m eager to see what changes when I stay with a company all week — and am about to find out.

Just before leaving

Posted Thu Jul 5 11:11:51 2018 Tags: