With coding bootcamp as a viable option for those who want to become software developers, it’s never been a better time to consider exactly how you want to map out your education. The biggest factor in making the decision between bootcamp or full undergrad degree is lifestyle. In many ways, they are opposite in their approach to teaching. And while it’s always helpful to solicit opinions, just remember that people will be more inclined to defend whichever path they happened to take.
Below you’ll find a list of pros and cons for coding bootcamp vs a college degree.
For college: Let’s face it, college can be fun. It’s an environment designed for you to meet bright people, expand your network, and learn social skills that will stay with you for the rest of your life.
You’ll study other subjects as well, which is especially important if you are not yet 100% positive that programming will be your lifelong career choice. Even if you are already a skilled programmer, and are positive that it’s the career for you, other subjects will give you diversity of thought, which will not only serve you on a personal level for balance but for your programming skills as well.
A full undergraduate degree will give you a strong foundation in computer science. Just as with a house, there’s plenty that needs to be built and maintained on top of a foundation, but the foundation will support your skillset for your entire career.
There are also a few other circumstances where a university degree makes more sense than a bootcamp: a university degree is necessary if you wish to pursue a Ph.D. or any career in the academic sector. Also, to my knowledge, there aren’t any programming bootcamps that are specific to certain verticals. So a degree is best if you already know that you wish to pursue a career in networking, security, or any other specific vertical.
For bootcamp: Again, let’s get straight to the point: it’s cheaper, faster, and more practical. I don’t know about you, but that sounds like a strong value proposition to me.
The point here that needs clarification is exactly how bootcamps manage to be cheaper, faster, and more practical. Bootcamps skip over most of the theory behind computer science and jump straight into the skills required to build an application. The downside to this is that there can be some holes in a bootcamp grad’s foundational understanding, but the upside is that in a relatively short amount of time they will have the skills to be able to contribute in a meaningful way to a company’s product.
All programmers know that what one learns in the classroom and what one actually uses in a day are two completely different things. Bootcamps take the approach of doing the least bit possible in order to get you qualified enough for a job with the assumption that, from there, you will continue to learn and fill in those foundational holes over time.
For college: the biggest drawback to a college education is the time and cost, as well as the relative lack of practical experience. Depending on your situation, these may not be huge drawbacks. The time may not be a drawback if you are also getting your degree for the college experience. The cost may not be such a big factor if you can comfortably afford it, knowing that eventually, your degree may pay for itself. And if you consider doing some programming on your own time, you can also get the practical experience.
For bootcamps: perhaps the biggest drawback for bootcamps is that they are hard. They are much shorter–typically only a few months–so there’s a lot of content packed into a short amount of time. Hack Reactor, my own bootcamp experience, did a brutal 6-hour “midterm” during which no one was allowed to speak (even during the breaks). It was extra stressful since we all knew that the bottom few performers would get cut out of the program; all in all, it was considerably more difficult than any exams I experienced at a UC.
Also, depending on which type of bootcamp you do, you may not have as much of a community as in a college setting. This is especially true for shorter and/or remote programs. You need strong self-motivation.
There’s is also less freedom in coding bootcamps to explore the areas you are most interested in. Bootcamps slightly cater to teaching frontend and will immediately dive into the most modern frameworks such as Angular and React. This is deliberate, and probably the best approach–they know what companies are looking for and what can get their graduates hired in the shortest amount of time. However, this is a drawback for students who either have a particular interest or are curious to learn about which vertical is best for them.
While some employers or recruiters may conflate them all as “bootcamp grads,” bootcamps are not all created equal, and not all of them will bring the same level of job opportunities post-graduation (on average). Because of the increased competition, and the fact that coding bootcamps try to achieve so much in such little time, if you choose this path, you really need to hustle.
Post-graduation is when the real work begins. It’s on you to continue to practice your weakest skills, and to apply to new companies each day, to embrace the process.
You know who you are and your style best. If you are able to work hard, hustle, and are looking to jump into the industry as soon as possible then a coding bootcamp is your better option. On the flip side, if you have the resources to take your time and develop a more thorough foundation–and especially if you look forward to the overall experience of taking other subjects and making friends through the “college experience”– then a full undergrad degree is for you.
I think most would agree that having both as an option is a sign of the evolution of our education system and can only be good for the industry as a whole. Regardless of which of the two you select, the most important factor is to adopt a mentality of lifelong learning. The world of programming changes so quickly that there is no “end game” to how much you can learn. The best programmers are those who stay curious and are eager to constantly improve and to continue to learn.