Software
Craftsmanship
John Godoi (jgodoi1)
LDC-Developer
Analytics
Who am I?
● 10 years of apprenticeship of the craft
● UNIFESP (graduation, unfinished master),
● PUC-Minas (specialization)
● 8 years acting professionally in enterprise solutions
● 1 year of JnJ
● Focused in delivering value
● Commitment to quality and solution flexibility
● Practitioner of good practices and principles
● Aligned with bleeding edge technologies
● Data lover (Machine Learning researcher and BI curious)
● DevOps enthusiastic
Craftsmanship?
Craftsmanhip
● Quality
○ User/client needs attended
○ Best practices
○ Best material
○ Best toolset
Craftsmanhip
● Value focused
○ Not random/careless
○ Focused
○ Aiming best outcome
Craftsmanhip
● Master
○ Applied techniques
○ Tools
○ Capable to deal with constraints
(time/resources)
Craftsmanhip
● Satisfaction
● Passion
● Personal
○ Customized
○ Unique
Art
● How to judge:
○ Skill and technique
○ Fulfilled intent
○ Uniqueness
○ Inherent meaning
● It is all expression of
form and being
manifestation. It is
connect to sensibility
and imagination in
practice somehow
What composes
software
development?
Computer
● To compute: to calculate, to reason → computer would be a machine to calculate
and reason
● Mathematicians won the war. Mathematicians broke the Japanese codes... and
built the A-bomb. Mathematicians... like you. The stated goal of the Soviets is
global Communism. In medicine or economics, in technology or space, battle
lines are being drawn. To triumph, we need results. Publishable, applicable
results. - Hellinger - Beautiful Mind
Engineering
● Patterns
● Scientifical
● Reproducible
● Quantifiable
● Principles
● Design
● Build
● Create
● Improve
● Evolved from Art
Technology
● (Greek) Tekhnē - technique, art, craft
● (Greek) -logia - subject of study
Code
● “As you will find in multivariable calculus, there is often a number of
solutions for any given problem.”― John Nash - Beautiful Mind
● The mythical man month - The joys of the Craft
● “I like solving problems, Commander. And Enigma is the most difficult
problem in the world.” - Alan Turing - The Imitation Game
● The art of computer programming - Donald E. Knuth (fundamental,
seminumerical, sorting and searching, combinatorial, mathematics
preliminares redux, backtracking, dancing links and satisfiability)
Software
Craftsmanship?
Old message
1992
Essay: What Is
Software Design? -
Jack W. Reeves
1999
Book: The
Pragmatic
Programmer:
From
Journeyman to
Master - Andy
Hunt and Dave
Thomas
1965
Books: The art of
computer
programming -
Donald E. Knuth
1975
Book: The mythical
man-month -
Frederick Brooks
2008
Keynote: The fifth
value -
Craftsmanship over
Crap
(Craftsmanship
over Execution) -
Robert C. Martin
(aka Uncle Bob)
2009
Software
Craftsmanship
Manifesto
2001
Book: Software
Craftsmanship -
Peter McBreen’s
2001
The Agile Manifesto
-
“It is not Nissin
Lamen” - an
Embraer
Engineer about
R&D
“Good cooking takes time. If you are
made to wait, it is to serve you
better, and to please you.” - Menu of
Restaurant Antoine, New Orleans
Drawing in 10 min, 1 min and 10 secs
Software
Craftsmanship
John Godoi (jgodoi1)
LDC-Developer
Analytics
Q&A
Thank you!

Software craftsmanship

  • 1.
  • 2.
    Who am I? ●10 years of apprenticeship of the craft ● UNIFESP (graduation, unfinished master), ● PUC-Minas (specialization) ● 8 years acting professionally in enterprise solutions ● 1 year of JnJ ● Focused in delivering value ● Commitment to quality and solution flexibility ● Practitioner of good practices and principles ● Aligned with bleeding edge technologies ● Data lover (Machine Learning researcher and BI curious) ● DevOps enthusiastic
  • 3.
  • 4.
    Craftsmanhip ● Quality ○ User/clientneeds attended ○ Best practices ○ Best material ○ Best toolset
  • 5.
    Craftsmanhip ● Value focused ○Not random/careless ○ Focused ○ Aiming best outcome
  • 6.
    Craftsmanhip ● Master ○ Appliedtechniques ○ Tools ○ Capable to deal with constraints (time/resources)
  • 7.
    Craftsmanhip ● Satisfaction ● Passion ●Personal ○ Customized ○ Unique
  • 8.
    Art ● How tojudge: ○ Skill and technique ○ Fulfilled intent ○ Uniqueness ○ Inherent meaning ● It is all expression of form and being manifestation. It is connect to sensibility and imagination in practice somehow
  • 9.
  • 10.
    Computer ● To compute:to calculate, to reason → computer would be a machine to calculate and reason ● Mathematicians won the war. Mathematicians broke the Japanese codes... and built the A-bomb. Mathematicians... like you. The stated goal of the Soviets is global Communism. In medicine or economics, in technology or space, battle lines are being drawn. To triumph, we need results. Publishable, applicable results. - Hellinger - Beautiful Mind
  • 11.
    Engineering ● Patterns ● Scientifical ●Reproducible ● Quantifiable ● Principles ● Design ● Build ● Create ● Improve ● Evolved from Art
  • 12.
    Technology ● (Greek) Tekhnē- technique, art, craft ● (Greek) -logia - subject of study
  • 13.
    Code ● “As youwill find in multivariable calculus, there is often a number of solutions for any given problem.”― John Nash - Beautiful Mind ● The mythical man month - The joys of the Craft ● “I like solving problems, Commander. And Enigma is the most difficult problem in the world.” - Alan Turing - The Imitation Game ● The art of computer programming - Donald E. Knuth (fundamental, seminumerical, sorting and searching, combinatorial, mathematics preliminares redux, backtracking, dancing links and satisfiability)
  • 14.
  • 15.
    Old message 1992 Essay: WhatIs Software Design? - Jack W. Reeves 1999 Book: The Pragmatic Programmer: From Journeyman to Master - Andy Hunt and Dave Thomas 1965 Books: The art of computer programming - Donald E. Knuth 1975 Book: The mythical man-month - Frederick Brooks 2008 Keynote: The fifth value - Craftsmanship over Crap (Craftsmanship over Execution) - Robert C. Martin (aka Uncle Bob) 2009 Software Craftsmanship Manifesto 2001 Book: Software Craftsmanship - Peter McBreen’s 2001 The Agile Manifesto -
  • 20.
    “It is notNissin Lamen” - an Embraer Engineer about R&D “Good cooking takes time. If you are made to wait, it is to serve you better, and to please you.” - Menu of Restaurant Antoine, New Orleans
  • 21.
    Drawing in 10min, 1 min and 10 secs
  • 22.