23
Dave Hoover [email protected] @davehoover How to Create a Software Apprenticeship Program

How to Create a Software Apprenticeship Program

Embed Size (px)

DESCRIPTION

Dave Hoover's presentation from the Software Apprenticeship Summit. A step-by-step guide on how to create a software apprenticeship program to grow tech talent from within your organization.

Citation preview

Page 1: How to Create a Software Apprenticeship Program

Dave Hoover [email protected] @davehoover !

How to Create a Software Apprenticeship Program

Page 2: How to Create a Software Apprenticeship Program

Who are we?

Introductions

Dev Bootcamp Chicago Founder @davehoover

Page 3: How to Create a Software Apprenticeship Program

There are over 1,700 Ruby jobs waiting to be filled. !The average position takes 50 days to fill. !Hiring senior technical talent is a major obstacle.

WANTED Analytics US Open Ruby Jobs - 1/15/14

Page 4: How to Create a Software Apprenticeship Program

Money doesn’t grow on trees !

Neither do senior software developers !

But you can plant the seeds to grow your own

Page 5: How to Create a Software Apprenticeship Program

To bridge your talent gap you need two strategies:

!

1. recruit great people 2. grow great people

Page 6: How to Create a Software Apprenticeship Program

1. Grows junior talent 2. Attracts senior talent 3. Creates a strong learning culture

Benefits of Apprenticeship programs

Page 7: How to Create a Software Apprenticeship Program

From 5 Engineers to 50

Page 8: How to Create a Software Apprenticeship Program

“but Dave I don’t have the...”

Time Money People

Page 9: How to Create a Software Apprenticeship Program

is like

DATING

Internship

is like an

ENGAGEMENT

Apprenticeship

“Dave, how are apprenticeships different than internships?

Page 10: How to Create a Software Apprenticeship Program

1. Internal buy-in 2. Curriculum Culture 3. Learning in the trenches 4. A pet project 5. Clearly defined milestones 6. Feedback loops 7. The right ratio

What you need

Page 11: How to Create a Software Apprenticeship Program

1 It starts with apprentice

Page 12: How to Create a Software Apprenticeship Program

1. Get internal buy-in

Page 13: How to Create a Software Apprenticeship Program

Mentorship > Team > Owner

Page 14: How to Create a Software Apprenticeship Program

1. An excited mentor

2. A team willing to incorporate a beginner

3. A business owner who willing to fund it Action: Set up meeting with each stakeholder to identify

and articulate the problem that needs to be solved

Mentor > Team > Owner

Page 15: How to Create a Software Apprenticeship Program

2. Culture not Curriculum

Page 16: How to Create a Software Apprenticeship Program

1. Don’t set up a classroom

2. Gather a set of learning resources

3. Start hosting weekly lunch study group

“Great cultures facilitate ongoing learning while static curriculums typically do not.”

Page 17: How to Create a Software Apprenticeship Program

3. Put them in the trenches

Page 18: How to Create a Software Apprenticeship Program

4. Give them a pet project

Page 19: How to Create a Software Apprenticeship Program

1. Mentor gives them a “breakable toy”

2. Should be worked on independently

3. Excitement for the project/problem

For example at Obtiva we used to…

Page 20: How to Create a Software Apprenticeship Program

5. Define Milestones and Expectations

Page 21: How to Create a Software Apprenticeship Program

1. Define a 6 month schedule

2. Decide on milestone frequency

3. Set date for hire/fire/continue decision

Hiring decision should be based on your entry-level criteria for developer positions

Page 22: How to Create a Software Apprenticeship Program

Apprentice gives brief report on their work in trenches

Apprentice provides a demonstration of the pet project

Facilitator leads code review of pet project

Apprentice presents on new learning

Facilitator leads a retrospective

Oversight group makes decision

Hire / Continue / Fail

1-on-1 with Apprentice

Milestone Meetings