SlideShare a Scribd company logo
You Are Not A
Craftsman
H. Alan Stevens
Email/IM: alanstevens@gmail.com
Blog: http://halanstevens.com
Twitter: @alanstevens
Contact Me
Grow,
don't build,
software.Fred Brooks
I'm fundamentally uninterested in
whether software development
is a craft, an art, a trade, or a
dessert topping.
Martin Fowler
Software Craftsmanship
EXERCISE
•Software Craftsmanship means...
•Software craftsmen value...
•Developers who are not craftsmen value...
•We need a Software Craftsmanship
movement to...
•The purpose of a Software Craftsmanship
group is...
noun /ˈkraf(t)smənˌSHip/ 
craftsmanships, plural
Skill in a particular craft
- I admire his engineering skills and
craftsmanship
The quality of design and work shown
in something made by hand; artistry
- a piece of fine craftsmanship
crafts·man·ship
Craftsmanship is a self-
sustaining system in which
masters arrange for the training
of their replacements and where
status is based purely on the
work you've done. Dave Thomas
A collective form of
self-preoccupation.
Michael Feathers
Pete McBreen
In the end, software development
is a craft skill that subtly blends
art, science, and engineering.
It's not just a day job; it can be a
passion.
Being against craftsmanship is
like being against World
Peace, kittens or sliced bread.
David Harvey
Skepticism
is not
pessimism
Corey Alan Leon
Skill
EXERCISE
•The most important skill for a developer is...
•To improve my skill by 5% I would...
•If I ship crappy code...
•Sometimes, very skilled developers...
Great design does not come
from great processes;
it comes from great designers.
Fred Brooks
I can teach you anything
I need you to know,
except how to care.
H. Alan Stevens
My first proposal is that each
software organization must
determine and proclaim that great
designers are as important to its
success as great managers are,
and that they can be expected to
be similarly nurtured and
rewarded.
Fred Brooks
People with little
skill have created
plenty of successful
software.
Aesthetics
Martin Fowler
When you say 'craft' to people, they
imagine fine workmanship, leather
panelling, smooth joints - and consequently
higher costs. The word 'craft' reinforces the
tradable quality hypothesis
and that's a crippling disadvantage to
those of us who know that speed requires
good design. 
Pretension
LOTRO: The Cave Troll Picture by Devon Cady Lee Gorrem
The Design Stamina Hypothesis
http://martinfowler.com/bliki/DesignStaminaHypothesis.html
Let’s not devalue
true craftsmen by
overstating the craft in
software development
www.ryanguitars.com
www.ryanguitars.com
Monoculture
That dialog box in Windows that
asks you how you want your help file
indexed does not in any way, shape,
or form resemble what any normal
English speaker would refer to as
"craftsmanship." Joel Spolsky
Good Enough
EXERCISE
•At the thought of good enough I...
•The minimum acceptable code quality...
•Code that works is...
•If I don’t have schedule or budget to build it
right...
Optimalist
Minimum Viable Product
Building the right thing is
always more important
than building it right.
H. Alan Stevens
My biggest challenge as a
developer is coding the
right thing, rather than
coding the thing right.
Liz Koegh
I’m not going to mandate test-
driving anything
(which is a huge about-face from
what I was saying a year ago),
unless it will help.
Dan North
WAT?
Values
Humility
Sir Laurence Olivier
I think a poet is a workman.
I think Shakespeare was a workman.
And God is a workman.
I don't think there is anything better
than being a workman.
Communication
Over
Procedures
Companies are like families.
They are all dysfunctional.
The key is to find a loving one.
H. Alan Stevens
LOVE
Understanding is
more important
than coding.
the moon
It's like nothing
they compare it to
Unknown
Thanks For Listening!
Email/IM: alanstevens@gmail.com
Blog: http://halanstevens.com
Twitter: @alanstevens

More Related Content

Similar to You Are Not a Craftsman

Designing Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaDesigning Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaIan Swinson
 
Arc Ready Q2 Blended Deck
Arc Ready Q2   Blended DeckArc Ready Q2   Blended Deck
Arc Ready Q2 Blended DeckPhilip Wheat
 
The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)goeran
 
Кто такой хороший Drupal-разработчик
Кто такой хороший Drupal-разработчикКто такой хороший Drupal-разработчик
Кто такой хороший Drupal-разработчикDrupalSPB
 
Who is a Good Drupal Developer?
 Who is a Good Drupal Developer? Who is a Good Drupal Developer?
Who is a Good Drupal Developer?Kate Marshalkina
 
Build Your Own Contributors, One Part At A Time
Build Your Own Contributors, One Part At A TimeBuild Your Own Contributors, One Part At A Time
Build Your Own Contributors, One Part At A Timedreamwidth
 
EPFL - PxS, week 1 - Personal Interaction Studio 2011 introduction
EPFL - PxS, week 1 - Personal Interaction Studio 2011 introductionEPFL - PxS, week 1 - Personal Interaction Studio 2011 introduction
EPFL - PxS, week 1 - Personal Interaction Studio 2011 introductionhendrikknoche
 
How to talk to your developers
How to talk to your developersHow to talk to your developers
How to talk to your developersSpin42
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hackerRTigger
 
Marketing Your Tech Talent
Marketing Your Tech TalentMarketing Your Tech Talent
Marketing Your Tech Talentdeirdrestraughan
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump MethodologyJess McMullin
 
The Software Craftsman
The Software CraftsmanThe Software Craftsman
The Software Craftsmangoeran
 
Introduction to Design & Prototyping
Introduction to Design & PrototypingIntroduction to Design & Prototyping
Introduction to Design & PrototypingRyo Lu
 
Touchpoint 2012 Symposium on Interaction Design: Notes
Touchpoint 2012 Symposium on Interaction Design: NotesTouchpoint 2012 Symposium on Interaction Design: Notes
Touchpoint 2012 Symposium on Interaction Design: NotesVisnja Milidragovic
 
Storytelling and the Art of Getting the Design Job
Storytelling and the Art of Getting the Design JobStorytelling and the Art of Getting the Design Job
Storytelling and the Art of Getting the Design JobUXPA International
 
General Design Principles (1998)
General Design Principles (1998)General Design Principles (1998)
General Design Principles (1998)Matteo Wyllyamz
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGanesh Samarthyam
 
How to build your personal brand
How to build your personal brandHow to build your personal brand
How to build your personal brandAndrew Turnbull
 

Similar to You Are Not a Craftsman (20)

Designing Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaDesigning Your Career @ amUX Atlanta
Designing Your Career @ amUX Atlanta
 
Arc Ready Q2 Blended Deck
Arc Ready Q2   Blended DeckArc Ready Q2   Blended Deck
Arc Ready Q2 Blended Deck
 
The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)
 
Кто такой хороший Drupal-разработчик
Кто такой хороший Drupal-разработчикКто такой хороший Drupal-разработчик
Кто такой хороший Drupal-разработчик
 
Who is a Good Drupal Developer?
 Who is a Good Drupal Developer? Who is a Good Drupal Developer?
Who is a Good Drupal Developer?
 
Feature life cycle
Feature life cycleFeature life cycle
Feature life cycle
 
Build Your Own Contributors, One Part At A Time
Build Your Own Contributors, One Part At A TimeBuild Your Own Contributors, One Part At A Time
Build Your Own Contributors, One Part At A Time
 
EPFL - PxS, week 1 - Personal Interaction Studio 2011 introduction
EPFL - PxS, week 1 - Personal Interaction Studio 2011 introductionEPFL - PxS, week 1 - Personal Interaction Studio 2011 introduction
EPFL - PxS, week 1 - Personal Interaction Studio 2011 introduction
 
How to talk to your developers
How to talk to your developersHow to talk to your developers
How to talk to your developers
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hacker
 
Marketing Your Tech Talent
Marketing Your Tech TalentMarketing Your Tech Talent
Marketing Your Tech Talent
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump Methodology
 
The Software Craftsman
The Software CraftsmanThe Software Craftsman
The Software Craftsman
 
Introduction to Design & Prototyping
Introduction to Design & PrototypingIntroduction to Design & Prototyping
Introduction to Design & Prototyping
 
Touchpoint 2012 Symposium on Interaction Design: Notes
Touchpoint 2012 Symposium on Interaction Design: NotesTouchpoint 2012 Symposium on Interaction Design: Notes
Touchpoint 2012 Symposium on Interaction Design: Notes
 
Storytelling and the Art of Getting the Design Job
Storytelling and the Art of Getting the Design JobStorytelling and the Art of Getting the Design Job
Storytelling and the Art of Getting the Design Job
 
General Design Principles (1998)
General Design Principles (1998)General Design Principles (1998)
General Design Principles (1998)
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't Enough
 
Product talk
Product talkProduct talk
Product talk
 
How to build your personal brand
How to build your personal brandHow to build your personal brand
How to build your personal brand
 

More from Alan Stevens

My Prayer As I Leave You
My Prayer As I Leave YouMy Prayer As I Leave You
My Prayer As I Leave YouAlan Stevens
 
Making a Difference
Making a DifferenceMaking a Difference
Making a DifferenceAlan Stevens
 
Beyond Fast Good and Cheap
Beyond Fast Good and CheapBeyond Fast Good and Cheap
Beyond Fast Good and CheapAlan Stevens
 
Better Is the Only Way Forward
Better Is the Only Way ForwardBetter Is the Only Way Forward
Better Is the Only Way ForwardAlan Stevens
 
Distributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The PerplexedDistributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The PerplexedAlan Stevens
 
Seven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup ArtistsSeven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup ArtistsAlan Stevens
 
Does Your Code Tell A Story
Does  Your  Code  Tell  A  StoryDoes  Your  Code  Tell  A  Story
Does Your Code Tell A StoryAlan Stevens
 
The Taming Of The Code
The Taming Of The CodeThe Taming Of The Code
The Taming Of The CodeAlan Stevens
 

More from Alan Stevens (11)

My Prayer As I Leave You
My Prayer As I Leave YouMy Prayer As I Leave You
My Prayer As I Leave You
 
My Creed
My CreedMy Creed
My Creed
 
Leveling Up
Leveling UpLeveling Up
Leveling Up
 
Making a Difference
Making a DifferenceMaking a Difference
Making a Difference
 
Beyond Fast Good and Cheap
Beyond Fast Good and CheapBeyond Fast Good and Cheap
Beyond Fast Good and Cheap
 
Better Is the Only Way Forward
Better Is the Only Way ForwardBetter Is the Only Way Forward
Better Is the Only Way Forward
 
Distributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The PerplexedDistributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The Perplexed
 
Seven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup ArtistsSeven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup Artists
 
Does Your Code Tell A Story
Does  Your  Code  Tell  A  StoryDoes  Your  Code  Tell  A  Story
Does Your Code Tell A Story
 
The Taming Of The Code
The Taming Of The CodeThe Taming Of The Code
The Taming Of The Code
 
Coding In Public
Coding In PublicCoding In Public
Coding In Public
 

Recently uploaded

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 

Recently uploaded (20)

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

You Are Not a Craftsman