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
Int
s
- 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
Cost
s (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.