SlideShare una empresa de 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

Más contenido relacionado

La actualidad más candente

Senti is looking for interns!
Senti is looking for interns!Senti is looking for interns!
Senti is looking for interns!Senti
 
Getting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPIGetting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPIWilliam Welder
 
Why to learn programming
Why to learn programmingWhy to learn programming
Why to learn programminggdgjss
 
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/14Vu Hung Nguyen
 
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
 
Senti is looking for interns!
Senti is looking for interns!Senti is looking for interns!
Senti is looking for interns!Senti
 
Programming with Alice - Class Overview
Programming with Alice - Class OverviewProgramming with Alice - Class Overview
Programming with Alice - Class OverviewEmma M. Byrd
 

La actualidad más candente (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
 

Similar a Introduction to software craftsmanship

It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny daybcoder
 
Friday final test
Friday final testFriday final test
Friday final testbcoder
 
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 boardRuth Sperer
 
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 2019Hannes Lowette
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a jobYung-Yu Chen
 
Rock the Technical Interview
Rock the Technical InterviewRock the Technical Interview
Rock the Technical InterviewTISHAN MILLS
 
Insights about children testing
Insights about children testingInsights about children testing
Insights about children testingKari Kakkonen
 
The Elements of Style
The Elements of StyleThe Elements of Style
The Elements of StyleDerek Graham
 
Coding Introductory Lesson Upper Elementary
Coding Introductory Lesson Upper ElementaryCoding Introductory Lesson Upper Elementary
Coding Introductory Lesson Upper ElementaryBrittany Pike
 
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 CompanyVrann Tulika
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)Mike Harris
 
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 Aakash N S
 
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 DevelopersGabriel Tudorica
 
Colin sullivan successful-project-presentation
Colin sullivan successful-project-presentationColin sullivan successful-project-presentation
Colin sullivan successful-project-presentationmskmoorthy
 
Welcome to EHS Digital Design
Welcome to EHS Digital DesignWelcome to EHS Digital Design
Welcome to EHS Digital DesignKelleyCamp1
 
How Children Learn Testing at Testit
How Children Learn Testing at TestitHow Children Learn Testing at Testit
How Children Learn Testing at TestitKari Kakkonen
 
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) uploadThinkful
 
Wsrest13 gilherme keynote
Wsrest13 gilherme keynoteWsrest13 gilherme keynote
Wsrest13 gilherme keynoteruyalarcon
 
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...Malinda Kapuruge
 

Similar 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...
 

Más 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

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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...Neo4j
 
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.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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...
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

Introduction to software craftsmanship

Notas del editor