This document introduces software craftsmanship and how to become a craftsman like in traditional crafts. It discusses learning from experienced developers through apprenticeships, pair programming, test-driven development, coding retreats and dojos. Mastering techniques takes practice over time. The path is to learn from others, teach others as a journeyman, and continue challenging oneself with questions.
9. Things You Learn on
First Day as Professional
• Source Control
• Issue Tracking
• Time Tracking
• Estimation & Deadline
• Communication
• Team Work
• NO MORE FUN
13. We Noticed:
• Developers Learn By Themselves
• College = Computer Science
• Developers have Deadlines =>
Beautiful code at start, Quick & Dirty
Code near Deadlines
14. IDEA
What If You Could Write Beautiful Code At
Least As FAST as Quick&Dirty Code?
15. Be Professional!
• Challenging to learn it at job
• Practice, alone or with other people
• Learn history
• Value experience & knowledge
16. What To Practice?
• Some Ideas:
• Pair programming
• TDD
• Other languages
• Fully use your editor
• Communication
• ... and anything else
17. How To Learn?
• Practice:
• Code Retreat
• Coding Dojo
• Coding Kata
• Pairing with people
18. Code Retreat
• Format:
• One problem
• 3 + 3 x 1h sessions
• Delete the code
• Retrospective
• “Programming is
fun again”
19. Coding Kata
• Term by Dave
Thomas
• Practice over and
over the same
problem or technique
20. Coding Dojo
• One Problem
• Collective Mind
• Phases:
• Discuss
• Code
• Swap
21. From Whom to
Learn?
Experienced Coders
Colleagues
Any Other Developer