|Me, my partner James (2nd from left) and the new developers|
We received over 100 applications from around the world, many of which were from very well-qualified candidates. I was very surprised at the number of people who had a strong computer science and engineering backgrounds, who saw this a chance to jumpstart their careers or re-engage with programming after a period of time doing something else.
We selected 12 candidates to attend in-person training sessions at our office in Hampden. We conducted four sessions of two hours each where we dived right in and showed the students the guts of how Staq's data extraction technology works, along with the basics of Ruby and rspec. In retrospect, our syllabus was far too ambitious; the next time we do this we will just focus on using Ruby to write web-and-API scrapers using mechanize and typhoeus, along with a gentle introduction to CasperJS. I should have introduced Staq's proprietary framework later in the process.
This experience also opened my eyes to the importance of good documentation: we have written a lot of specialty code that would be a lot easier to understand with good in-line documentation. So now everything we write includes extensive YARD annotations.
I regret not having more resources and time to devote to the training, since we're still a small company at this point. The next time we do this, I want to involve a professional Ruby trainer who could give more structure and rigor to the program (are you reading this, Jeff Casimir?). It would also be cool to coordinate our efforts with Betamore Academy. I wish I had been able to prepare a more thoughtful syllabus, or present in a less harried, rapid-fire manner, but such are the exigencies of startup life.
We chose five students to become Ruby apprentices, based on their performance during the training classes. The apprentices started out as hourly, part-time employees, who scheduled their work hours around other commitments. We started weekly training sessions for them (which every programmer in the company began attending), but most of the training was hands-on. The apprentices made many heroic contributions to our company, cleaning up messes, digging into details, writing critical revenue-generating code, and exhibiting great professionalism in a demanding, low-supervision work environment.
We absolutely will do this again, but we've got to grow the business some more first. Watch this space for details!