This is one the most popular question that I get asked from people looking to get into web development.
Should I go to college for 5% of my human life, or can I bypass the whole thing with a 6 month bootcamp?
And it's a great question, because a few years ago, before the idea of bootcamps came about, or even the web really, the answer would have been "get a degree". Things have drastically changed since then however, in pretty much everything we do in life. From the way that we take in new information through our mobile devices to the way that we pay for things to the way that we communicate with people on a day to day basis.
So I'll be diving deep into both of these cases and giving a bird's eye view of the whole thing. I'll mention now, I have a degree in Computer Science and I teach for a coding bootcamp. So I will come at it from both perspectives with as much balance as I can muster. Let's get into it by starting off with the college route.
Getting a college degree
I personally attended college and went through a 5-year plan in order to get my degree in Computer Science, which I gladfully achieved sometime in the late 2000's. When I attended college in the early 2000'ish range, the internet was no where near what it is today. It wasn't well organized and the pop-up ads were rampant and intrusive and prone to breaking your computer.
So the college curriculum during that time was more focused on the actual science-based funamentals in computing and software engineering. The expected jobs that you were looking to get out of getting a degree back then looked something like the following:
- Embedded systems engineer
- Military defense
- Banking and other financial
- Research and development
Essentially, low level systems engineering with older technology stacks was the name of the game. And by "low level", I don't mean that the jobs are lesser to others and am referring to the nature of the programming languages. And this has not really changed since then. These jobs still exist and the demands are still very high and they still run on lower level and drastically more complex environments than say your standard online ecommerce store or email landing page. Most of our cities infrastructures rely on these jobs.
I still recall sitting through dozens of recruitment meetings with my tiny "netbook" falling asleep as a well-suited individual discussed the process of acquiring security clearances for potential employment right after graduation.
No one really foresaw the shift towards a web-only connected world that we finds ourselves in today. There were glimpses of it, sure, but for the most part software ran locally on someone's computer and required running the .exe or unzipping files to install that software.
...have changed very little during the past decade. I know because I talk and meet programmers all the time, and the ones that are recent graduates are still debating whether C++ or Java is the king of code.
My vote is C++ (if I had to choose).
The currently taught technology stacks have changed very little overall during the past decade . It's still mainly C++ based, with courses in assembly language, data structures, operating systems and embedded hardware programming.
So it isn't that college courses are falling behind and won't be needed in the near future. As mentioned above, there are still plenty of low level engineering jobs today and they, for the most part, require a degree. By low level, again, I refer to technical complexity, not the class of work. Think of assembly language as lower level than C++ and so on.
It's more so that something else has entered the field currently which demands a higher work force in terms of quantity and output. And that something else is still technical in nature, still requires code and still a subset of a university and college level education.
Ask yourself the following questions, if you are thinking of attending a university program:
- What field am I looking to get into after?
- Do I plan to continue with the higher education route (Masters, Ph. D)?
- Do I want to teach at some point?
- Do the companies that I want to work for require a degree?
If you find yourself hovering on a yes to some of these, then considering a college level education might make sense for your particular goals.
Also note, that college level Computer Science curriculums are no walk in the part. Add to the list various calculus courses, discrete mathematics, electrical engineering and physics and you will have your hands full. Something else to take into consideration.
Now onto bootcamps.
There is one advantage that bootcamps offer that universities are still working towards catching up on, and falling behind on. Pretty much every single popular coding bootcamp currently active has a major focus on the current trending technologies, such as React, Vue, MongoDB, Express, and the like.
And that's because these private businesses and organizations don't have to work through much of the red tape that universities have to go through, in terms of accreditation and other forms of certifications.
Course work can be updated on the fly with upated content essentially on a daily basis. Why can't universities do this?
If you guessed that it is because of the textbook market, then you might be right.
It might shock many to know that the price of textbooks in the US has risen by more than 1500% since 1970.
Textbooks are expensive and are required for the most part in almost every class that you will take in college. My average semester cost for a full-set of books ran on average around 400-500 dollars. And those books are static, receiving revised versions year after year. Upon waiting 3 years to resell those books, the price had dropped to around the 2-5% of their original value, some not qualifying to be resold as they were too outdated. Which goes to show the pace that universities are able to adapt to is limited by physical factors.
Again, this is where bootcamps shine and step the game up. Most have relatively thorough and interactive online platforms in a variety of modern fields. Others have physical buildings for those looking for that personal touch. And they don't require textbooks, as the material is online.
And some offer 1 on 1 mentorship from real programmers that work in the field. And so students get real-time feedback on relevant topics that are happening as we speak. And that is one giant benefit that universities can not offer, as most professors are not active in their fields.
And things are progressing rapidly in the bootcamp communities. You can now take courses in Data Science, UI/UX design and even Project Management. Fields that are in huge demand right now and that don't have the bandwidth of waiting for 4-5 years for college grads.
The fact that most coding bootcamps only require months to complete, depending on the stack, means that the material more than likely will remain relevant to employers. Mix that with the growing number of web development job openings, and you have a recipe for overall success.
That of course comes at the cost of not going deep into mathematical and low-level technical knowledge. You might not be going deep into proper software architecture and engineering concepts, but then again, you might not be looking for that type of information either.
What's right for you?
That's the most important question you can ask. Because there is no "wrong" answer technically. It all depends on what you are looking for and how much time you have. Just like there is no wrong answer between learning to ride a skateboard or a bicycle. It depends.
If you are looking to make a name for yourself in the computing world, not like Steve Jobs or Bill Gates, but more along the lines of Bjarne Stroustrup or Linus Torvalds, then having a strong scientific background will be important. If you recognize the latter names, then you might be in this camp. And if you recognize the former, than you might be in the opposite camp.
While in the past companies required degrees from 4 year universities (minimum), there are many more companies these days that have gotten rid of such requirements. Many large companies that everyone is familiar with. Companies that have the resources to perform research on the quality of employees regardless of their educational status. And most agree, that you don't really need a college degree in order to be a functional employee. And again, that holds true for where we are today with technology and with the increase in our internet infrastructure.
I have seen plenty of bootcamp graduates make it to the end of the course and receive offer letters from everything from startups to some of the biggest tech companies in the game. If you do the work and you bring the skills, there is no reason why the answer would be otherwise.
As mentioned, I do have a degree in Computer Science, and I do feel that was the appropriate choice for me personally. If you want to read more about my Computer Science degree, check out my post here about whether or not I regret it now after almost 2 decades in the field.
Which leaves me at my last point. Whichever route you choose, you really just have to go all in and embrace whatever it demands of you. Both are difficult and both have their own unique challenges which you will have to overcome. And in that sense, you can't really make a wrong choice. You just have to make it.