In the last 4 years, I’ve had the pleasure (and pain) of working at a few coding bootcamps in the San Francisco Bay Area and have taught, or at least tried to teach, cohort after cohort of students from different walks of life, occupations and ages how to code and ultimately land a job in tech. As a half black dude from Oakland, who learned to code at 30, I had a lot in common with many of my students, most of whom were not CS majors and looking to transition from non-tech jobs. The programs, with a price tag of around 10k and lasting 3–6 months, promised, or at least heavily implied, students would leave with the skills needed to land a job with a large salary, the coveted full stack developer title and web development mastery. The reality for most students however, was often much different.
Are You Sure You Want This?
The first day of class I would always ask my students why they wanted to learn how to code. Their answer typically told me a lot about how well or not so well they would likely do in the course. “I want to make more money” was an all-too-often heard answer. Which is fair, to be sure. This is the Bay Area, and life costs more than it should, so I get it. Money good. Homelessness bad. But that can’t be it. Also, there are many things you can do to make a lot of money: sell drugs, become a successful pimp, or if that’s not your thing try a technical trade like HVAC, electrician, welder… Are you absolutely sure you want to spend the rest of your career studying, reading up on the latest technology, preparing for whiteboard style interviews and staring intently at a computer for the better part of the day? I love coding and I enjoy the thrill of solving problems which makes the stressful parts of this job, of which there are many, worth it to me.
I think people see the 3–6 months of studying as the end of their preparation to become a developer rather than the beginning. The 3–6 months barely prepares you for your first job and that first year, on the job, coding for 8 hours a day 5 days a week is your real introduction to world of web development. Factor in the studying you will likely need to do to keep up with your co-workers who graduated with CS degrees and may have been coding since they were 12, and you quickly begin to see that the road to mastery far outruns the landing strip you were first sold.
Bootcamp Stats Area a LIE!
Or at least skewed… heavily. I know, they told you that 90% of their grads get a job in tech within 3 months after leaving the program. I find this nearly impossible to believe, as out of the 150 or so students I’ve taught, I’d say about 30 are currently working as developers. I’m being generous here, and taking into account the many students I’m not in contact with and assuming they are coding codes and hacking the internets while drinking La Croix at a standing desk for some startup in the valley. So what about the other 120 students you ask? Well, many of them either didn’t maintain their skills after graduating because they actually didn’t like coding in the first place or didn’t have the confidence to apply to companies. If you look at many bootcampers’ github commit histories, there is a sharp drop off in activity the week after they end their program. This is bad. After barely acquiring a new skill, it’s important to nurture it and continue strengthening it, not let it rot away. It’d be like going on a diet, getting close to your goal weight then immediately going on a year long binge of cakes and Hot Cheetos. Why? Why would you do this? Yet so many do.
Do Stuff Outside of Class
If you like coding, you will likely build things outside of your course naturally. You will learn new ideas and concepts through reading articles or watching videos and want to put them to use. These side projects don’t need to be full applications or even look good. Their sole purpose is to help you internalize some bit of knowledge you’ve just gained. Maybe you read about asynchronous data fetching using Jquery so you find a simple API and use a GET request to retrieve some JSON data. Maybe the
this to see the differences depending on the call site where it is used. This curiosity and willingness to go the extra mile to learn is the kind of skill that will prepare you for the big leagues where you likely won’t know as much your coworkers and be thrown new concepts on a regular basis that you will need to implement to do your job. Don’t just follow along with the video, instructor or tutorial the program gives you, copy some lines of code that you don’t understand and think this is learning. This will lull you into a false sense of mastery that will quickly fall apart the moment you need to code something from scratch. I’m consistently shocked at the number of students I meet that copy paste some beautiful code from a tutorial into their editor and then tell me, with a straight face, that they understand how everything works, then fall apart at the seams like a cheap suit when I ask them to create a button that alerts a user with some message on a button click.
Should You Still Do It?
Well, that’s up to you. I have attended a coding bootcamp, twice, and likely will go to more bootcamp style courses in the future to pick up new skills I want to acquire. There are a lot of positive things about this style of learning which I really enjoy: courses cut out most of the fluff and require you to learn by doing, they usually have flexible hours as they cater to working people and they condense just enough information to get you up to speed in a short amount of time and if your teacher is in the industry (big red flag if they are not IMO) they can tell you what the actual job is like and give you valuable insight. That being said, a bootcamp should be just one piece of the learning puzzle. Self studying through projects, third party tutorials like Udemy, YouTube or even old school physical books are some of the tools you likely want to use and apply to make sure you are successful.