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.
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
• ...
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...
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 experie...
What To Practice?
• Some Ideas:
  • Pair programming
  • TDD
  • Other languages
  • Fully use your editor
  • Communicati...
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
  f...
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
...
Upcoming SlideShare
Loading in …5
×

Introduction to software craftsmanship

3,330 views

Published on

"Introduction to Software Craftsmanship" slides. Presentation was initially held at AgileCE.

Published in: Technology
  • Be the first to comment

Introduction to software craftsmanship

  1. 1. Introduction To Software Craftsmanship V1, Because We Embrace Change
  2. 2. Romanian Craftsmanship - Horezu Area
  3. 3. Soft ware Development Is A Craft
  4. 4. How Did One Become a Craftsman? Apprentice => Journeyman => Craftsman
  5. 5. How Does One Become a Developer?
  6. 6. Have Fun Learning
  7. 7. http://theebgar.net/2009/from-6-840-to-754/ College Years: Computer Science
  8. 8. “Professional” Programmer
  9. 9. Things You Learn on First Day as Professional • Source Control • Issue Tracking • Time Tracking • Estimation & Deadline • Communication • Team Work • NO MORE FUN
  10. 10. Q: How Did You Start Programming?
  11. 11. We are: Maria Diaconu Alexandru Bolboaca 10+ yrs of Soft ware Organization & Technical Expertise
  12. 12. Q: How Did We Start Programming?
  13. 13. We Noticed: • Developers Learn By Themselves • College = Computer Science • Developers have Deadlines => Beautiful code at start, Quick & Dirty Code near Deadlines
  14. 14. IDEA What If You Could Write Beautiful Code At Least As FAST as Quick&Dirty Code?
  15. 15. Be Professional! • Challenging to learn it at job • Practice, alone or with other people • Learn history • Value experience & knowledge
  16. 16. What To Practice? • Some Ideas: • Pair programming • TDD • Other languages • Fully use your editor • Communication • ... and anything else
  17. 17. How To Learn? • Practice: • Code Retreat • Coding Dojo • Coding Kata • Pairing with people
  18. 18. Code Retreat • Format: • One problem • 3 + 3 x 1h sessions • Delete the code • Retrospective • “Programming is fun again”
  19. 19. Coding Kata • Term by Dave Thomas • Practice over and over the same problem or technique
  20. 20. Coding Dojo • One Problem • Collective Mind • Phases: • Discuss • Code • Swap
  21. 21. From Whom to Learn? Experienced Coders Colleagues Any Other Developer
  22. 22. The Manifesto
  23. 23. Be An Apprentice = Learn from someone Master = Teach Someone Journeyman = Travel and Work With People
  24. 24. I Saved a Project with These Techniques • Clean Code + Boyscout rule + refactoring • Pair • TDD
  25. 25. Questions
  26. 26. A Challenge for You!
  27. 27. “The Important Thing is Not To Stop Questioning”
  28. 28. 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

×