MOBI Wireless needed to hire a bunch of new engineers. The company has always looked to build developers from the ground up as much as possible, with their hiring focus being on culture fit first. This would be no exception. MOBI began the groundwork for an internal apprenticeship program to take people with little to no experience to productive junior developers in a brief timeframe. Thanks to their strong support of the local Ruby community, attracting folks who fit, and were looking for their first professional development job was not a problem.
MOBI was able to quickly hire a class of 5 would-be developers for the the apprenticeship program. Fretless was hired as the training partner for the program.
Fretless had four teaching goals for the apprentices:
- Learn how to identify high quality code
- Write high quality code
- Understand how to refactor low quality code into higher quality code
- Know how to measure the quality of code
The structure of the program was broken into three 1-month segments:
- Month 1: a “greenfield” project where the apprentices continued to build their new skills from the ground up. During this time, Fretless introduced them to tools and libraries that MOBI uses.
- Month 2: working with legacy code. At MOBI, this was a troubled Rails app made a year before. Fretless guided the apprentices through getting the app working, improving its quality, and deploying it. It is now useful and helpful to MOBI moving forward.
- Month 3: beginning work on MOBI’s primary product and codebase. Fretless helped the apprentices understand how the system is put together, and begin work on fixing bugs and other low-hanging fruit type of tasks.
At the end of the first two months the apprentices gave presentations to their teams. Providing opportunities to engage with the development team at-large, receiving both feedback and praise, further helping the apprentices to grow in MOBI.
This type of apprenticeship offers advantages over the usual onboarding of a first-time developer.
- Higher Quality Code: Apprentices graduate with set of convictions that guide the way they write code that focuses on quality, tested, maintainable code.
- Employee Retainment: Apprentices are able to onboard slowly in a safe environment, rather than being thrown directly into the deep end holding a brick of a code base. The apprenticeship could be seen more as walking into the shallow end with a floatation device in hand.
- Productivity in Training: With a dedicated senior developer and trainer focused on them, the apprentices can grow to a productive state more quickly than when left to fend for themselves.
This apprenticeship program helped the apprentices grow quickly to become good citizens that could contribute productively to MOBI’s codebase without the costly technical debt often created when throwing someone right in.