How to Create a Software Apprenticeship Program

Preview:

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

Dave Hoover !dave@devbootcamp.com @davehoover !

How to Create a Software Apprenticeship Program

Who are we?

Introductions

Dev Bootcamp Chicago Founder @davehoover

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

Money doesn’t grow on trees !

Neither do senior software developers !

But you can plant the seeds to grow your own

To bridge your talent gap you need two strategies:

!

1. recruit great people 2. grow great people

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

Benefits of Apprenticeship programs

From 5 Engineers to 50

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

Time Money People

is like

DATING

Internship

is like an

ENGAGEMENT

Apprenticeship

“Dave, how are apprenticeships different than internships?

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

1 It starts with apprentice

1. Get internal buy-in

Mentorship > Team > Owner

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

2. Culture not Curriculum

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.”

3. Put them in the trenches

4. Give them a pet project

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…

5. Define Milestones and Expectations

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

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

Q&Adave@devbootcamp.com www.devbootcamp.com

Recommended