SlideShare uma empresa Scribd logo
1 de 28
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (9)

Senti is looking for interns!
Senti is looking for interns!Senti is looking for interns!
Senti is looking for interns!
 
Getting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPIGetting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPI
 
Why to learn programming
Why to learn programmingWhy to learn programming
Why to learn programming
 
VEF/US Embassy "Managing Your Career" 2015/08/14
VEF/US Embassy "Managing Your Career" 2015/08/14VEF/US Embassy "Managing Your Career" 2015/08/14
VEF/US Embassy "Managing Your Career" 2015/08/14
 
Senti is looking for Marketing interns!
Senti is looking for Marketing interns!Senti is looking for Marketing interns!
Senti is looking for Marketing interns!
 
Senti is looking for interns!
Senti is looking for interns!Senti is looking for interns!
Senti is looking for interns!
 
Code club
Code clubCode club
Code club
 
My Seminar Portfolio
My Seminar PortfolioMy Seminar Portfolio
My Seminar Portfolio
 
Programming with Alice - Class Overview
Programming with Alice - Class OverviewProgramming with Alice - Class Overview
Programming with Alice - Class Overview
 

Semelhante a Introduction to software craftsmanship

Getting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) uploadGetting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) upload
Thinkful
 

Semelhante a Introduction to software craftsmanship (20)

It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 
Friday final test
Friday final testFriday final test
Friday final test
 
Clean code - Getting your R&D on board
Clean code - Getting your R&D on boardClean code - Getting your R&D on board
Clean code - Getting your R&D on board
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a job
 
Rock the Technical Interview
Rock the Technical InterviewRock the Technical Interview
Rock the Technical Interview
 
Insights about children testing
Insights about children testingInsights about children testing
Insights about children testing
 
The Elements of Style
The Elements of StyleThe Elements of Style
The Elements of Style
 
Coding Introductory Lesson Upper Elementary
Coding Introductory Lesson Upper ElementaryCoding Introductory Lesson Upper Elementary
Coding Introductory Lesson Upper Elementary
 
Career of the Software Engineer in Modern Open-Source e-Commerce Company
Career of the Software Engineer in Modern Open-Source e-Commerce CompanyCareer of the Software Engineer in Modern Open-Source e-Commerce Company
Career of the Software Engineer in Modern Open-Source e-Commerce Company
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
How to Start a Career in Data Science - Jovian.ml
How to Start a Career in Data Science - Jovian.ml How to Start a Career in Data Science - Jovian.ml
How to Start a Career in Data Science - Jovian.ml
 
DevCoach - Solid Foundations for the New Wave of Software Developers
DevCoach - Solid Foundations for the New Wave of Software DevelopersDevCoach - Solid Foundations for the New Wave of Software Developers
DevCoach - Solid Foundations for the New Wave of Software Developers
 
Colin sullivan successful-project-presentation
Colin sullivan successful-project-presentationColin sullivan successful-project-presentation
Colin sullivan successful-project-presentation
 
Welcome to EHS Digital Design
Welcome to EHS Digital DesignWelcome to EHS Digital Design
Welcome to EHS Digital Design
 
How Children Learn Testing at Testit
How Children Learn Testing at TestitHow Children Learn Testing at Testit
How Children Learn Testing at Testit
 
Getting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) uploadGetting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) upload
 
CoTrade
CoTradeCoTrade
CoTrade
 
Wsrest13 gilherme keynote
Wsrest13 gilherme keynoteWsrest13 gilherme keynote
Wsrest13 gilherme keynote
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...
 

Mais de Alexandru Bolboaca

Mais de Alexandru Bolboaca (20)

Refactor legacy code through pure functions
Refactor legacy code through pure functionsRefactor legacy code through pure functions
Refactor legacy code through pure functions
 
Design Without Types
Design Without TypesDesign Without Types
Design Without Types
 
Thinking in Functions
Thinking in FunctionsThinking in Functions
Thinking in Functions
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
The Journey to Master Code Design
The Journey to Master Code DesignThe Journey to Master Code Design
The Journey to Master Code Design
 
What is good software design? And why it matters?
What is good software design? And why it matters?What is good software design? And why it matters?
What is good software design? And why it matters?
 
Functional programming in C++
Functional programming in C++Functional programming in C++
Functional programming in C++
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
 
TDD As If You Meant It
TDD As If You Meant ItTDD As If You Meant It
TDD As If You Meant It
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Hidden loops
Hidden loopsHidden loops
Hidden loops
 
Removing structural duplication
Removing structural duplicationRemoving structural duplication
Removing structural duplication
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Why You Should Start Using Docker
Why You Should Start Using DockerWhy You Should Start Using Docker
Why You Should Start Using Docker
 
Pyramid of-developer-skills
Pyramid of-developer-skillsPyramid of-developer-skills
Pyramid of-developer-skills
 
Applied craftsmanship
Applied craftsmanshipApplied craftsmanship
Applied craftsmanship
 
Pyramid of-developer-skills
Pyramid of-developer-skillsPyramid of-developer-skills
Pyramid of-developer-skills
 
Stay focused
Stay focusedStay focused
Stay focused
 
Kanban intro
Kanban introKanban intro
Kanban intro
 
Unit testing-patterns
Unit testing-patternsUnit testing-patterns
Unit testing-patterns
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Introduction to software craftsmanship

Notas do Editor