When looking to start a career as a software developer, you will probably come across two viable paths to get there: a CS degree from a university, or a coding bootcamp.
This means that at some point you’ll have to evaluate a CS degree against a coding bootcamp. While it’s easy to look at superficial things like duration and cost, that’s missing the bigger point of the discussion.
Coding Bootcamps and CS degrees serve very different roles and the objective of each of them is quite different.
To be completely honest, when I went to university to study Computer Science, I didn’t fully understand what studying CS meant, or even what the point of it was.
After one year, I tried to convince my parents to let me drop out of school. I was convinced it was a total waste of time.
Looking back on the experience of studying Computer Science in university, I realize it was a valuable experience, but my expectations of what the goal or purpose of the education was, was very different than my professor’s goals.
Let me rewind and walk you through what it means to study computer science in a university. From there we can compare and contrast the education people get from university with the education of coding bootcamps.
4-Year College Degree in Computer Science
I studied Computer Science at Northeastern University in Boston. My journey with CS started with a class called Fundamentals of Computer Science I aka fundies. The lecture hall was jam-packed on the first day, so much so that many people were forced to stand to attend the class. Moments later, I would find out why.
Look to your left and look to your right. Statistically speaking, only one of the three of you will ultimately pass this class.
If you go to RateMyProfessor.com you will see very different reviews of the professor and the class:
While his statement was true, I found his comment more important because it set the tone for what was to come.
There are certain requirements that it takes to get a CS degree and a lot of them are pretty difficult.
I’m going to walk you through the classes necessary to earn that degree so that you can learn from my personal experience and see what it covers, and what it doesn’t:
Fundamentals of Computer Science I (CS2500)
Fundamentals of Computer Science II (CS2510)
Computer Science/Information Science Overview & Co-op Preparation (CS1200)
Discrete Structures (CS1800 & CS1802)
Object-Oriented Design (CS3500)
Computer Systems (CS3650)
Networks and Distributed Systems (CS3700)
Theory of Computation (CS3800)
Programming Languages (CS4400)
Software Development (CS4500)
Algorithms and Data (CS4800)
The Eloquent Presenter (THTR1170)
Capstone (many options) Database Structures
When starting University I thought a Computer Science was all about writing code, but I was missing the point.
Getting a CS degree is deeper than writing code. Computer Science is all about understanding how computers are able to solve problems for programmers.
If you review the rundown of the classes I took, you’ll see that I only took a handful of classes that heavily involved writing code:
- 2 classes involved writing code in a programming language that is almost never used in industry.
- 3 classes involved writing code in ways fairly similar to what development in the real world and the first two classes were really just preparation for the final course of Software Development.
And because of this, plenty of people who graduate with a CS degree are terrible programmers. Personally, I really struggled with my class on networking. Through cramming, all-nighters and extra help I was able to retain enough to pass the class and immediately forget everything.
Plenty of people who graduate with a CS degree are terrible programmers.
There are some people struggle with the actual coding classes but are great at everything else.
The people that do well at Computer Science often supplement course materials to learn topics that are more relevant for building projects. My roommate at the time taught himself Python and Django and encouraged me to do the same.
Instead, I taught myself Ruby on Rails by going through a book I bought at Barnes and Noble.
Coding Bootcamp Program
Coding bootcamps approach programming education from a different angle. The emphasis is on developing real-world coding skills that can be put into practice, rather than theory.
Coding bootcamps would focus on skills like:
- The network structures that you will use every day as a programmer.
- How to store and retrieve items from a database.
- How to effectively use a programming language to solve problems.
But most coding bootcamps don’t cover topics like:
- Underlying network structures that power the Internet, and other things you don’t need to worry about as a programmer.
- How databases are able to use binary trees to retrieve data quickly.
- Using an obscure programming language to design and build a programming language of your own.
Coding bootcamps cover materials selectively. However, it’s material that is much more practical for day-to-day use.
For example, after passing the Northeastern class I took on databases, I had no idea how to actually use databases. The class taught me how they are built and strategies to optimize things if it was ever needed.
Coding bootcamp students will usually have experience using databases in real-world applications, but will not fully understand the strategies that the people who built the database had to ensure queries are done quickly and efficiently.
Although both Computer Science graduates and coding bootcamp graduates often go on to work as developers in the industry, they often have very different perspectives, which is understandable.
People with a CS degree will understand all aspects of what they’re building, whilst coding bootcamp graduates will understand the tools that are used every day in the industry and how to build projects with real-world application.
Despite these differences, there is significant overlap between the two, as well:
- CS graduates and coding bootcamp graduates should have the skill to use a programming language to perform transformations on data.
- They should also acquire the skill to look at problems analytically, logically and work backwards from a premise or suggestion.
- Both Computer Science students and bootcamp students should be able to get jobs as developers after they graduate.
So, Should I Go For a CS Degree or a Coding Bootcamp Education?
Ultimately, I think the choice should depend on where you are in life:
If you’re graduating high school, a CS degree will be more expensive and longer than attending a coding bootcamp. However, it’s a smart choice.
If you’re looking to make a career change and the commitment of 4 years and hundreds of thousands of dollars isn’t an option, a coding bootcamp could be the right choice for you.