Upload
devbootcamp
View
753
Download
1
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
Dave Hoover [email protected] @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