oscon_apprenticeship

118
Apprenticeships on Open Source OSCON 2008 Dave Hoover, Obtiva, Chicago Brian Tatnall, Stark Investments, Chicago

Upload: dave-hoover

Post on 27-Jan-2015

102 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: oscon_apprenticeship

Apprenticeships on Open Source

OSCON 2008Dave Hoover, Obtiva, ChicagoBrian Tatnall, Stark Investments,

Chicago

Page 2: oscon_apprenticeship
Page 3: oscon_apprenticeship

Disclaimer!

Page 4: oscon_apprenticeship

Disclaimer!

This talk is based on our experiences

Page 5: oscon_apprenticeship

Disclaimer!

This talk is based on our experiences

We'd love to hear about yours!

Page 6: oscon_apprenticeship

What's Your Problem?

Page 7: oscon_apprenticeship

What's Your Problem?

You need talented, experienced people

Page 8: oscon_apprenticeship

What's Your Problem?

You need talented, experienced people

But you can't find enough of them

Page 9: oscon_apprenticeship

What's Your Problem?

Page 10: oscon_apprenticeship

What's Your Problem?

You need experience to get a job

Page 11: oscon_apprenticeship

What's Your Problem?

You need experience to get a job

But that's a Catch-22

Page 12: oscon_apprenticeship

What's Our Problem?

Page 13: oscon_apprenticeship

What's Our Problem?

We have a disconnect between demand for quality people and our ability to find these people

Page 14: oscon_apprenticeship

What's Our Problem?

We have a disconnect between our desire to become top-notch

developers and our ability to reach that level

Page 15: oscon_apprenticeship
Page 16: oscon_apprenticeship

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

Page 17: oscon_apprenticeship

Root of the Problem

Page 18: oscon_apprenticeship

Root of the Problem

Page 19: oscon_apprenticeship

Root of the Problem

Instant Gratification

Page 20: oscon_apprenticeship

Root of the Problem

We want to hire a known quantity

Page 21: oscon_apprenticeship

Root of the Problem

We want to hire a known quantity

Rather than develop one

Page 22: oscon_apprenticeship

Root of the Problem

Page 23: oscon_apprenticeship

Root of the Problem

We want to make as much money as we can right now

Page 24: oscon_apprenticeship

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

Page 25: oscon_apprenticeship

A Related Problem

Page 26: oscon_apprenticeship

A Related Problem

I just spent 4 years paying to learn

computer science

Page 27: oscon_apprenticeship

A Related Problem

I just spent 4 years paying to learn

computer science

Now it's time to get paid

Page 28: oscon_apprenticeship

A Related Problem

I just spent 4 years paying to learn

computer science

Page 29: oscon_apprenticeship

A Related Problem

I just spent 4 years paying to learncomputer science

Don't ask me to spend my free time learning another language

Page 30: oscon_apprenticeship

An Interesting Problem

Page 31: oscon_apprenticeship

An Interesting Problem

I'm a philosophy major turned programmer

Page 32: oscon_apprenticeship

An Interesting Problem

I'm a philosophy major turned programmer

I assume I will be learning languages on my own time

Page 33: oscon_apprenticeship

Wha?

Page 34: oscon_apprenticeship

Wha?

How does a philospher become a programmer?

Page 35: oscon_apprenticeship

Hmm...

Page 36: oscon_apprenticeship

Open Source FTW!

Page 37: oscon_apprenticeship

Open Source FTW!Free Software

Page 38: oscon_apprenticeship

Open Source FTW!Free Software

+Web Search

Page 39: oscon_apprenticeship

Open Source FTW!Free Software

+Web Search

+Books

Page 40: oscon_apprenticeship

Open Source FTW!Free Software

+Web Search

+Books

+Online Communities

Page 41: oscon_apprenticeship

Open Source FTW!Free Software

+Web Search

+Books

+Online Communities

+User Groups

Page 42: oscon_apprenticeship

Open Source FTW!Free Software = Perl

Web Search = Google

Books = Camel

Online Communities = perlmonks.org

User Groups = chicago.pm

Page 43: oscon_apprenticeship

==

Page 44: oscon_apprenticeship

Novice-level knowledge is cheap to acquire

Page 45: oscon_apprenticeship

Novice-level knowledge is cheap to acquire

(like $30)

Page 46: oscon_apprenticeship

Novice-level knowledge is cheap to acquire

But what does that get us?

Page 47: oscon_apprenticeship

Opportunity

Page 48: oscon_apprenticeship

Hire an established craftsman

Opportunity

Page 49: oscon_apprenticeship

Hire an established craftsman

Then hire for potential over credential

Opportunity

Page 50: oscon_apprenticeship

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

Page 51: oscon_apprenticeship

Don't Feed the Glut

Page 52: oscon_apprenticeship

You could hire 4 mid-level developers

Don't Feed the Glut

Page 53: oscon_apprenticeship

You could hire 4 mid-level developers

And send them each to a 4 day training

Don't Feed the Glut

Page 54: oscon_apprenticeship

||

Page 55: oscon_apprenticeship

You could hire 1 craftsman

Solve the Shortage

Page 56: oscon_apprenticeship

You could hire 1 craftsman(who makes more than you, but makes you look like a superstar)

Solve the Shortage

Page 57: oscon_apprenticeship

You could hire 1 craftsman(who makes more than you, but makes you look like a superstar)

and 2 apprentices

Solve the Shortage

Page 58: oscon_apprenticeship

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

Page 59: oscon_apprenticeship

But, where do apprentices come from?

Page 60: oscon_apprenticeship

Stories

Page 61: oscon_apprenticeship

Dave, a psychologist

Stories

Page 62: oscon_apprenticeship

Dave, a psychologistBrian, a theologist

Stories

Page 63: oscon_apprenticeship

Dave, a psychologistBrian, a theologist

Nate, a young hacker

Stories

Page 64: oscon_apprenticeship

Dave, a psychologistBrian, a theologist

Nate, a young hackerFred, a philosopher

Stories

Page 65: oscon_apprenticeship

Dave, a psychologistBrian, a theologist

Nate, a young hackerFred, a philosopher

Jake, a physics teacher

Stories

Page 66: oscon_apprenticeship

Are we anti-CS grad?

Page 67: oscon_apprenticeship

Absolutely not

Are we anti-CS grad?

Page 68: oscon_apprenticeship

Absolutely not

They just need the right attitude

Are we anti-CS grad?

Page 69: oscon_apprenticeship

Absolutely not

Are we anti-CS grad?

Page 70: oscon_apprenticeship

Absolutely not

But they might be (or have been) anti-apprenticeship

Are we anti-CS grad?

Page 71: oscon_apprenticeship

Apprentices are Cheap

Page 72: oscon_apprenticeship

But quickly stop being cheap

Apprentices are Cheap

Page 73: oscon_apprenticeship

But quickly stop being cheap

If all goes well

Apprentices are Cheap

Page 74: oscon_apprenticeship

Apprentices are Expensive

Page 75: oscon_apprenticeship

They are getting paid to learn

Apprentices are Expensive

Page 76: oscon_apprenticeship

They are getting paid to learn

They take time and money to ramp up

Apprentices are Expensive

Page 77: oscon_apprenticeship

Craftsmen are Cheap

Page 78: oscon_apprenticeship

They can do the work of 3-4 mid-level programmers

Craftsmen are Cheap

Page 79: oscon_apprenticeship

They can do the work of 3-4 mid-level programmers

For the price of 2 mid-level programmers

Craftsmen are Cheap

Page 80: oscon_apprenticeship

Craftsmen are Expensive

Page 81: oscon_apprenticeship

Craftsmen are Expensive

At the price of 2 mid-level programmers

Page 82: oscon_apprenticeship

Craftsmen are Expensive

At the price of 2 mid-level programmers

They might get paid more than their manager...

Page 83: oscon_apprenticeship

Craftsmen are Expensive

Page 84: oscon_apprenticeship

The Business Case

Page 85: oscon_apprenticeship

The Business Case

1 Craftsman + 2 Apprentices

Page 86: oscon_apprenticeship

The Business Case

1 Craftsman + 2 Apprentices

Costs 3 mid-level programmers

Page 87: oscon_apprenticeship

The Business Case

1 Craftsman + 2 Apprentices

Page 88: oscon_apprenticeship

The Business Case

1 Craftsman + 2 Apprentices

Will soon outperform 3 mid-level programmers

Page 89: oscon_apprenticeship

Successful Apprenticeships

Page 90: oscon_apprenticeship

Successful Apprenticeships

Profit the company

Page 91: oscon_apprenticeship

Successful Apprenticeships

Profit the company

While increasing the apprentice's market value

Page 92: oscon_apprenticeship

The Setup

Page 93: oscon_apprenticeship

The Setup

An experienced, passionate developer

Page 94: oscon_apprenticeship

The Setup

An experienced, passionate developer

Interested in mentoring

Page 95: oscon_apprenticeship

The Setup

Page 96: oscon_apprenticeship

The Setup

An enthusiastic, knowledge sponge

Page 97: oscon_apprenticeship

The Setup

An enthusiastic, knowledge sponge

Willing to give up some pay in the short-term for long-term

opportunity

Page 98: oscon_apprenticeship

Potential vs. Credential

Page 99: oscon_apprenticeship

Potential vs. Credential

You're going to learn about their strengths as you go

Page 100: oscon_apprenticeship

Potential vs. Credential

You're going to learn about their strengths as you go

Not a good fit for specialization, you need flexibility

Page 101: oscon_apprenticeship

Cultivate the Culture

Page 102: oscon_apprenticeship

Cultivate the Culture

Value learning over competence

Page 103: oscon_apprenticeship

Cultivate the Culture

Value learning over competence

Craftsman models lifelong learning

Page 104: oscon_apprenticeship

Cultivate the Culture

Page 105: oscon_apprenticeship

Cultivate the Culture

Inherit from Open Source culture

Page 106: oscon_apprenticeship

Cultivate the Culture

Inherit from Open Source culture

Transparency and Testing

Page 107: oscon_apprenticeship

Cultivate the Culture

Page 108: oscon_apprenticeship

Cultivate the Culture

Without a master craftsman

Page 109: oscon_apprenticeship

Cultivate the Culture

Without a master craftsman

You need a strong network of journeymen

Page 110: oscon_apprenticeship

First Steps

Page 111: oscon_apprenticeship

First Steps

Page 112: oscon_apprenticeship

First Steps

2 kings, 1 pawn

Page 113: oscon_apprenticeship

First Steps

2 kings, 1 pawn

Beware of the firehose

Page 114: oscon_apprenticeship

First Steps

Page 115: oscon_apprenticeship

First Steps

Be the worst

Page 116: oscon_apprenticeship

First Steps

Be the worst

Don't stagnate

Page 117: oscon_apprenticeship

Q & A & D

Page 118: oscon_apprenticeship

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