These are the slides I presented to my team last week, introducing them with the ideas from the Apprenticeship Patterns book - http://chimera.labs.oreilly.com/books/1234000001813/index.html
2. gs
hin
yt
ke
3
ce
odu s
tr
o in pattern
t
e
re th
befo
3. What is
‘Apprenticeship’?
APPRENTICESHIP PATTERNS
(guidance for the aspiring software craftsman)
1. What means
to be ‘aspiring’?
2. What is
‘Software
Craftsmanship’?
5. aspiring
verb [ intrans. ]
direct one's hopes or ambitions toward
achieving something
e.g. to become a master of
software craftsmanship
6.
7.
8. a
1
community
of practice
united and defined by
2
overlapping values
1. doesn’t exclude those people who feel that there’s something
valuable in the attempt to build a discipline of software engineering
2. some of the key values are introduced on the next series of slides →
9. GROWTH MINDSET
This entails a belief that you
can be better and everything
can be improved if you’re
prepared to work at it.
10. A need to always be adapting
and changing based on the
feedback you get from the world
around you.
Atul Gawande refers to this as a
willingness to “recognize the
inadequacies in what you do and
to seek out solutions” (Better, p.
257).
12. LOCUS OF CONTROL
INTERNAL
EXTERNAL
I control the consequences of
my behavior
The consequences of my
behavior are outside my control
•“things happen to me”
•“why bother?”
•“There is nothing I can do
This involves taking control of
and responsibility for our
destinies rather than just
waiting for someone else to
give us the answers.
s
ing
e th
mak en.”
“I
happ
about my future”
“I can
determ
my f ine
uture
.”
“look what I
can do!”
Julian Rotter
13. skill-centric rather than
process-centric
For us, it is more important to be highly skilled
than to be using the “right” process.
This idea suggests that no process or tool is going to
make everyone equally successful. Even though we
can all improve, there will always be discrepancies
in our skill levels.
14.
15. Situated Learning
Its essence is that the best way to
learn is to be in the same room
with people who are trying to
achieve some goal using the skills
you wish to learn.
16.
17. “What makes a life worth
living?”*
* Mihaly Czikszentmihalyi asks this. Noting that money cannot make
us happy, he looks to those who find pleasure and lasting satisfaction
in activities that bring about a state of "flow."
18.
19. UNDERSTANDING FLOW
Arousal
FLOW
Anxiety
CHALLENGE
1. intense and focused
concentration on the
present moment
2. merging of action and
awareness
3. a loss of reflective selfconsciousness
4.a sense of personal
control or agency over the
situation or activity
5. a distortion of temporal
experience, one's
subjective experience of
time is altered
6.experience of the activity
as intrinsically rewarding,
also referred to as
autotelic experience
Control
Worry
Relaxation
Apathy
Boredom
SKILLS
20. UNDERSTANDING FLOW
Arousal
Anxiety
CHALLENGE
1. intense and focused
concentration on the
present moment
2. merging of action and
awareness
3. a loss of reflective selfconsciousness
4.a sense of personal
control or agency over the
situation or activity
5. a distortion of temporal
experience, one's
subjective experience of
time is altered
6.experience of the activity
as intrinsically rewarding,
also referred to as
autotelic experience
The winding curve of learning
FLOW
Control
Worry
Relaxation
Apathy
Boredom
SKILLS
22. LET’S LEARN ABOUT LEARNING
&
examine some apprenticeship patterns →
focus on some of the patterns
(read the book to get to know all
of the documented patterns)
25. Unleash Your
Enthusiasm
Nurture Your
Passion
Retreat into
Competence
Concrete Skills
Confront Your
Ignorance
Breakable Toys
Expose Your
Ignorance
Show the people who are
depending on you that the
learning process is part
of delivering software.
Let them see you grow.
26. Unleash Your
Enthusiasm
Nurture Your
Passion
Retreat into
Competence
Concrete Skills
Confront Your
Ignorance
Breakable Toys
Expose Your
Ignorance
Pick one skill, tool, or
technique and actively
fill the gaps in your
knowledge about it.
27. Unleash Your
Enthusiasm
Nurture Your
Passion
Retreat into
Competence
Confront Your
Ignorance
Expose Your
Ignorance
Concrete Skills
Acquire and maintain
Breakable Toys
concrete skills. ...the
possession of discrete and
demonstrable ability with
specific tools and
technologies increases the
likelihood that you will be
trusted to contribute
28. Unleash Your
Enthusiasm
Nurture Your
Passion
Retreat into
Competence
Confront Your
Ignorance
Expose Your
Ignorance
Concrete Skills
Breakable Toys
Do not allow anyone to
dampen your
excitement for the craft
—it is a precious
commodity and will
accelerate your learning.
29. 2 - Walking the Long Road
“How long will it take to
master aikido?” a
prospective student asks.
“How long do you expect to
live?” is the only
respectable response.
—George Leonard, Mastery
30. Craft over Art
Expand Your
Bandwidth
Find Mentors
The Long Road
Draw Your
Own Map
Kindred Spirits
Sustainable
Motivations
Nurture Your
Passion
Study the
Classics
31. Craft over Art
Expand Your
Bandwidth
The Long Road
Sustainable
Motivations
Find Mentors
...keep your focus on the
Draw Your
long term. During your
Own Map
apprenticeship, value
Kindred Spirits
learning and long-term
growth opportunities over
Nurture Your
Passion
salary and traditional
Study the
notions of leadership.
Classics
32. Craft over Art
Expand Your
Bandwidth
The Long Road
Focus on delivering
value Find Mentors customer
to your
over advancing your
own self-interests.
Draw Your
As a
Own Map
Sustainable
Motivations
craftsman you are
primarily building
Kindred Spirits
something that serves the
needs
Nurture Your of others, not
Passion
indulging in artistic
Study the
expression. Classics
33. “Anyone who has ever seen
Craft over Art
Expand Your a programmer at
Bandwidth
Find Mentors
work...knows that
programming itself, if the
The Long Road
programmer is given the
chance to do it his way, is
Draw Your
Own Mapbiggest motivation in
the
Kindred Spirits
programming.”
Sustainable
Motivations
Nurture Your
—Jerry
Passion
Weinberg, The
Psychology of Computer
Study the
Classics
Programming
34. “..there is not much overlap between the kind of software that makes
money and the kind of software that’s interesting to write.... If you
want to make money, you tend to be forced to work on problems that
are too nasty for anyone to solve for free.”
—Paul Graham, Hackers & Painters
35. Craft over Art
Expand Your
Work on what youBandwidth
like. Find something at work that
Find Mentors
interests you, identify it as something you enjoy, and
pour yourself into it. If you can’t spare enough time
The workday
during the Long Road for this activity, consider putting
in some extra time. If this isn’t feasible, dedicate
Draw Your
Own Map
some time outside of work to build some Breakable
Toys.
Kindred Spirits
Sustainable
Motivations
Nurture Your
Passion
Study the
Classics
36. Craft over Art
Expand Your
Bandwidth
Identify a logical but
ambitious next step
Find Mentors
for your career.
The Long Road
Draw Your
Own Map
Kindred Spirits
Sustainable
Motivations
Nurture Your
Passion
Study the
Classics
37. 3 - Accurate Self-Assessment
The Dunning–Kruger effect is
a cognitive bias in which
unskilled individuals
suffer from illusory
superiority, mistakenly
rating their ability much
higher than is accurate. This
bias is attributed to a
metacognitive inability of the
unskilled to recognize their
ineptitude.
39. Breakable
Toys
Create
Feedback Loops
Concrete
Skills
Be the Worst
The Deep End
Reflect as You
Work
Sweep the
Floor
Surround yourself with developers who are better
Nurture Your
Rubbing
than you. Go to the team where you are Elbows
the weakest
Passion
member and have room to grow.
Find Mentors
Kindred Spirits
The Long Road
Record What
You Learn
40. Breakable
Toys
Create
Feedback Loops
Concrete
Skills
Be the Worst
The Deep End
Find Mentors
Nurture Your
Passion out
Seek
Sweep the
Floor
Rubbing
Elbows
who have
those
gone ahead of you and strive
to learn from them.
Kindred Spirits
The Long Road
Reflect as You
Work
Record What
You Learn
41. Breakable
Toys
Concrete
Skills
Reflect as You
Work
To keep your momentum going, especially in the
Create
Feedback Loops
absence of a full-time mentor, you need to be in
Be the Worst
Sweep the
frequent contact with people who areFloor
walking a
The road.
similarDeep End Therefore you should seek out
people like yourself who are also looking to
Nurture Your
Rubbing
Passion
Elbows
excel.
Find Mentors
Kindred Spirits
The Long Road
Record What
You Learn
42. “Nothing is more powerful than a community of talented people
working on related problems.”
—Paul Graham, Hackers & Painters
43. Breakable
Toys
ways to
Concrete
Skills
Find
sit with
another software developer
Create
Feedback Loops
and accomplish a hands-on
Be the Worst
task together, side-by-side.
There are some things that
The Deep End
can only be learned while
Nurture Your
you are sitting with another
Passion
Find Mentors developer to
software
accomplish a shared
Kindred Spirits
objective.
The Long Road
Reflect as You
Work
Sweep the
Floor
Rubbing
Elbows
Record What
You Learn
44. 4 - Perpetual Learning
+
learning
communication
software development
45. Expand Your
Bandwidth
Use the Source
Practice,
Practice,
Practice
Find Mentors
Concrete
Skills
Share What
You Learn
Be the Worst
Kindred Spirits
Create
Feedback Loops
Reflect as You
Work
Breakable
Toys
Learn How
You Fail
Draw Your
Own Map
Confront Your
Ignorance
Read
Constantly
Record What
You Learn
46. Expand Your
Bandwidth
You
Use the Source
the
discipline and techniques
Draw Your
necessary to efficiently Map
Own
Reflect as You
Practice,
Work
absorb new information, as
Practice,
Practicewell as to understand it,
Confront Your
retain it, and apply it.
Ignorance
Find Mentors
Concrete
Skills
Share What
You Learn
Create
Feedback Loops
must develop
Learn How
You Fail
Be the Worst
Kindred Spirits
Breakable
Toys
It involves seeking out new
Read
Constantly
knowledge and experiences
Record What
in multiple dimensions.
You Learn
47. Expand Your
Bandwidth
Use the Source
Find Mentors
Concrete
Skills
Practice,
Practice,
Practice
Share What
Be the Worst
You Learn
Take the time to practice
Create
Feedback Loops
Reflect as You
Work
Breakable
Toys
Learn How
You Fail
Draw Your
Own Map
Confront Your
Ignorance
your craft without Read
Constantly
interruptions, in an environment where you
Record What
can feel comfortable making mistakes.
Kindred Spirits
You Learn
48. Expand Your
Bandwidth
Use the Source
Budget for failure by
Practice,
Find Mentors
designing and building toy
Practice,
Practice
systems that are similar
Concrete
Skills
in toolset, but not in scope
to theShare What you build
systems
Be the Worst
You Learn
at work.
Kindred Spirits
Create
Feedback Loops
Reflect as You
Work
Breakable
Toys
Learn How
You Fail
Draw Your
Own Map
Confront Your
Ignorance
Read
Constantly
Record What
You Learn
49. Expand Your
Bandwidth
Use the Source
Practice,
Practice,
people’s
Practice
Find Mentors
Create
Feedback Loops
Reflect as You
Work
Seek out other
code and
Concrete
read it. Start with the applications
Skills
and tools you use every day.Breakable
Share What
You Learn
Be the Worst
Kindred Spirits
Learn How
You Fail
Draw Your
Own Map
Confront Your
Ignorance
Toys
Read
Constantly
Record What
You Learn
50. Expand Your
Bandwidth
Use the Source
This involves regular
introspection into how you
Practice,
Find Mentors
are working. Consider
Practice,
Practice
whether your practices are
Concrete
novel, Skills
innovative, or
outdated. Ask yourself
Share What
Be the Worst
You Learn
questions about the things
that the rest of your team
takes for granted.
Kindred Spirits
Create
Feedback Loops
Reflect as You
Work
Breakable
Toys
Learn How
You Fail
Draw Your
Own Map
Confront Your
Ignorance
Read
Constantly
Record What
You Learn
51. Learn How
personal
You Fail
Create
Keep a record of your journey in a journal,
Expand Your
Feedback Loops
Use the Source
Bandwidth
wiki, or blog. A chronological record of the lessons
Draw Your
you have learned can provide inspiration to those
Own Map
Reflect as You
you mentor, since it makes your journey explicit,
Practice,
Find Mentors
Work
Practice,
but it can also givePracticea vital resource to draw
you
Concrete
upon. Skills
Confront Your
Share What
You Learn
Be the Worst
Kindred Spirits
Breakable
Toys
Ignorance
Read
Constantly
Record What
You Learn
53. Expose Your
Ignorance
The Long
Road
Study the
Classics
Familiar Tools
Read
Constantly
Kindred Spirits
Breakable
Toys
Find Mentors
Reading List
Share What
You Learn
Dig Deeper
54. Expose Your
Ignorance
The Long
Road
Study the
Classics
Read
Constantly
Kindred Spirits
Reading List
Share What
You Learn
Maintain a Reading List to
Familiar Tools
track the books you plan to
read, and remember the
Breakable
books you’ve read.
Toys
In the spirit of the Share
Dig Deeper
Find You
What MentorsLearn pattern,
consider storing your list in a
public space. This will allow
other people to benefit from
the things you learn.
55. Expose Your
Ignorance
The Long
Road
Study the
Classics
Read
Constantly
Kindred Spirits
Reading List
Share What
You Learn
Familiar Tools
“If you read even one good
programming book every two
Breakable
months, roughly 35 pages a
Toys
week, you’ll soon have a firm
Dig Deeper
grasp on the industry and
Find Mentors
distinguish yourself from
nearly everyone around you.”
—Steve McConnell, Code
Complete
56. Expose Your
Ignorance
The Long
Road
Study the
Classics
Read
Constantly
Kindred Spirits
Reading List
Share What
You Learn
Familiar Tools
“Discover the great literature
in your profession or area of
Breakable
interest—the finest books,
Toys
articles, and speeches ever
written—and then begin Deeper
Dig an
Find Mentors
earnest study of these works.”
—Joshua Kerievsky in
“Knowledge Hydrant: A
Pattern Language for Study
Groups”
57. Expose Your
Ignorance
Study the
Classics
Learn to dig deep into tools,
Read
technologies, and techniques.
The Long
Constantly
Acquire the depths of knowledge to
Road
the point that you know why things
Kindred Spirits
Find
are the way they are. Depth Mentors
means understanding the forces
Reading List
that led to a design rather than
just the details of a design.
Share What
You Learn
Familiar Tools
Breakable
Toys
Dig Deeper
58. Expose Your
Ignorance
Study the
Classics
Identify and focus on a set of
familiar tools. Ideally, these are
Read
The Long
the tools where you no longer
Constantly
Road
need the documentation...
Armed with this knowledge, you
Kindred Spirits
Find Mentors
can provide reliable estimates
about certain parts List your work,
Reading of
limiting the risk to the new and
unexplored areas.
Share What
You Learn
Familiar Tools
Breakable
Toys
Dig Deeper
59. PROGRAMMERS
“We can take the time needed to nurture
apprentice developers because we are faced with
the problem of abundance, rather than
scarcity....Today we have more developers
than needed, but we have a shortage of
good developers.”
—Pete McBreen, Software Craftsmanship, p. 93
Low
Average
SKILLS
High