Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Welcome!
Peter Kofler
• Ph.D. (Appl. Math.)
• Professional Software
Developer for 15+ years
• “fanatic about code quality”
• I help...
I help development teams with
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
●
Professionalism
●
Quality and
Produc...
Mentoring
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
●
Pair Programming
●
Programming
Workshops
●
Deliberate
Pr...
Developing Quality
Software Developers
Coderetreat
a day of learning and practice
How do musicians practice?
Then how do coders practice?
Why repeat the same kata?
●
de-emphasise the generation of code
●
concentrate on
●
the process of writing the code
●
namin...
Day Structure
●
Introduction
●
3 Sessions of
●
Coding
●
Retrospective
●
Lunch
●
3 Sessions
●
Retrospective
PETER KOFLER, C...
Code Retreat Principles
●
Learn through pairing (switch pairs)
●
Practice
●
Experiment
●
Have fun!
PETER KOFLER, CODE-COP....
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 To...
Why delete the code?
●
No. Listen.
●
Stop trying to go faster, start trying to go
slower.
●
Don't think about finishing, t...
How to take advantage
●
Embrace freedom of deleting the code
●
Do what you always wanted but couldn't
●
Get out of your co...
Think About Learning Topics
●
Why are you here?
●
What do you want to learn?
●
What do you expect from today?
●
How can th...
What do you want to learn?
●
TDD
●
Pair Programming
●
Clean Code
●
Design
●
Other Languages
●
...
PETER KOFLER, CODE-COP.O...
Learning Goals
Conway's Game of Life
●
infinite, two-dimensional grid of cells
●
interacts with its eight neighbours
●
at each step in ti...
Rules of Cell Interaction
●
Any live cell with fewer than two live
neighbours dies by under-population.
●
Any live cell wi...
Programming
Languages?
Get Ready!
●
Find a pair.
●
Agree on language.
●
Use one computer.
●
Set up empty project.
●
Write a failing test.
●
Imple...
Don't Focus on
Getting it Done.
Focus on Doing
It Perfectly.
Our Sessions
●
do your best
●
Verbs instead of Nouns
●
Solution Seeker
●
Ping Pong Mute
●
Clean Code: 4 lines/2 param per ...
Closing Circle
●
What did you learn today?
●
What surprised you today?
●
What will you do
differently in the
future?
PETER...
Learnings
Peter Kofler
@codecopkofler
www.code-cop.org
organized by
Interlogica S.r.l.
@interlogica
www.interlogica.it
PETER KOFLER,...
CC Images
●
welcome https://www.flickr.com/photos/7502393@N04/472028910/
●
Bruce http://www.flickr.com/photos/sherpas428/4...
Upcoming SlideShare
Loading in …5
×

Code Retreat Venice (2016)

511 views

Published on

Slides from the Coderetreat in Venice, Italy in May 2016.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Code Retreat Venice (2016)

  1. 1. Welcome!
  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. I help development teams with PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY ● Professionalism ● Quality and Productivity ● Continuous Improvement
  4. 4. Mentoring PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY ● Pair Programming ● Programming Workshops ● Deliberate Practice, e.g. Coding Dojos
  5. 5. Developing Quality Software Developers
  6. 6. Coderetreat a day of learning and practice
  7. 7. How do musicians practice?
  8. 8. Then how do coders practice?
  9. 9. 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
  10. 10. Day Structure ● Introduction ● 3 Sessions of ● Coding ● Retrospective ● Lunch ● 3 Sessions ● Retrospective PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  11. 11. 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/
  12. 12. 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
  13. 13. 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
  14. 14. 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://cyber-dojo.org/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  15. 15. How to take advantage ● Embrace freedom of deleting the code ● Do what you always wanted but couldn't ● Get out of your comfort zone ● Pair with strangers in languages you do not know ● What you learn is your responsibility ● Think about what you want to practice PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  16. 16. Think About Learning Topics ● Why are you here? ● What do you want to learn? ● What do you expect from today? ● How can this happen? ● How can I help you? ● Write your concrete needs on Post-its! PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  17. 17. What do you want to learn? ● TDD ● Pair Programming ● Clean Code ● Design ● Other Languages ● ... PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  18. 18. Learning Goals
  19. 19. Conway's Game of Life ● infinite, two-dimensional grid of cells ● interacts with its eight neighbours ● at each step in time, transitions occur ● four rules for cells depending on number of live neighbours http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  20. 20. Rules of Cell Interaction ● Any live cell with fewer than two live neighbours dies by under-population. ● Any live cell with two or three live neighbours lives on to the next generation. ● Any live cell with more than three live neighbours dies, as if by overcrowding. ● Any dead cell with exactly three live neighbours becomes a live cell, by reproduction. http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  21. 21. Programming Languages?
  22. 22. Get Ready! ● Find a pair. ● Agree on language. ● Use one computer. ● Set up empty project. ● Write a failing test. ● Implement Game of Life. ● Use TDD if possible.
  23. 23. Don't Focus on Getting it Done. Focus on Doing It Perfectly.
  24. 24. Our Sessions ● do your best ● Verbs instead of Nouns ● Solution Seeker ● Ping Pong Mute ● Clean Code: 4 lines/2 param per method ● No If (Fun Session) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  25. 25. Closing Circle ● What did you learn today? ● What surprised you today? ● What will you do differently in the future? PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  26. 26. Learnings
  27. 27. Peter Kofler @codecopkofler www.code-cop.org organized by Interlogica S.r.l. @interlogica www.interlogica.it PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  28. 28. CC Images ● welcome https://www.flickr.com/photos/7502393@N04/472028910/ ● Bruce http://www.flickr.com/photos/sherpas428/4350620602/ ● pairing http://www.flickr.com/photos/dav/94735395/ ● list http://www.flickr.com/photos/kylesteeddesign/3724074594/ ● incense http://www.flickr.com/photos/cibomahto/7651263514/ ● music https://www.flickr.com/photos/jeremyhiebert/11474303315 ● code https://www.flickr.com/photos/slworking/7726767220/ ● Dojo http://www.flickr.com/photos/49715404@N00/3267627038/ ● pull https://www.flickr.com/photos/criminalintent/17235879021/ ● languages https://www.flickr.com/photos/jurek_durczak/16235946053/ ● start https://www.flickr.com/photos/36821100@N04/5417281120/ ● wants you: http://www.flickr.com/photos/shutter/105497713/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

×