KEMBAR78
Introduction to software craftsmanship | ZIP
Introduction To
Software Craftsmanship
   V1, Because We Embrace Change
Romanian
Craftsmanship -
 Horezu Area
Soft ware Development
      Is A Craft
How Did One Become
   a Craftsman?
Apprentice => Journeyman => Craftsman
How Does One
Become a Developer?
Have Fun Learning
http://theebgar.net/2009/from-6-840-to-754/


College Years: Computer
         Science
“Professional”
 Programmer
Things You Learn on
First Day as Professional
• Source Control
• Issue Tracking
• Time Tracking
• Estimation & Deadline
• Communication
• Team Work
• NO MORE FUN
Q: How Did You Start
   Programming?
We are:
   Maria Diaconu
Alexandru Bolboaca
   10+ yrs of Soft ware
 Organization & Technical
        Expertise
Q: How Did We Start
   Programming?
We Noticed:

• Developers Learn By Themselves
• College = Computer Science
• Developers have Deadlines =>
  Beautiful code at start, Quick & Dirty
  Code near Deadlines
IDEA
What If You Could Write Beautiful Code At
  Least As FAST as Quick&Dirty Code?
Be Professional!


• Challenging to learn it at job
• Practice, alone or with other people
• Learn history
• Value experience & knowledge
What To Practice?
• Some Ideas:
  • Pair programming
  • TDD
  • Other languages
  • Fully use your editor
  • Communication
  • ... and anything else
How To Learn?

• Practice:
  • Code Retreat
  • Coding Dojo
  • Coding Kata
• Pairing with people
Code Retreat
• Format:
  • One problem
  • 3 + 3 x 1h sessions
  • Delete the code
  • Retrospective
• “Programming is
  fun again”
Coding Kata


• Term by Dave
  Thomas

• Practice over and
  over the same
  problem or technique
Coding Dojo

• One Problem
• Collective Mind
• Phases:
  • Discuss
  • Code
  • Swap
From Whom to
   Learn?
Experienced Coders
    Colleagues
Any Other Developer
The Manifesto
Be An
Apprentice = Learn from someone
    Master = Teach Someone
 Journeyman = Travel and Work
          With People
I Saved a Project with
   These Techniques

• Clean Code + Boyscout rule +
  refactoring
• Pair
• TDD
Questions
A Challenge for You!
“The Important Thing is Not To Stop
           Questioning”
Thank You!
  Maria Diaconu & Alexandru Bolboaca

MosaicWorks - www.mozaicworks.com
mddiaconu@gmail.com; Twitter: fireladyM

         www.alexbolboaca.ro
 alexboly@gmail.com; Twitter: alexboly

  AgileWorks Romania - agileworks.ro
   OpenAgile Romania - openagile.ro

Introduction to software craftsmanship