My theory of code schools

Note: I’m an instructor at The Iron Yard. Nothing in this blog post is their opinion or endorsed by them. I doubt any of it is controversial, but it’s my thoughts and doesn’t necessarily reflect anyone else’s.

When I first considered working at a code school – that is, for the hypothetical person reading this that doesn’t know, a for-profit technical school that teaches adults how to become programmers – I had to spend some time wrapping my head around the concept. It felt like such a new concept and left me with lots of questions, like “can everyone learn to program?” and “what if someone doesn’t get it in the allotted time?” and “how do you encourage people without the traditional methods of grades and tests?”

After two semesters, I don’t see it as a completely new idea. It’s a new spin on an old idea: guild apprenticeships. There’s been a resurgence of the concept of apprenticeship in software development and elsewhere, but in software development, at least, the industry hasn’t caught up to the demand. Thus, an apprenticeship that the apprentice pays for. (I think that will change in time, by the way. As graduates from code schools like The Iron Yard continue to grow in their careers and prove their worth, I believe companies will begin to fund students through code schools. This is definitely an industry in its infancy, and I imagine big changes will come in the next 10 years.)

How does this apply to how I teach? I often tell my students that I expect them to enter the class as a student, but leave as a colleague. The amount of work and type of work they are doing is equivalent to what they’d do on a job, and I consider myself their mentor and guide at that job. After the first three weeks, I expect them to try to figure out the answer before they come to me. Checking homework becomes more like group code review, where we examine the code together and talk about ways to improve it. By week 10, when they begin their final projects, I make sure they know they are junior developers, and I expect them to treat me like they would a senior dev at any job: as a resource to learn from, but not the font of all knowledge for certain. I’ve had students use technologies in their final projects that I don’t personally know, and I’ve learned a ton from them during this time.

I hope, as my students – and all the students at The Iron Yard – graduate and move into their jobs, we continue to grow as a sort of guild. I treasure the relationships I have with former students, and I fully expect that I’ll work alongside one of them someday. I think the camaraderie of having a group of people who have a shared experience entering the industry in the same way you did resonates and will grow a strong bond as these former students move throughout their careers.