webdevjeff.us

Web Developer Jeff George

Blog

Apples to Oranges

Comparing learning time in coding bootcamps to college CS programs

Sept. 20, 2015

One of the biggest questions about immersive web development programs, commonly called “coding bootcamps,” is how their graduates compare to graduates from traditional college CS programs. Bootcamp critics claim that there’s no way you can learn as much in 10 or 12 weeks as CS majors learn over four years earning a Bachelor of Science. But comparing the calendar time spent in a bootcamp to the calendar time spent in a BS program is an apples-to-oranges comparison. If you count actual hours spent learning, instead of weeks, months or years on a calendar, a bootcamp isn’t nearly as different from a college program as you might think.

First, a little background on the Dev Bootcamp (DBC) program, in which I am currently enrolled. DBC students spend 10 weeks learning remotely, then spend ten weeks on campus. The ten remote weeks include “Week 0,” in which you set up your development environment and learn your tools, followed by “Phase 0,” nine weeks of coding curriculum introducing HTML, CSS, Ruby, JavaScript and jQuery. The learning then moves on-site at Dev Bootcamp for nine weeks of immersive web development education, followed by a week of career development and job-search preparation. That’s five months of learning time, not the 10 or 12 weeks that bootcamp critics usually site. But again, calendar months aren’t what really matters; let’s run some math on the number of hours spent learning...

Assume that a BS in Computer Science includes 30 credits of actual computer coursework, and figure that for each 3-hour course, a student spends 3 hours a week in lecture, and another 6 hours a week doing work outside class. That’s 9 hours a week per course. Now figure that there's about 14 weeks in a college semester: 9 hours per week, times 14 weeks, comes out to 106 hours of real learning time per course. 106 hours per course, times ten courses: that's 1060 hours invested in learning to program.

Now, most of us at DBC have admitted that we spend more than the estimated 15-25 hours per week on our Phase 0 work. Even so, let's use 25 hours per week as a rough average of hours per week spent during Phase 0. That's 250 hours of learning before we even go on-site (Week 0 plus nine weeks of Phase 0). Once we get to the DBC campus, we have nine weeks of immersive work (not even counting the tenth week, which focuses on career development). While on campus, we’re required to be at DBC 40 hours per week, but by every account I’ve read, students spend closer to 60 hours per week, on average, on their DBC work, arriving early, staying late, and coming in on weekends. So, 9 weeks times 60 hours per week equals 540 hours of learning time. 250 remote hours plus 540 on-site hours equals 790 hours, which is almost exactly 3/4 as much time devoted to learning to develop software as a Computer Science BS.

But that 3:4 ratio is still not an apples-to-apples comparison. The CS degree is going to include a lot of abstract theory that really doesn’t come up very often in web development, and which can be learned outside of a formal educational program in any case. (Harvard, Stanford, and MIT have all put their CS courses online, for free!) On the other hand, the DBC training is 100% practical — it was created by developers with real-world, on-the-job, in-the-trenches experience.

Furthermore, the traditional college model includes taking summers off from school. The phenomenon of “summer slide” has been extensively studied with regard to elementary and high school students, and there’s no reason to believe it doesn’t apply to undergrads as well. These studies have consistently shown that over the summer break, students lose a large portion of the academic progress they made over the preceding year. This means that every fall, college students spend the first couple of months just catching up what they lost over the summer. A straight-through immersive program like DBC has no opportunity for summer slide.

Here’s the math: A Bachelor’s in CS (1060 hours), minus the summer slide on fall courses (25% time lost in half of the courses, or 132.5 hours), equals 927.5 hours spent learning to code. That’s 137.5 hours more than we get from DBC, on average. But if even one of the ten courses in the program isn’t directly applicable to the work a junior dev is hired to do — which is very likely — that reduces the total learning time by 10%, to 835 hours. That’s within 45 hours of the average learning time we get at DBC!

By this admittedly unscientific, back-of-the-envelope math, a DBC grad has only a week’s less preparation for a junior developer job than does a grad with Bachelor’s in Computer Science. (And that doesn’t take into account that all of the DBC training is directly applicable to junior developer responsibilities, while much of a CS degree isn’t.) I promise you, if that week is really significant, I can make it up with self-study within two weeks of graduating. So, to people who say you can’t learn as much a few months as you can over four years, I reply, how much more can you really learn in 835 hours than you could in 790?