Three very similar compressed software development training programs have emerged in the last few months: Code Academy (not to be confused with the startup Codecademy) in Chicago, Dev Bootcamp in the Bay Area, and Hacker School in New York City. All offer a short (two or three month), project-based learning program geared toward acquiring real-world development skills. Hacker School is free and aimed at proficient programmers trying to advance their skills, while Dev Bootcamp and Code Academy are aimed at motivated students in a broad range of skill levels, including beginners. All three involve placement of graduating students at software companies as a revenue source.
As the historical model of education continues to come into contact with disruptive technologies, those technologies strike increasingly close to the heart of education's basic value proposition. Institutions like University of Phoenix leverage the internet to provide students with degrees more flexibly and inexpensively. This means lower profit margins per student for Phoenix, but much greater scalability than the traditional university model. Khan Academy and similar online learning programs ignore the degree/certification aspect. Instead, they aim a level deeper--at the actual provision of knowledge and learning--as the target of their technological optimization.
Code Academy, Dev Bootcamp, and Hacker School aim yet another level deeper. They offer the most direct proposition: the means and opportunity for lucrative employment. While many "ed-tech" startups are making attempts at broad innovations for education, these programs aim at a problem of narrow scope: the dearth of available, high-quality programming talent. They do this by combining the roles of recruiter and trainer and tightly aligning the incentives of everyone involved. Access to literature and materials is no longer the bottleneck for students, so they instead optimize on the new bottleneck and offer direct, personal access to an instructor, with close guidance through projects, and a community of peers and mentors. Zoomed out, this arrangement starts to resolve into what looks like a hacker apprenticeship. The master role is taken on by the trainer/recruiter, who gets paid (eventually) by an employer, and the apprentice works for the employer on completion of training.
The programs make an implicit rejection of the conventional wisdom that a profession (especially one as cerebral as programming) requires a base of abstract, academic study. While programming has always had a distinct strain of autodidacticism, this trend extends and formalizes the long-standing hacker ethic of valuing ability and accomplishments over certifications and titles. Perhaps in some sense it hardens the distinction between programming as a trade and computer science as an academic field. And the hacker apprenticeship represents another step toward a more general disaggregation of academia and practice in the education system.