erkan_erol_
Co-organizer
ScTurkey
Software Developer
SAP DCT
Slide 3
Slide 3 text
DISCLAIMER
This presentation contains so much copy/paste content from some
conference talks, blog posts and books.
References are available in the speaker notes.
bit.ly/erkanerol-apprenticeship
Opinions are my own and not the views of my employer.
1970
# of computers in the world:
100,000n
n ∈ N, 1 < n < 10
Slide 46
Slide 46 text
1970
# of programmers in the world:
1,000,000n
n ∈ N, 1 < n < 10
Slide 47
Slide 47 text
Now Remember
● Up to now programmers were disciplined professionals.
● They didn’t need a lot of management
● They knew how to manage their time, communicate,
and work together.
Slide 48
Slide 48 text
MIRACLES!
● IBM 360 Virtual Memory OS
● NASA: Mercury, Gemini, Apollo
● Structured, Functional, Object-Oriented
● Fortran, Cobol, Algol, Lisp, C, Unix
Slide 49
Slide 49 text
1970s
Tens of thousands of new CS & EE Grads
They were all young and almost all male.
Slide 50
Slide 50 text
1970- 1995
Number of programmers doubles every five years.
Slide 51
Slide 51 text
1970- 1995
It means
Half of them have less than five years experience!
Slide 52
Slide 52 text
1970s-1990s
foundational theories
and
practices of software engineering
came into being
Slide 53
Slide 53 text
1970s-1990s
The idea was to equate software engineering with
physical engineering and borrow as much as
possible from the design and building actual.
Slide 54
Slide 54 text
WATERFALL
Slide 55
Slide 55 text
Software Crisis
● over-budget
● over-time
● inefficient
● low quality
● does not meet requirements
● difficult to maintain
● never delivered
Slide 56
Slide 56 text
1975 -> 1982 -> 1995
Slide 57
Slide 57 text
NO SILVER BULLET - 1986
Slide 58
Slide 58 text
1990s: APPLICATION DELIVERY LAG
Slide 59
Slide 59 text
1995
Original cohort of disciplined professionals retires.
The first wave of career programmers comes of age (well
over 40).
They foresee the need for change.
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
No content
Slide 62
Slide 62 text
No content
Slide 63
Slide 63 text
2001: Snowbırd
Slide 64
Slide 64 text
AGILE MANIFESTO
Slide 65
Slide 65 text
RAPID ADOPTION
Slide 66
Slide 66 text
2003
Slide 67
Slide 67 text
No content
Slide 68
Slide 68 text
CERTIFICATION
Slide 69
Slide 69 text
No content
Slide 70
Slide 70 text
No content
Slide 71
Slide 71 text
CRAFTSMANSHIP
as an ideology
Slide 72
Slide 72 text
Turing: Discipline and Ability
Agile was about Discipline.
XP was about Craftsmanship.
Slide 73
Slide 73 text
Agile
Business
Practices
Craftsmanship
Technical
Practices
AGILE SPLIT
Slide 74
Slide 74 text
Irony
A goal for Agile:
Healing of the divide between
business and programming.
- Kent Beck
Slide 75
Slide 75 text
“lose track of what we are doing”
- Turing
Slide 76
Slide 76 text
AGILE 2008: CRAFTSMANSHIP OVER CRAP
Slide 77
Slide 77 text
DEC 2008
Slide 78
Slide 78 text
MAR 2009
Slide 79
Slide 79 text
AGILE vS CRAFTSMANSHIP
building the right thing
vs
building the thing right
Slide 80
Slide 80 text
MOVEMENT
Slide 81
Slide 81 text
Software Craftsmanship is
“an ideology or a mindset”
Slide 82
Slide 82 text
Software Craftsmanship is
“a long journey to mastery”
Slide 83
Slide 83 text
Software Craftsmanship is
“about professionalism in software development.”
Slide 84
Slide 84 text
Software Craftsmanship is not
● Beautiful code
● Test-Driven Development
● Self-selected group of people
● Specific technologies or methodologies
● Certifications
● Religion
Slide 85
Slide 85 text
UNCLE BOB
We must Grow Up
Define our profession
Choose our practices and
disciplines
Reunify Agile / Craftsmanship
Slide 86
Slide 86 text
Business doesn’t understand us
They cannot evaluate,
endorse or approve any
technical practices.
Slide 87
Slide 87 text
WE HAVE TO SAVE OUR PROFESSION!
Slide 88
Slide 88 text
APPRENTICESHIP
as an attitude
Slide 89
Slide 89 text
APPRENTICES IN THE WILD
Slide 90
Slide 90 text
THEY ARE PASSIONATE!
Slide 91
Slide 91 text
NOT A 9 to 5 professıon
Slide 92
Slide 92 text
No content
Slide 93
Slide 93 text
No content
Slide 94
Slide 94 text
No content
Slide 95
Slide 95 text
No content
Slide 96
Slide 96 text
You can not do this job with laziness
(The story of Fatih Arslan is continuing)
Slide 97
Slide 97 text
THEY ARE LEARNING LIKE CRAZY
● Books
● Blogs
● Videos
● Conferences
● Meetups
Slide 98
Slide 98 text
WHAT IS THE PROBLEM?
Slide 99
Slide 99 text
No content
Slide 100
Slide 100 text
THE SCIENCE BEHIND THE BEAN
Slide 101
Slide 101 text
COFFEE LOVERS KNOW COFFEE
Slide 102
Slide 102 text
The second law of thermodynamics:
the total entropy of an isolated system can
never decrease over time.
chemists know “MATTER”
Slide 103
Slide 103 text
THEY KNOW “SOFTWARE”
https://www.youtube.com/watch?v=jWj-cMGQMeA
Slide 104
Slide 104 text
THEY KNOW PRINCIPLES
● Inversion of Control
● Cohesion / Coupling
● Separation of Concerns
● KISS
● SOLID
● Law of Demeter
● Orthogonality
Slide 105
Slide 105 text
THEY KNOW TECHNIQUES
Slide 106
Slide 106 text
THEY HAVE CONCRETE SKILLS
C++
UNIX JAVA HTTP
GO
JS
ECLIPSE
VIM
k8s
VSCODE
RAILS
SPRING
DOCKER
GIT REACT
Slide 107
Slide 107 text
THEY DO PRACTICE
Slide 108
Slide 108 text
HOW TO PRACTICE?
● CHALLENGE
● REPEAT
● FEEDBACK
Slide 109
Slide 109 text
HOW TO PRACTICE?
NO PRESSURE
Do not complete the task, master it!
Slide 110
Slide 110 text
codekata.com
Slide 111
Slide 111 text
NOT ALONE!
Slide 112
Slide 112 text
No content
Slide 113
Slide 113 text
No content
Slide 114
Slide 114 text
THEY HAVE SOFT SKILLS
Slide 115
Slide 115 text
No content
Slide 116
Slide 116 text
SOFTWARE DEVELOPMENT requıres
effectıve communıcatıon skılls!
Slide 117
Slide 117 text
No content
Slide 118
Slide 118 text
THEY ARE HUMBLE!
Slide 119
Slide 119 text
Egoless Programming
● You are not your code.
● Critique code instead of people – be kind to the coder, not to
the code.
● Treat people who know less than you with respect, deference,
and patience.
● Fight for what you believe, but gracefully accept defeat.
Slide 120
Slide 120 text
The Humble Programmer
“The competent programmer is fully aware of the strictly
limited size of his own skull; therefore he approaches the
programming task in full humility, and among other things
he avoids clever tricks like the plague.”
- Edsger W. Dijkstra
Slide 121
Slide 121 text
THEY OWN THEIR CAREER!
Slide 122
Slide 122 text
No content
Slide 123
Slide 123 text
THEY BUILD COMMUNITIES
Slide 124
Slide 124 text
No content
Slide 125
Slide 125 text
No content
Slide 126
Slide 126 text
INTERACTION SAVES YOU!
Slide 127
Slide 127 text
THEY HAVE PET PROJECTS
Slide 128
Slide 128 text
open source is eating the world
opensource.guide
Slide 129
Slide 129 text
THEY ARE HonesT and BRAVE
Slide 130
Slide 130 text
PROFESSIONALISM, PRAGMATISM, PRIDE
Slide 131
Slide 131 text
WRAP UP
Slide 132
Slide 132 text
THANKS FOR LISTENING
bit.ly/erkanerol-apprenticeship