Sometimes, we'll talk to a promising candidate who simply hasn't had the time or opportunities to hone their software development skills at the level we require for professional work. When this happens, and provided that we have enough bandwidth to undertake this journey, we'll offer them a full-time, paid position in our Apprenticeship Program.
Apprentices join one of our teams and report to an Engineering Manager, just like all other teammates. Unlike other teammates, they are not focused on project delivery, but rather on learning the fundamentals of professional software development. They do this by going through a carefully curated curriculum which includes:
- standard study material about software fundamentals, mandatory for all apprentices;
- extra material tailored to each apprentice's strengths and growth opportunities;
- shadowing (and eventually joining!) their team in day-to-day ceremonies and work.
The program—which is more thoroughly documented in our internal playbook—is split into modules, with each module containing a final evaluation. Apprentices need to pass the evaluation in order to graduate to the next module, and any apprentices that successfully graduate from the entire program are offered a full-time position at Nebulab!
The Apprenticeship Program is our way of giving back to the community that has provided us with such great teammates. The program has been extremely successful so far, and we're excited at the idea of developing it and using it to coach even more amazing people!