APPRENTICESHIP PATTERNS
(guidance for the aspiring software craftsman)
gs
hin
yt
ke
3
ce
odu s
tr
o in pattern
t
e
re th
befo

3. What is
‘Apprenticeship’?

APPRENTICESHIP PATTERNS
(guidance fo...
aspiring

verb [ intrans. ]
direct one's hopes or ambitions toward
achieving something
aspiring

verb [ intrans. ]
direct one's hopes or ambitions toward
achieving something
e.g. to become a master of
software...
a

1
community

of practice
united and defined by
2
overlapping values

1. doesn’t exclude those people who feel that ther...
GROWTH MINDSET
This entails a belief that you
can be better and everything
can be improved if you’re
prepared to work at i...
A need to always be adapting
and changing based on the
feedback you get from the world
around you.
Atul Gawande refers to ...
PRAGMATISM OVER
DOGMAS
This involves a willingness
to trade off theoretical
purity or future perfection
in favor of getting...
LOCUS OF CONTROL
INTERNAL

EXTERNAL

I control the consequences of
my behavior

The consequences of my
behavior are outsid...
skill-centric rather than
process-centric
For us, it is more important to be highly skilled
than to be using the “right” p...
Situated Learning
Its essence is that the best way to
learn is to be in the same room
with people who are trying to
achiev...
“What makes a life worth
living?”*
* Mihaly Czikszentmihalyi asks this. Noting that money cannot make
us happy, he looks t...
UNDERSTANDING FLOW
Arousal

FLOW

Anxiety

CHALLENGE

1. intense and focused
concentration on the
present moment
2. mergin...
UNDERSTANDING FLOW

Arousal

Anxiety

CHALLENGE

1. intense and focused
concentration on the
present moment
2. merging of ...
LET’S LEARN ABOUT LEARNING
&
examine some apprenticeship patterns →
LET’S LEARN ABOUT LEARNING
&
examine some apprenticeship patterns →

focus on some of the patterns
(read the book to get t...
1 - Emptying the Cup
Unleash Your
Enthusiasm

Nurture Your
Passion

Retreat into
Competence

Concrete Skills

Confront Your
Ignorance

Breakabl...
Unleash Your
Enthusiasm

Nurture Your
Passion

Retreat into
Competence

Concrete Skills

Confront Your
Ignorance

Breakabl...
Unleash Your
Enthusiasm

Nurture Your
Passion

Retreat into
Competence

Concrete Skills

Confront Your
Ignorance

Breakabl...
Unleash Your
Enthusiasm

Nurture Your
Passion

Retreat into
Competence

Confront Your
Ignorance

Expose Your
Ignorance

Co...
Unleash Your
Enthusiasm

Nurture Your
Passion

Retreat into
Competence

Confront Your
Ignorance

Expose Your
Ignorance

Co...
2 - Walking the Long Road
“How long will it take to
master aikido?” a
prospective student asks.
“How long do you expect to...
Craft over Art

Expand Your
Bandwidth

Find Mentors

The Long Road
Draw Your
Own Map
Kindred Spirits

Sustainable
Motivati...
Craft over Art

Expand Your
Bandwidth

The Long Road

Sustainable
Motivations

Find Mentors

...keep your focus on the
Dra...
Craft over Art

Expand Your
Bandwidth

The Long Road

Focus on delivering
value Find Mentors customer
to your
over advanci...
“Anyone who has ever seen
Craft over Art
Expand Your a programmer at
Bandwidth
Find Mentors
work...knows that
programming ...
“..there is not much overlap between the kind of software that makes
money and the kind of software that’s interesting to ...
Craft over Art

Expand Your
Work on what youBandwidth
like. Find something at work that
Find Mentors
interests you, identi...
Craft over Art

Expand Your
Bandwidth

Identify a logical but
ambitious next step
Find Mentors
for your career.

The Long ...
3 - Accurate Self-Assessment
The Dunning–Kruger effect is
a cognitive bias in which
unskilled individuals
suffer from illu...
Breakable
Toys
Create
Feedback Loops

Concrete
Skills

Be the Worst

The Deep End
Nurture Your
Passion

Reflect as You
Work...
Breakable
Toys
Create
Feedback Loops

Concrete
Skills

Be the Worst

The Deep End

Reflect as You
Work

Sweep the
Floor

Su...
Breakable
Toys
Create
Feedback Loops

Concrete
Skills

Be the Worst

The Deep End

Find Mentors

Nurture Your
Passion out
...
Breakable
Toys

Concrete
Skills

Reflect as You
Work

To keep your momentum going, especially in the
Create
Feedback Loops
...
“Nothing is more powerful than a community of talented people
working on related problems.”
—Paul Graham, Hackers & Painte...
Breakable
Toys
ways to

Concrete
Skills

Find
sit with
another software developer
Create
Feedback Loops
and accomplish a h...
4 - Perpetual Learning
+

learning
communication

software development
Expand Your
Bandwidth

Use the Source

Practice,
Practice,
Practice

Find Mentors
Concrete
Skills
Share What
You Learn

Be...
Expand Your
Bandwidth

You
Use the Source

the
discipline and techniques
Draw Your
necessary to efficiently Map
Own
Reflect...
Expand Your
Bandwidth

Use the Source

Find Mentors
Concrete
Skills

Practice,
Practice,
Practice

Share What
Be the Worst...
Expand Your
Bandwidth

Use the Source

Budget for failure by
Practice,
Find Mentors
designing and building toy
Practice,
P...
Expand Your
Bandwidth

Use the Source

Practice,
Practice,
people’s
Practice

Find Mentors

Create
Feedback Loops
Reflect a...
Expand Your
Bandwidth

Use the Source

This involves regular
introspection into how you
Practice,
Find Mentors
are working...
Learn How
personal
You Fail

Create
Keep a record of your journey in a journal,
Expand Your
Feedback Loops
Use the Source
...
5 - Construct Your Curriculum
Expose Your
Ignorance

The Long
Road

Study the
Classics

Familiar Tools

Read
Constantly

Kindred Spirits

Breakable
Toys...
Expose Your
Ignorance

The Long
Road

Study the
Classics
Read
Constantly

Kindred Spirits
Reading List

Share What
You Lea...
Expose Your
Ignorance

The Long
Road

Study the
Classics
Read
Constantly

Kindred Spirits
Reading List

Share What
You Lea...
Expose Your
Ignorance

The Long
Road

Study the
Classics
Read
Constantly

Kindred Spirits
Reading List

Share What
You Lea...
Expose Your
Ignorance

Study the
Classics

Learn to dig deep into tools,
Read
technologies, and techniques.
The Long
Const...
Expose Your
Ignorance

Study the
Classics

Identify and focus on a set of
familiar tools. Ideally, these are
Read
The Long...
PROGRAMMERS

“We can take the time needed to nurture
apprentice developers because we are faced with
the problem of abunda...
LET’S CHANGE THAT!
Apprenticeship Patterns
Apprenticeship Patterns
Apprenticeship Patterns
Apprenticeship Patterns
Apprenticeship Patterns
Apprenticeship Patterns
Upcoming SlideShare
Loading in …5
×

Apprenticeship Patterns

466 views

Published on

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

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
466
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Apprenticeship Patterns

  1. 1. APPRENTICESHIP PATTERNS (guidance for the aspiring software craftsman)
  2. 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’?
  3. 3. aspiring verb [ intrans. ] direct one's hopes or ambitions toward achieving something
  4. 4. aspiring verb [ intrans. ] direct one's hopes or ambitions toward achieving something e.g. to become a master of software craftsmanship
  5. 5. 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 →
  6. 6. GROWTH MINDSET This entails a belief that you can be better and everything can be improved if you’re prepared to work at it.
  7. 7. 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).
  8. 8. PRAGMATISM OVER DOGMAS This involves a willingness to trade off theoretical purity or future perfection in favor of getting things done today.
  9. 9. 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
  10. 10. 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.
  11. 11. 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.
  12. 12. “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."
  13. 13. 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
  14. 14. 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
  15. 15. LET’S LEARN ABOUT LEARNING & examine some apprenticeship patterns →
  16. 16. 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)
  17. 17. 1 - Emptying the Cup
  18. 18. Unleash Your Enthusiasm Nurture Your Passion Retreat into Competence Concrete Skills Confront Your Ignorance Breakable Toys Expose Your Ignorance
  19. 19. 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.
  20. 20. 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.
  21. 21. 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
  22. 22. 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.
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. “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
  28. 28. “..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
  29. 29. 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
  30. 30. 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
  31. 31. 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.
  32. 32. Breakable Toys Create Feedback Loops Concrete Skills Be the Worst The Deep End Nurture Your Passion Reflect as You Work Sweep the Floor Rubbing Elbows Find Mentors Kindred Spirits The Long Road Record What You Learn
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. “Nothing is more powerful than a community of talented people working on related problems.” —Paul Graham, Hackers & Painters
  37. 37. 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
  38. 38. 4 - Perpetual Learning + learning communication software development
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 5 - Construct Your Curriculum
  47. 47. 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
  48. 48. 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.
  49. 49. 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
  50. 50. 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”
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. LET’S CHANGE THAT!

×