What We’ve Learned: The Detroit Labs Apprentice Program
In 2011, our co-founders had a wild idea to create a company where people would actually want to work. The goals were pretty simple: build high quality software, have the freedom to learn, teach, and explore new technology, and give every team member visibility and a voice in company decisions.
Detroit Labs is a services company. To put it bluntly, that means the entire value of our company walks in the door in the morning and walks right back out at night; our bills aren’t paid by patent fees or monthly subscriptions, but rather from the work our team members do on behalf of our clients. And frankly, using traditional networking and recruiting methods, the supply for new hires did not meet our demand. This led to another wild idea: what if we hire, pay, and teach people, from scratch, the skills we needed. We wondered, “What if we could find people with the skills and the will who aren’t yet IT professionals, and welcome them to the world of software development? What would that take?”
How we recruit
Ask the registrar at any university and they’ll tell you that the application process, where you attempt to predict whether a future student will graduate, is both one of the most important and difficult predictors of student success. The Detroit Labs apprentice program is no different, and to that end we’ve developed and refined a rigorous testing and vetting process to select what we hope are the apprentice candidates most likely to succeed. Candidates that wish to apply must fill out our Getting to Know You, or GTKY, a 30-question form that includes introspective, puzzle, and logic questions. This replaces a resume in our application process. Following our most recent apprenticeship call for applications, 250 people submitted a GTKY in the two-week application period to apply for the 12 spots available; that’s a 4.5% acceptance rate.
We select about 40 candidate GTKYs to progress to in-person interviews. These interviews occur over several days and include individual, small group, and whole team exercises. Each interview further culls the applicant pool. We select candidates for intelligence, teamwork, persistence, determination, and self-awareness, and extend offers to our final choices.
Apprentice class backgrounds
We have graduated three apprentice cohorts, and have just finished with our most recent class. We refer to each cohort by a letter of the Greek alphabet. During each cohort, we customize the experience to meet the end goal of the apprentices while also incorporating significant lessons learned from our experiences.
Apprentice Team Alpha – Spring 2014
The Alpha cohort started out with 11 recruits learning iOS development with a third-party trainer. After a few bumps in the road and differing expectations, we realized a change would improve our success. I, at the time an iOS developer, was asked, to step in. After the Alpha program finished, apprentices were hired internally and worked on ongoing client projects.
It was our first time taking on a project like this. We had no idea what we were doing. A lot of learning happened throughout, and in retrospect of this first apprentice class we realized:
- We didn’t have someone dedicated to running the program
- We didn’t adequately prepare our teaching team or give them the time and space needed to effectively train junior people
- We had a goal (make them employable developers at DL), but we didn’t really have any idea or plan for how to get there
- We initially outsourced the training piece, even though we are the ones who best understand our needs as a company and have extensive domain knowledge on mobile development
- We didn’t understand how much support (technical and personal) apprentices needed to be successful
- We didn’t have an exit strategy for unsuccessful apprentices
With these blunders in mind, we have and continue to work towards a better experience with each class
Apprentice Team Beta – Fall 2014
For our Beta cohort, we significantly improved our application process. This was necessary both from a numbers standpoint, as we had orders of magnitude more applicants to this class, and to take advantage of the knowledge gained during the Alpha cohort. From a pool of around 200 applicants, we selected 12 to learn Android development. The class went through one month of intensive Java learning, followed by two weeks of independent Android study. The second half of the Beta apprenticeship consisted of group projects and an individual capstone project. After graduation, apprentices were placed on various client and nonclient projects and had periodic check-ins with Detroit Labs mentors.
Apprentice Team Gamma – Spring 2015
Apprentice Team Delta – Summer 2016
Similar to the Gamma class, the Delta class is being trained for a specific client in iOS. The twist with this class is that several team members in the class are already employed by the client.
When we originally decided to hire developers with the intention of training, we knew that we wanted to pay apprentices a living wage. Recruiting people who could afford to pay for a training program (e.g. coding bootcamps), or afford to work unpaid for several months (e.g. free bootcamps), would drastically limit the candidate pool. We were more interested in hiring the best people — regardless of their economic situation.
When we eliminated that barrier, we were able to meet, interview, and hire people from a more diverse pool based on problem-solving ability and soft skills. For our first three apprentice classes, here are our demographic statistics:
Apprentice Team Alpha: 5/11 (45.5%)
Apprentice Team Beta: 5/12 (41.7%)
Apprentice Team Gamma: 6/11 (54.5%)
Program Total: 16/34 (47.1%)
People of Color (including African American/Black):
Apprentice Team Alpha: 1/11 (9.1%)
Apprentice Team Beta: 6/12 (50.0%)
Apprentice Team Gamma: 5/11 (45.5%)
Program Total: 12/34 (35.3%)
Apprentice Team Alpha: 0/12 (0.0%)
Apprentice Team Beta: 2/12 (16.7%)
Apprentice Team Gamma: 2/11 (18.2%)
Program Total: 4/34 (11.8%)
Each class had a set of standards of classwork and tasks outside of classwork to be completed before they could graduate. Of the original group of 34 recruits, 30 people graduated (88.82%).
- Total Graduates who worked at Detroit Labs: 29 (85.3% of total enrolled / 96.7% of graduates)
- Total Graduates who currently work at Detroit Labs: 24 (70.6% / 80.0%)
- Total Graduates who currently work as Developers at Detroit Labs: 20 (58.8% / 66.7%)
- Total Graduates who currently work in DL – Services: 14 (41.2% / 46.7%)
- Total Graduates who currently work in DL – OnSite: 10 (29.4% / 33.3%)
Graduates: Where are they working?
While many of our apprentice students have gone on to a developer position either at Detroit Labs or another company, some have transitioned into other roles.
Overall, 83.3% (20) of our graduates who are still with Detroit Labs currently work as Developers
- 8.3% (2) currently work on a development team as QA
- 4.2% (1) have transitioned to the business side of Detroit Labs, with a technical background
- 4.2% (1) have transitioned to marketing at Detroit Labs, with a technical background
Sometimes the only way to know if you like a career is to try it out. There were some apprentices who left the program prior to graduation:
- Poor fit (no longer interested in becoming a developer): 1 (25.0%)
- Academic struggle (unable to master appropriate skills within a reasonable period of time): 3 (75.0%)
There were also a few apprentices that left Detroit Labs after graduating, for several reasons:
- Took another developer job: 2 (33.3%)
- Relocated (not for job-related reasons): 3 (50.0%)
- Fired for cause: 1 (16.7%)
It is important to note that apprentices are not required to stay with Detroit Labs after graduation, but most choose to do so.
Three classes and 34 apprentices later, we have learned a lot.
Much like business schools, we found that apprentices who have had real-world experience in the workforce are more successful in the apprentice environment. We see a lot of value in someone who has had to navigate different teams, personality types, and bosses, even if that experience was not in tech. These types of people have a good sense of self-awareness and are generally good teammates because they know how to be one already.
We also realized that the specific material that we teach is important, but is not the most important part of what we teach. The domain knowledge for developers is so massive and ever-changing that there is no way to actually know everything. The skill that you absolutely have to have is how to solve a problem with an engineering eye: “How do I solve this problem that seems impossible? How do I look to find the answer? What would I do if there was a deadline and something goes wrong?” Teaching them the meta-skills of breaking down and defining problems, how to think about what an answer would look like, how to research, and how to discern a good answer from a quick and dirty answer are very, very important skills.
Lastly, we realized that to be able to effectively support each apprentice we would need to hire someone to advocate on their behalf. We hired a Team Member Advocate to be a sounding board, and a safe place for employees to bring up tricky issues.
Intentions for the future of the Detroit Labs Apprentice Program
Ultimately, we want to offer four apprentice classes each year. We want to create the opportunity for a diverse group of people to get an education in technology that will give them the tools to be successful.
We know that there is a technology skills gap around the country as well as in Detroit. There are not enough trained people to fill the need of STEM-related jobs. If companies are hiring solely from the pool of Computer Science graduates, there will be a shortage of one million developers by 2020. The good news is that many non-traditional developers are interested in or actively learning the skills needed to close that gap.
In a city built around engineering, the arts, and hard work, Detroit is a bastion of intelligent people that are more than able to learn how to develop and are eager to try. If companies invest in people, there is a long-term benefit to the individuals, the company, and the city as a whole. We are proud to actively educate, employ, and support such individuals.