What an awesome experience to organize and participate in this event.
It was a long day but I think people enjoyed it, learned a lot and got to try a few new things.
At 9, Jose explained how a Code Retreat works and Kevin(below) explained Conway’s Game of Life, the problem to solve during the day.
Sessions
A code retreat has many sessions of 45 minutes each. Below is how most of the sessions looked
Session 1
At 9.10 am we started our first session.
Constraint: To code Conway’s Game of life in pairs.
At the beginning of the session all the pairs were talking to each other, but after 5 min or so we saw a change towards writing code.
Retrospective:
-
A few solutions to the problem emerged.
-
A healthy discussion about the problem constraints.
Pair count by language:
-
Python: 3
-
Ruby: 4
-
C#: 2
-
Php: 1
-
Javascript: 1
Session 2
Constraint: To discuss the solution for 10 min, and to test drive or unit test the solution.
Retrospective:
A pair came up with a solution that used 2 lists. More people using javascript, as it’s a language that most can understand. Jasmine (BDD for Javascript) was a handy tool since you can run it in the browser.
Pair count by language:
-
Python: 3
-
Ruby: 2
-
C#: 2
-
Php: 0
-
Javascript: 3
-
Java: 1
Session 3
Constraint: Avoid the use of primitives.
Retrospective:
In this session we got more feedback:
-
As a result of the restriction we got self documenting tests
-
Not enough time
-
Arriving at a better design
-
One of the pairs spent most of the time just analyzing
-
Some questions about testing in general. What do you do when tests are just too big? The general answer was around the lines of break it down into smaller tests and skip or remove from code and add to To do list. Another question was about mocking
Pair count by language:
-
Python: 2
-
Ruby: 1
-
C#: 1
-
Php: 1
-
Javascript: 3
-
Java: 3
— Lunch Break. Retrospective: Yay! —
Session 4
Constraint: TDD as if you mean it tho since not everyone was comfortable with testing, it was optional.
Retrospective: Four pairs tried TDD as if you mean it, however the concept wasn’t very clear. (this was probably my fault, as I explained it badly, sorry)
Pair count by language:
-
Python: 1
-
Ruby: 2
-
C#: 2
-
Php: 0
-
Javascript: 3
-
Java: 1
Session 5
Constraint: No conditionals
Retrospective:
The general feedback was that the pairs felt that they were arriving at more elegant solutions with more classes, which resulted in more readable tests.
Pair count by language:
-
Python: 2
-
Ruby: 1
-
C#: 2
-
Php: 0
-
Javascript: 2
-
Java: 2
Session 6
This was the last session after a long day. The feedback on the ground was that people felt a bit frustrated that they didn’t have enough time to finish the problem; so session 6 was: Finish the problem.
There was no retrospective as people started to leave. However it felt like people left happy. Splitters!!
NOTE: There is another Code Retreat in Dublin this coming 3rd of December as part of Global Day of Code Retreat check CodingDay.org for more details