Upload
dave-hoover
View
102
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Apprenticeships on Open Source
OSCON 2008Dave Hoover, Obtiva, ChicagoBrian Tatnall, Stark Investments,
Chicago
Disclaimer!
Disclaimer!
This talk is based on our experiences
Disclaimer!
This talk is based on our experiences
We'd love to hear about yours!
What's Your Problem?
What's Your Problem?
You need talented, experienced people
What's Your Problem?
You need talented, experienced people
But you can't find enough of them
What's Your Problem?
What's Your Problem?
You need experience to get a job
What's Your Problem?
You need experience to get a job
But that's a Catch-22
What's Our Problem?
What's Our Problem?
We have a disconnect between demand for quality people and our ability to find these people
What's Our Problem?
We have a disconnect between our desire to become top-notch
developers and our ability to reach that level
Glut and Shortage
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, Chapter 12
Root of the Problem
Root of the Problem
Root of the Problem
Instant Gratification
Root of the Problem
We want to hire a known quantity
Root of the Problem
We want to hire a known quantity
Rather than develop one
Root of the Problem
Root of the Problem
We want to make as much money as we can right now
Root of the Problem
We want to make as much money as we can right now
Rather than set ourselves up for the long-term
A Related Problem
A Related Problem
I just spent 4 years paying to learn
computer science
A Related Problem
I just spent 4 years paying to learn
computer science
Now it's time to get paid
A Related Problem
I just spent 4 years paying to learn
computer science
A Related Problem
I just spent 4 years paying to learncomputer science
Don't ask me to spend my free time learning another language
An Interesting Problem
An Interesting Problem
I'm a philosophy major turned programmer
An Interesting Problem
I'm a philosophy major turned programmer
I assume I will be learning languages on my own time
Wha?
Wha?
How does a philospher become a programmer?
Hmm...
Open Source FTW!
Open Source FTW!Free Software
Open Source FTW!Free Software
+Web Search
Open Source FTW!Free Software
+Web Search
+Books
Open Source FTW!Free Software
+Web Search
+Books
+Online Communities
Open Source FTW!Free Software
+Web Search
+Books
+Online Communities
+User Groups
Open Source FTW!Free Software = Perl
Web Search = Google
Books = Camel
Online Communities = perlmonks.org
User Groups = chicago.pm
==
Novice-level knowledge is cheap to acquire
Novice-level knowledge is cheap to acquire
(like $30)
Novice-level knowledge is cheap to acquire
But what does that get us?
Opportunity
Hire an established craftsman
Opportunity
Hire an established craftsman
Then hire for potential over credential
Opportunity
A key task for all master software craftsmen is taking apprentices and journeymen under their wing and providing an environment in which they can practice their craft.
Pete McBreen, Software Craftsmanship, Chapter 11
Opportunity
Don't Feed the Glut
You could hire 4 mid-level developers
Don't Feed the Glut
You could hire 4 mid-level developers
And send them each to a 4 day training
Don't Feed the Glut
||
You could hire 1 craftsman
Solve the Shortage
You could hire 1 craftsman(who makes more than you, but makes you look like a superstar)
Solve the Shortage
You could hire 1 craftsman(who makes more than you, but makes you look like a superstar)
and 2 apprentices
Solve the Shortage
You could hire 1 craftsman(who makes more than you, but makes you look like a superstar)
and 2 apprentices
And watch the apprentices quickly surpass your old mid-level
developers
Solve the Shortage
But, where do apprentices come from?
Stories
Dave, a psychologist
Stories
Dave, a psychologistBrian, a theologist
Stories
Dave, a psychologistBrian, a theologist
Nate, a young hacker
Stories
Dave, a psychologistBrian, a theologist
Nate, a young hackerFred, a philosopher
Stories
Dave, a psychologistBrian, a theologist
Nate, a young hackerFred, a philosopher
Jake, a physics teacher
Stories
Are we anti-CS grad?
Absolutely not
Are we anti-CS grad?
Absolutely not
They just need the right attitude
Are we anti-CS grad?
Absolutely not
Are we anti-CS grad?
Absolutely not
But they might be (or have been) anti-apprenticeship
Are we anti-CS grad?
Apprentices are Cheap
But quickly stop being cheap
Apprentices are Cheap
But quickly stop being cheap
If all goes well
Apprentices are Cheap
Apprentices are Expensive
They are getting paid to learn
Apprentices are Expensive
They are getting paid to learn
They take time and money to ramp up
Apprentices are Expensive
Craftsmen are Cheap
They can do the work of 3-4 mid-level programmers
Craftsmen are Cheap
They can do the work of 3-4 mid-level programmers
For the price of 2 mid-level programmers
Craftsmen are Cheap
Craftsmen are Expensive
Craftsmen are Expensive
At the price of 2 mid-level programmers
Craftsmen are Expensive
At the price of 2 mid-level programmers
They might get paid more than their manager...
Craftsmen are Expensive
The Business Case
The Business Case
1 Craftsman + 2 Apprentices
The Business Case
1 Craftsman + 2 Apprentices
Costs 3 mid-level programmers
The Business Case
1 Craftsman + 2 Apprentices
The Business Case
1 Craftsman + 2 Apprentices
Will soon outperform 3 mid-level programmers
Successful Apprenticeships
Successful Apprenticeships
Profit the company
Successful Apprenticeships
Profit the company
While increasing the apprentice's market value
The Setup
The Setup
An experienced, passionate developer
The Setup
An experienced, passionate developer
Interested in mentoring
The Setup
The Setup
An enthusiastic, knowledge sponge
The Setup
An enthusiastic, knowledge sponge
Willing to give up some pay in the short-term for long-term
opportunity
Potential vs. Credential
Potential vs. Credential
You're going to learn about their strengths as you go
Potential vs. Credential
You're going to learn about their strengths as you go
Not a good fit for specialization, you need flexibility
Cultivate the Culture
Cultivate the Culture
Value learning over competence
Cultivate the Culture
Value learning over competence
Craftsman models lifelong learning
Cultivate the Culture
Cultivate the Culture
Inherit from Open Source culture
Cultivate the Culture
Inherit from Open Source culture
Transparency and Testing
Cultivate the Culture
Cultivate the Culture
Without a master craftsman
Cultivate the Culture
Without a master craftsman
You need a strong network of journeymen
First Steps
First Steps
First Steps
2 kings, 1 pawn
First Steps
2 kings, 1 pawn
Beware of the firehose
First Steps
First Steps
Be the worst
First Steps
Be the worst
Don't stagnate
Q & A & D
Credits / ReferencesMary Treseler from O'Reilly
My Bookhttp://softwarecraftsmanship.oreilly.com
McBreen's bookhttp://mcbreen.ab.ca/SoftwareCraftsmanship
Photos (mostly) from Flickr
Slides from http://280slides.com