Learning is hard work, but everything you learn is yours and will make subsequent learning easier. — Marjin Haverbeke
Last week, I encouraged you to make an honest self-assessment of your comfort with the costs of programming bootcamps in Is Coding Bootcamp Right for You?. Now that’s out of the way and you’re still here, it’s time for the benefits of attending a program! Plus a few cents on which one to choose.
The Value Proposition
In my opinion, there are a few areas where bootcamps really stand out:
Notably, they provide a framework for learning a ton of new material. They crank out a new class of graduates every seven to thirteen weeks, and know what it takes to get most people over the finish line.
They provide a structured learning environment that ensures a certain minimum participation in the process. This includes a developed curriculum, work environment, and a clearly-executed schedule.
This external pressure can prove invaluable. There are many great massive open online courses (MOOCs) available, but they tend to suffer from poor completion rates. It’s hard to put an accurate number on the percent of people that finish any given MOOC, but 4% seems like a fair bet. That’s abysmal. Bootcamps tend to ensure high completion rates.
Sure, you could learn to code in your free time, but how much of your free time are you really willing to devote to programming? Hours per week. Be honest with yourself.
If you commit 10 hours per week to learning, it’s likely to take close to two years to cover the same material that you would cover in an intense bootcamp. On the plus side, you’ll have marinated in that information for long enough to let it really sink in.
Coding bootcamps compress your foundational learning schedule into a finite period of time.
Humans are social creatures, and contrary to many stereotypes, so are software engineers. The archetype of the lone programmer banging away at their keyboard late into the night is just not true in the professional world. (Ok, it’s often a little true, but generally not in the actual office.)
Bootcamps provide a learning community. They will expose you to people from different walks of life with varying skill sets. They’ll also provide a group that you can befriend and lean on during and after the program.
Even at a bootcamp, you will not be spoon-fed “the answers.” That isn’t how they work. You will be thrust into challenging learning experiences; that’s how you grow. A good bootcamp will help you become more resilient. It will teach you how to find answers on your own and become comfortable with the unknown.
Programming can initially be daunting. It’s often unclear how to break big problems down into smaller, more manageable ones. Bootcamps will give you many different points of reference for attacking some of these problems. Part of this process is likely to involve throwing a whole bunch of challenges and tools at you. It’s up to you to figure out what sticks and helps keep your head above water.
One of the most stressful parts of becoming a software engineer is the actual process of job hunting. The entire bootcamp ethos is structured to ensure you’re prepared to tackle this challenge, so by the end you’re ready to enter the job hunt.
The bootcamp experience ensures that, by the time you are interviewing, you will have:
- Practiced toy problems (small programming challenges).
- Created a basic work portfolio.
- Experienced some interpersonal challenges and lived to tell the tale.
- Developed some Day 1 job skills.
- Pulled together a presentable resume.
- Practiced your elevator pitch.
Most bootcamps also provide some assistance in reviewing and countering job offers. Remember, they are incentivized to help you get a job, not necessarily the best job for you. In addition, bootcamps usually have some sort of mentoring to help people identify areas where they could improve their overall presentation and conversion from resume submission to job offer.
Choosing a Bootcamp
Ready to commit? I encourage you to look at some of the resources out there and consider what you’d like to be doing after “graduation.” What program would give you the skills you need?
I found it useful to look at the lay of the land in industry before choosing my own program. This article provides a few good questions to consider, and Stack Overflow’s Insights Survey will give you a more quantitative perspective. TechBeacon did a nice job comparing bootcamps here.
As you look at these resources do keep in mind that the technology landscape evolves quickly. What was true in 2016 is not necessarily true in 2017.
As you research, it can help to keep the following in mind:
Check Your Sources
Question your sources while researching bootcamps. You should critically consider what motivates the provider to give you information one way or another. Do they have any skin in the game? How does that affect what decisions they might like you to make?
For the record, I’m writing this post because I wish it existed when I was doing my research. I am also writing this post to drive traffic to my company’s website: CircleCI. (Do it, click on the link, you know you want to!)
Bear in mind that many publicly available numbers do not represent entire cohorts of students. Look at what percent of a class is excluded from published numbers, and question what pre-existing skills students brought to the table. Statistics don’t lie, but the parameters used to generate those statistics can be mighty deceptive.
Follow the Money
Bootcamps occupy an unregulated, for-profit sector of the education industry. Individual instructors and mentors will (hopefully) care about your progress as a person and an engineer, but ultimately the institution that you attend is creating a product, and you are that product.
That means the bootcamp you attend will be highly motivated to attract students who are most likely to become hireable. They will evaluate you on a range of factors, which boil down to how strong you are technically (or seem like you could be) and how good your interpersonal skills are (how well you will interview).
On the one hand, this is great! You probably want to get a job coming out of bootcamp! Always nice to have your goals aligned with the institution tasked with helping you achieve them. On the other hand, if you are in a program that makes cuts and find yourself on the cusp, this will be a pretty uncomfortable place.
Ultimately, a more stringent vetting process will ensure that future cohorts from your bootcamp are higher performers, increasing the perceived value of your own education. Is what’s best for the brand what’s best for you?
For many people, coding bootcamps offer an effective, expedited program that turns graduates into software engineers. They are not a magic bullet, and they’re not for everyone. If you’re comfortable making the trade-offs listed in Is Coding Bootcamp Right for You?, they may truly be for you.
If not, you can always tackle the same process for free and at your own speed with programs like FreeCodeCamp or resources like this one. These approaches will require more self-discipline and will limit in-person community experiences (though there are certainly online communities growing up to support participants). Do what feels right.
I’m glad I attended a bootcamp. I found the personal trade-offs and risks to be highly motivating. I’m grateful to my current peers and to the larger engineering community for nurturing an environment that celebrates continued learning.
Programming culture is incredible. It encourages rapid failure to enable rapid growth (“that didn’t work, don’t do that again, let’s try this other thing that’s more promising”). It was a good fit for me, but that doesn’t mean it will be for you. It’s up to you to decide to become a software engineer, and whether a coding bootcamp is the best way to start that journey.
Hannah is (finally) a software engineer at CircleCI.