Guest post from Substack user Iz, on software boot camps and my Case Against Education.
——
I figured there’s a phenomenon that you might find interesting if you haven’t already heard of it. That phenomenon is software engineering boot camps. They typically consist of 4-6 months of a relatively intense crash course on software engineering after which students typically get pretty well paying software engineering jobs.
I recently just finished the journey of completing one such program, job searching for three months, and finally landing a job at Bloomberg, which I start in a couple weeks. The program was 4 months and I spent a substantial amount of time practicing algorithms during the months I was searching for a job. As far as I know most other people who completed the program with me and landed jobs so far have starting salaries over 100k.
Almost everyone in my graduating cohort, myself included, has a degree unrelated to Computer Science. I may be a little off on the numbers, but I think that out of the 35 graduates in my cohort, only one completed a CS related degree, one completed some CS coursework, and one had a degree in statistics (not really related but might help a bit). Having no degree or work history at all might make getting a job a little harder because people might be more reluctant to interview you. The technical portion of the interview process mostly consists of having applicants write algorithms and demonstrate an understanding of data structures. I think that even someone with no degree or work history at all would still end up with a great job so long as they put in the work learning data structures and algorithms.
Boot camp grads do have a harder time getting interviews than CS grads, but once we get them I think they basically treat us like anyone else. It does take a little longer to get a job than it would for someone with a CS degree. The coaches in the program claim grads take 2-4 months to find a job. It took me 3 months which seems fairly normal.
It’s also interesting that many companies mostly care about the ability to write algorithms as I'm told it rarely comes up on the job. It might be that to some extent many in the industry replace the signal from degrees with the signal from ability to code algorithms.
P.S. A couple caveats for the sake of accuracy:
Not everyone on my program actually has a job yet but it's still inside the 4 month window they say it takes for people to find jobs. I think everyone will end up finding something.
About 20% of the people who started the program didn't make it through. Not sure how this compares to other educational options but something to think about.
As someone on the other side of programmer hiring, I can try to explain why bootcamps have had some success (and why many employers have no degree requirements):
1. Pretty much all the skills involved can be self-taught, to a level sufficient for employment. This isn't necessarily easy, but it's possible with little tools and no mentor, unlike any other STEM field.
2. Conversely, schools rarely teach much of the skills needed (not a surprise for readers of your book), and the variance in quality is very big (between schools, classes, and even instructors of the same course). The worst are actively harmful to learning.
3. There's a large degree of skill-reuse between jobs, and so someone who was productive at Company A and moves to a Company B that uses a similar tech stack, may be productive from day 1. Companies like this and try to only hire people who require that little onboarding.
4. It's relatively easy to test for the needed skills, and there's a lot of graduates who aren't going to be productive for a long time, so there's an incentive to weed them out. On the flipside there's a lot more openings than (actually good) candidates in this field, so over-filtering will make it much harder to fill positions.
Combine all of these and you have a perfect situation for employers willing to disregard the resume entirely (or at least the degree part of it) and rely on more direct tests of skill. The most famous one may be this post:
https://sockpuppet.org/blog/2015/03/06/the-hiring-post/
and they're pretty extreme, but even just a trivial take-home problem (just a bit harder than fizz-buzz) is sufficient to reject most applicants with almost no more effort than filtering resumes by educational attainment, and is much more accurate (our biggest source of false positives came from plagiarism).
Using algorithms in interview makes decent sense. It's and IQ test combined with proof that you can put in the work to learn - not a bad combo.
Also we may be wrong, but there's the general feeling that programming changes the way you see the world. I don't think there's many types of work out there that force you to think about things quite in the same way. And algorithms are key to that... whatever you want to call it. Capacity to play with that particular kind of concepts.