Deliberate Practice
(Kata – Dojo – Code Retreat)
Austrian Institute of Technology,
NGCMS Jfx, June 2014
Peter Kofler, ‘Cod...
Peter Kofler
• Ph.D. (Appl. Math.)
• Professional Software
Developer for 15 years
• “fanatic about code quality”
• I help ...
Mastery
How to achieve „Mastery“?
●
… or at least some kind of professional
competence?
●
… or at least getting
faster in day to d...
Training
on the
Job?
Training on the Job
●
Yes, you learn and get experience
●
But
●
only what is already there
●
time pressure
●
Trial & Error...
Continuous Improvement
●
More experience is not enough
●
Mindset of Continuous Improvement
●
Continuous Learning
●
Learn h...
Deliberate
Practice
How do musicians practice?
Then how do coders practice?
Code Kata
Code Kata Definition
●
A kata as a detailed choreographed
pattern of movement.
●
A code kata is an exercise in
programming...
Code Kata
●
simple problem (max. 20 minutes)
●
solve every day
– memorization
– create reflexes
●
experiment with solution...
Why repeat the same kata?
●
de-emphasise the generation of code
●
concentrate on
●
the process of writing the code
●
namin...
Don't Focus on
Getting it Done.
F0cus on Doing
It Perfectly.
Code Kata Examples
● Simple Algorithms
– Prime Factors, Roman Numerals, ..
● Bringing Code under Test
● Refactoring Katas
...
Coding Dojo
Coding Dojo Definition
●
A coding dojo is a meeting where a
bunch of coders get together and work
on a code kata, a progra...
Coding Dojo Structure
●
Introduction 15'
●
Coding 45'
●
Interim (Retrospective) 15'
●
Break 15'
●
Coding 45'
●
Retrospecti...
Coding Dojo Mindset
●
Safe place outside work
●
We are here to learn
●
Need to slow down
●
Focus on doing it right
●
Colla...
Constraints
●
Challenges during a dojo or coderetreat.
●
Moving to the extreme is a way of learning
●
Examples
●
Missing T...
Coding Dojo Vienna
●
Biweekly Coding Dojo in Vienna
●
Every other Wednesday 6PM
●
Changing locations
●
Follow #CodingDojoV...
Code Retreat
Code Retreat
●
A day-long, intensive practice event,
focusing on the fundamentals of
software development and design.
●
Wh...
Code Retreat Structure
●
Introduction 15'
●
3 Sessions
●
Coding 45'
●
Retrospective/Break 15'
●
Lunch
●
3 Sessions
●
Retro...
Code Retreat Principles
●
Learn through pairing (switch pairs)
●
Practice
●
Experiment
●
Have fun!
PETER KOFLER, CODE-COP....
Why delete the code?
●
No. Listen.
●
Stop trying to go faster, start trying to go
slower.
●
Don't think about finishing, t...
Global Day of Code Retreat
●
A world-wide event celebrating passion
and software craftsmanship.
●
GDCR 2014: xth December ...
Peter Kofler
@codecopkofler
www.code-cop.org
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
CC Images
●
masters https://www.flickr.com/photos/kevinpoh/4404925960
●
Bruce http://www.flickr.com/photos/sherpas428/4350...
Upcoming SlideShare
Loading in …5
×

Deliberate Practice (2014)

973 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
973
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Deliberate Practice (2014)

  1. 1. Deliberate Practice (Kata – Dojo – Code Retreat) Austrian Institute of Technology, NGCMS Jfx, June 2014 Peter Kofler, ‘Code Cop’ @codecopkofler www.code-cop.org Copyright Peter Kofler, licensed under CC-BY.
  2. 2. Peter Kofler • Ph.D. (Appl. Math.) • Professional Software Developer for 15 years • “fanatic about code quality” • I help development teams PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  3. 3. Mastery
  4. 4. How to achieve „Mastery“? ● … or at least some kind of professional competence? ● … or at least getting faster in day to day work? ● … or not making the same mistake again and again? PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  5. 5. Training on the Job?
  6. 6. Training on the Job ● Yes, you learn and get experience ● But ● only what is already there ● time pressure ● Trial & Error not popular in production ● no practice - only production ● Is “Training on the Job” sufficient? PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  7. 7. Continuous Improvement ● More experience is not enough ● Mindset of Continuous Improvement ● Continuous Learning ● Learn how to do it right ● Practice ● Be fluent to be fast PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  8. 8. Deliberate Practice
  9. 9. How do musicians practice?
  10. 10. Then how do coders practice?
  11. 11. Code Kata
  12. 12. Code Kata Definition ● A kata as a detailed choreographed pattern of movement. ● A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  13. 13. Code Kata ● simple problem (max. 20 minutes) ● solve every day – memorization – create reflexes ● experiment with solutions – stretch yourself PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  14. 14. Why repeat the same kata? ● de-emphasise the generation of code ● concentrate on ● the process of writing the code ● naming test cases ● the Red/Green cycle PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  15. 15. Don't Focus on Getting it Done. F0cus on Doing It Perfectly.
  16. 16. Code Kata Examples ● Simple Algorithms – Prime Factors, Roman Numerals, .. ● Bringing Code under Test ● Refactoring Katas ● Legacy Code Katas ● Application Katas ● Architectural Katas PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  17. 17. Coding Dojo
  18. 18. Coding Dojo Definition ● A coding dojo is a meeting where a bunch of coders get together and work on a code kata, a programming challenge to improve their skills. ● They code, learn and have fun away from interruptions, distractions, deadlines and production bugs. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY http://codingdojo.org/
  19. 19. Coding Dojo Structure ● Introduction 15' ● Coding 45' ● Interim (Retrospective) 15' ● Break 15' ● Coding 45' ● Retrospective 15' PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  20. 20. Coding Dojo Mindset ● Safe place outside work ● We are here to learn ● Need to slow down ● Focus on doing it right ● Collaborative Game PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  21. 21. Constraints ● Challenges during a dojo or coderetreat. ● Moving to the extreme is a way of learning ● Examples ● Missing Tool (No Mouse, …) ● Missing Feature (No IFs, …) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  22. 22. Coding Dojo Vienna ● Biweekly Coding Dojo in Vienna ● Every other Wednesday 6PM ● Changing locations ● Follow #CodingDojoVie PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY Come Join Us!
  23. 23. Code Retreat
  24. 24. Code Retreat ● A day-long, intensive practice event, focusing on the fundamentals of software development and design. ● Whole Saturday (8h) ● Practising the basic principles of modular and object-oriented design. ● Support Mindset of Quality, Learning and Practice! PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  25. 25. Code Retreat Structure ● Introduction 15' ● 3 Sessions ● Coding 45' ● Retrospective/Break 15' ● Lunch ● 3 Sessions ● Retrospective 45' PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  26. 26. Code Retreat Principles ● Learn through pairing (switch pairs) ● Practice ● Experiment ● Have fun! PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY Coderetreat, http://coderetreat.org/
  27. 27. Why delete the code? ● No. Listen. ● Stop trying to go faster, start trying to go slower. ● Don't think about finishing, think about improving. ● Think about practising. As a team. ● That's what this day is for. Nothing else. No. Listen. http://www.cyber-dojo.com/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  28. 28. Global Day of Code Retreat ● A world-wide event celebrating passion and software craftsmanship. ● GDCR 2014: xth December (not official) ● Follow #GDCR14 PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY Come Train with Us! http://globalday.coderetreat.org/
  29. 29. Peter Kofler @codecopkofler www.code-cop.org PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  30. 30. CC Images ● masters https://www.flickr.com/photos/kevinpoh/4404925960 ● Bruce http://www.flickr.com/photos/sherpas428/4350620602/ ● wants you http://www.flickr.com/photos/shutter/105497713/ ● music https://www.flickr.com/photos/jeremyhiebert/11474303315 ● code https://www.flickr.com/photos/slworking/7726767220/ ● karate http://www.flickr.com/photos/the-consortium/5301698212/ ● dojo http://www.flickr.com/photos/49715404@N00/3267627038/ ● incense http://www.flickr.com/photos/cibomahto/7651263514/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

×