Download - Coding dojo
Coding dojo
WeActuallyBuildStuffJohannes Brodwall, Chief scientist
Exilesoft
1. What is a dojo?
2. Ping-pong demo
3. First kata
4. First kata, repeat
5. Second kata
6. Competition
7. Wrap-up
«Coding dojo»?
ProgrammersPractice
People
ProgrammersPractice
Social
«Deliberate practice is your highway
to becoming an expert.»
«Slowing down is really the key to get any skill under your
belt.»
«In order to master any move or action
you need to make a lot of repetitions.»
Reflect on different approaches
ProgrammersPractice
People
Failing test
Write code
Failing test
Write code
Failing test
Failing test
Write code
Failing test
Write code
Failing test
Refactor code and tests
Refactor code and tests
Failing test
Write code
Failing test
Write code
Failing test
Failing test
Write code
Failing test
Write code
Failing test
Refactor code and tests
Refactor code and tests
What effect will this have?
Kata: Leap years
Dojo format:
1. Select kata
2. Plan approach
3. Work
4. Reflect
5. Repeat
Katas:
Kata: Prime factors1 => []
2 => [2]
3 => [3]
4 => [2,2]
…
2*2*13*17*23*23 => [2,2,13,17,23,23]
Approach:
Which tests?
How long do we need?
Reflect
What surprised you?
What do you want to achieve next round?
What did you learn?
Kata: Prime factors1 => []
2 => [2]
3 => [3]
4 => [2,2]
…
2*2*13*17*23*23 => [2,2,13,17,23,23]
Reflect
What surprised you?
What do you want to achieve next round?
What did you learn?
Kata: Romans1 => I
5 => V
1999 => MCMXCIX
Which tests?
Reflect
What surprised you?
What do you want to achieve next round?
What did you learn?
Kata: Minefield
[ "....", ".*..", ".*.*", "...*“ ]
[ “1110", “2*31", “2*4*", “113*” ]
=>
Reflect
What surprised you?
What do you want to achieve next round?
What did you learn?
Minesweper competition
16 rows
30 columns
99 mines
Reflect
What surprised you?
What do you want to achieve next round?
What did you learn?
Repeat
Reflect
What surprised you?
Your plan to change how you work?
What did you learn?
Conclusion:
Deliberate practice will make you a master
developer!
Thank you [email protected]
http://johannesbrodwall.com
http://exilesoft.com
https://github.com/anders88/sweeper_game
http://twitter.com/jhannes
Watch this space!