GDCR 2022: My feedback

As every year, the Global day of code retreat is a good excuse to work and rework the same kata a full day.

This year I have attended to the one organized by the Software Crafters Lyon (I'm a member of the organizing team, but I didn't organize the Code Retreat this time).

Note: (For a global/official summary, have a look here (in French)

Subject

It was a custom subject which initially aim to support Hexagonal architecture during team coaching.

  • Theme: Expose a Web Service that displays SpaceX launches CO2 cost in a given period of time
  • Source API endpoint: https://api.spacexdata.com/v5/launches
  • Rules:
    • Each rocket built emit 2 536 485 kg of CO2
    • Each rocket launch emit 336 552 kg of CO2
    • The cost of the rockt construction is included in the launch(es) for which the request was made
    • The cost should be expressed as:
      • Number of Kg of CO2 emitted
      • Equivalent in Kgs of beef (1 Kg of beef takes 13.1 kg of CO2 to produce)
      • Equivalent in flights Paris to New-York (1.178 tons)

My iterations

  • Language: Haskell
  • Paired with a seasoned crafter
  • It was an exploratory session
  • I was with another longtime crafter I used to pair with
  • We focused on computing the total sum of CO2 and equivalents of multiple launches
  • Language: Java
  • Paired with a newcomer
  • Additional constraints: Immutable and/or Blind navigator
  • We barely achieved CO2 sum as I spent some time explaining the issue with boolean-base and inheritance based design
  • Additional constraints: TCR and/or Object Calisthenics
  • I was forced to take a break at this session as I had to tackle a person issue during group creation time
  • Language: Haskell
  • Additional constraints: Mute and/or Ping Pong
  • I took another break as there were no one compatible to my setup
  • I decided to do it on my own, but a facilitator came to talk shortly about functional design
  • I ended up completing the implementation of the sum and equivalents in a record of Ints
  • Language: Java
  • Paired with a newcomer
  • Additional constraints: Random constraints (I get "no loop" and my pair "TCR")
  • We started by computing CO2 sum (with a Stream of enum), then we got stuck trying to compute equivalents
  • We started to introduce Cost at the end
  • Language: Haskell
  • Paired with a seasoned crafter
  • I was with another longtime crafter I used to pair with
  • Additional constraints: Primitive Obsessions and/or Evil TDD
  • For a change we started by design Costs (build vs launch)
  • Sadly, my pair was drained and we ended early

My feedback

I didn't get hooked by the subject:

  • I dislike the theme for personal reasons
  • The subject was too wide to be addressed in 40 minutes
    • The core domain was too small
    • The Service part was mostly technology-related

I didn't get much from my pairs (which is my fault).

I have given a ROTI of 1/5.