Bootcamps won't make you a coder. Here's what will
So you've completed a few free programming lessons online, and you've even written several working applications. Now all you have to do is complete one of those three-to-six-month coding bootcamps, and you'll be a professional developer, right? Not quite.
In a recent review of bootcamps, TechBeacon found that 17 of 24 programs claimed that 90% or more of their students got full-time programming jobs or freelancing positions within six-to-12 months of graduation. But those numbers can be misleading.
According to the Coding Bootcamp Market Sizing Report, the developer job market is flooded with bootcamp graduates, and that makes it hard for individual graduates to stand out. Negative bootcamp reviews show patterns of dissatisfaction with teachers, and volatility in the programs. And the "don't learn to code" backlash from the learn to code movement has also put a damper on the bootcamp party.
Is a coding bootcamp the best option if you want to become a developer? That's been a hot topic of discussion recently.
There are vast amounts of free and low-cost resources available to teach yourself programming online. Educating yourself and building a portfolio without a degree is absolutely doable, professional developers say. Before you jump into a bootcamp that will separate you from your hard-earned money, however, consider the caveats below. And then consider teaching yourself to code.
Bootcamp placement numbers can be misleading
Many bootcamps claim or imply that you can become a professional developer in three weeks, 12 weeks, or perhaps six months when you take their courses.
Course Report, a site that hosts reviews and resources for coding bootcamps, has conducted student surveys (with 1000+ respondents from many reputable in-person bootcamps) for the past three years through its annual Alumni Outcomes & Demographics Study. The 2014 report claims that no more than 75% of graduates of coding bootcamps gained employment as developers after graduation. In 2015 that number dropped to 66%. For 2016 it jumped back up to 73%.
Not all bootcamp attendees are starting from scratch. Some aren't there to get a developer job, and some students are already professional developers who are just trying to acquire new skills. While the study doesn't show us who went from "zero to developer," the surveys casts doubt on many programs' 90% job placement claims.
Quality complaints are common
It’s not hard to find a litany of litany of bad bootcamp experiences online. You can find plenty of positive reviews as well, on sites such as Course Report, but people considering bootcamps may not hear as much about negative experiences. Graduates cite several reasons for this. For example, they may not want to devalue something on which they spent so much time and money, or they don't want to get into a confrontation with the bootcamp provider after posting a negative review.
Many of the negative reviews that do get posted are criticisms of teachers. Basel Farag, a TechBeacon contributor and iOS developer with experience as a bootcamp mentor, admits that finding good teachers is hard. "You don't get paid much, so you have to really love doing it," he says. Although several schools have highly qualified, well-paid teachers, many bootcamps fill teaching assistant and mentor positions with less-experienced developers, says Farag.
The practice of bootcamps hiring their own graduates as mentors immediately after graduation is widespread, Farag claims. Not only does that help to fill a shortage of teaching assistants, but it's also an easy way for bootcamps to improve job placement stats. "It's a very common practice," he says, it's nothing new, and it's not restricted to bootcamps. "We see law schools doing this all the time."
Another concern is that, when working with inexperienced teachers who don't have a lot of time to spare, there is always a danger that your bootcamp experience could resemble this anonymous reviewer's story:
"A few of our teachers hadn’t even been in tech longer than two years. Their teaching skills lacked and they got increasingly frustrated when students didn’t understand the material."
Because of their lower pay, mentors need to take on additional students (if they're paid by the number of students they mentor, as they were in the bootcamp I attended) or work at a second job. This can cause some of the mentors to make themselves less available to students, or to provide low-quality feedback, as some online reviews claim.
Get realistic about length of training time
Bootcamp students who come into programs as beginners are not prepared for a development job when they graduate.
"It's possible that you might qualify for a junior developer or internship position after graduating from one of the more rigorous bootcamps," says Farag, "but it's going to be very hard to stand out from the increasing number of bootcamp graduates, and thousands of computer science graduates. You can't truly become a developer in three-to-six months."
The problem comes when companies interview graduates and find that their programming skills aren’t fundamentally sound. Even though developer interviews have problems of their own, Farag says that a technical interviewer will eventually find out if you can't implement some of the most basic algorithms.
Many coding bootcamps don't spend much time on algorithms. And many courses focus on learning tools rather than programming. Ken Mazaika, co-founder and CTO of the Firehose Project, an online coding bootcamp, also sees this trend.
"The good coding bootcamps out there will cover CS topics around algorithms and data structures, but 9 out of 10 coding bootcamps won’t cover these topics at all because these topics can be difficult to teach."
Mazaika's view of the industry is particularly jaded, as the title of his 2015 post makes clear: The Dirty Little Secrets About The Worst Coding Bootcamps Out There: 9 out of 10 programs are outright scams.
Many of the top coding bootcamps teach frameworks, such as Ruby on Rails, that favor convention over configuration. That is, students learn the usage conventions for a specific tool, but not the fundamentals of how web development actually works across tools and technologies.
These frameworks give students just enough knowledge to start building simple web apps. After getting a handful of projects under their belts, many graduates believe they are ready to enter the job market. Unfortunately, they still lack a solid foundation.
Bootcamp grads have flooded the market
The probability of landing a junior development job after graduating from a bootcamp wash higher in 2013 than it is today because of an explosion of bootcamp graduates flooding the market, says Marcel Degas, QA Engineer at BlueRocket and General Assembly bootcamp graduate.
"With so many new coding bootcamps, and bootcamp grads hitting the job market over the past couple of years, finding a job as a junior software engineer in the Bay Area is not as easy as it once was," he says.
What's more, hiring managers aren't as impressed by bootcamps as they were, says Ted Whang, a developer at Mazlo, and a 2014 coding bootcamp graduate. "You dropped everything in your life and dedicated three months straight to learning how to code? 'That’s amazing!' You won’t hear those kind words of praise anymore, except maybe from your mother," he says.
"The thing is… the more people can do something, that something becomes less impressive."
A few years ago, bootcamp entrepreneurs saw an opportunity when they noticed a shortage of developers. They thought they could close the gap by creating coding bootcamp businesses that train people in basic development skills. But professional developers, even junior ones, need experience in many different aspects of programming to be effective software engineering professionals.
If everyone could do it, there’d be no scarcity in the first place. Now hiring managers can choose from a large pool of programmer newbies straight out of coding bootcamps, but that doesn't solve the challenge of how to increase the number of highly qualified and experienced developers throughout the industry.
The 'don’t learn to code' backlash
When the learn to code movement arrived in 2012, the don’t learn to code movement followed. This blogging backlash by Farag, "Uncle Bob" Martin, and others might have seemed mean-spirited and egotistical, but some complaints about the programming profession raised legitimate concerns.
John Kurkowski, a user experience (UX) engineer at CrowdStrike, says programming isn’t an inviting field because even the most mature technologies have been roughly cobbled together over the years, and developers often spend much of their time hacking together libraries that were never meant to be used together. Maybe in ten years, he says, developers will have tools and platforms that work more elegantly, and are easier to work with.
But Mike Hadlow, a freelance C# developer with more than 20 years of software development experience, points out that software development is harder than people think. It's one of the few highly skilled occupations that requires no professional certification (although some believe it should), and it might just be the only highly skilled job where other workers in the industry give copious amounts of their free time and energy to help train people off the street.
That free entry is both good and bad, because, as Martin, author of the Clean Code Handbook, points out, the industry usually doesn’t benefit from hoards of novices, but needs carefully trained individuals. He compares good developer training to a flight school, adding that not many bootcamps are that intense, nor require as many hours of training.
“While I love that programming is an egalitarian field where degrees and certifications are irrelevant in the face of experience, you still gotta put in your ten thousand hours like the rest of us.”
Ask yourself: Are you cut out for coding?
You've felt that first sip of power that programming gives you. You finish your first program, then all of the syntax starts to make sense after you build a few more, and perhaps complete a course on Codecademy or Coursera. At that moment, you think: “I could do this for a living.”
But at this stage of the game you still have no idea what you're doing. You haven’t stayed up until 2 AM three nights in a row trying to fix a bug or solve a problem. You haven’t had to spend the rest of your day sorting out version control issues and getting stuck going down multiple rabbit holes. You haven’t had your app stop working, even though you're sure that you didn't change anything.
You need an extreme level of commitment and patience to work all the way up to an entry level developer position, and exponentially more for the rest of your career. "It was—and is—that persistence that allows me to stay in this field," says Farag.
Going in, bootcamp students may not realize that computer science is actually a low-success educational field. And there’s plenty of evidence showing that computer science programs don’t have stellar graduation rates. Between 30 and 60 percent of first-year students in university computer science departments fail their first programming course. So why would anyone expect bootcamps to be significantly more successful?
What's more, developers who get computer science degrees say that they are largely self-taught, according to the 2016 Stack Overflow Developer Survey. Even computer science departments can’t keep up with the rate of change in the industry. Developers can never stop learning.
Need any more discouragement? A 2008 survey of nearly 900 developers on Stack Overflow revealed that, if your interest in programming didn't start between the ages of 8 and 18, your chances of being motivated enough to become a developer are low.
Source: How old are you, and how old were you when you started coding?, Stack Overflow.
It’s still possible to become a programmer in your early twenties, of course; it’s just a lot harder when most of your time is spent working to support yourself.
All of this is why bad practices aren’t the only reason that coding bootcamps are failing to take many people from zero to developer in just a few months.
Programming is fundamentally hard, and people who are considering these bootcamps should be honest with themselves as to their level of commitment to programming. Software engineering is not an easy way to get rich quick.
If you really want to find out if software development is the right career path for you, ask yourself these questions:
- Am I willing to work hard for just the three months it takes to complete a bootcamp, or for the rest of my life? Even when it’s not my job? Even though I have to give up a lot of my leisure time in the early years of self-teaching?
- Am I able to get unstuck on problems without the help of a mentor? Am I motivated enough to never give up on those problems?
- Do I want to adopt programming as one of my main hobbies?
If you can say yes to all of the above, then you should be able to surmount the obstacles to becoming a developer without the help of a bootcamp. You also won’t fall flat, as many students do after attending a bootcamp, because the class was the only thing pushing you to keep working.
Farag recommends coding bootcamps only to experienced developers looking to update their skills. For people who want to learn programming, he recommends community colleges (which can be much cheaper than bootcamps), or a four-year university program.
DIY: Getting there without the bootcamp
There are plenty of people out there who have nothing but good things to say about their bootcamp experiences, and some landed jobs a few months after completion. But with a little extra time and more awareness of the resources at their disposal, those people probably could have succeeded without investing thousands of dollars in a bootcamp, says Farag.
Documentation for all of the open source tools, languages, and frameworks that bootcamps teach are available online. There are countless free online tutorials on just about any development technology that bootcamps will teach you. All you need to do is pick a technology and run a Google search. There's also this convenient list of links to several massively open online courses (MOOC’s) on programming.
If you don't know exactly what to do, try building a new application every day. Jennifer Dewalt, the founder of Zube, did this. With each new project, she added to her portfolio and gained new skills. Quantity trumps quality when you’re learning. Just build things.
You can also follow the steps in this great post about becoming a web developer from scratch, with no computer science degree. Low-cost coding lessons on Code School, Treehouse, NetTuts+, Udacity, Pluralsight, or Launch Academy are also a good option, and cost far less than does a bootcamp. And check out Codementor if you really need help getting unstuck, or need some learning advice.
If you're meant to be a programmer, you won’t give up. You will get frustrated, but if you're determined, you'll keep trying. A bootcamp can't give you that motivation.
I graduated from an online bootcamp, and I have two friends who completed online and in-person bootcamps. When we wanted to find jobs as junior programmers, we couldn't make the cut because, we were told, we still lacked real-world experience, and we had only had a handful of simple projects under our belts. What have been your experiences with coding bootcamps? Post your thoughts and experiences below, or Tweet me at @mpron.