This is an anonymous post sent in by a member who does not want their name disclosed. Please be thoughtful with your responses, as these are usually tough posts to write. Email sloan@dev.to if you'd like to leave an anonymous comment or if you want to ask your own anonymous question.
Hey, all. I was just wondering if I should pursue a degree program or skip that and go straight to a bootcamp. I'd really like to get things started soon, but I don't know the pros/cons of either choice. Would love some guidance on which is more beneficial in the long run. Thank you.
Top comments (15)
Have you tried having a look at FreeCodeCamp?
That'll get you started and it's free. There are loads of online resources you can use to learn without having a degree.
I found when I graduated like over 10 years ago that without the real life experience no-one wanted to take me on, I even offered to work for free to get that IRL experience.
I don't have a CS degree but I always strongly recommend ppl to get a CS/Related degree especially if the person asking me is in high school. If you already have a degree and have some work experience, then going to a bootcamp makes sense.
I have a BS in computer science, and I currently work at a place where there are a lot of bootcampers.
From my observations, I think that a bootcamp is much more time/cost effective if you want to get into the software field, BUT bootcampers don't do as well when the going gets tough. They often aren't good at algorithmic efficiency, race conditions, and other "details". Of course, they can learn those things, but CS majors understand these things out-of-the-gate.
Plus, the university life is just fun, I wouldn't have missed it for the world.
So I'm glad that I got a 4 year CS degree, but I do think that a bootcamp is a very viable option, and ultimately is probably a better use of your money pound-for-pound. But overall, a CS degree gives you higher quality knowledge.
The highest level pros/cons of the two are essentially:
College
Bootcamp
The third option is self-taught, which I wont go into here. Its also worth keeping in mind you can combine these, and no one path is always the best path as it depends on a number of factors.
I've provided advice to this question many times as a contributor to the freeCodeCamp community. (which provides a "self-taught route" that can go with or without the above 2 options)
One of the main things to consider, even if your consider self-taught (with or without freeCodeCamp) is if you can go to college, you should go to college.
College is hands down the highest quality option, and provides the most resources compared the other two choices. Simply put, going to higher education puts you into a place that is built for you to learn. Bootcamps are similar but vary in quality, from near college-level condensed focused courses, to basically scams. Unlike schools, which could use governmental/non-profit resources to help sustain it, bootcamps are usually "for profit" more often.
If you can't afford college, either via your time or costs related to it, then bootcamps might be a viable option. However, keep in mind a bootcamp cannot replace college. Even the best bootcamps will teach you a smaller factor of knowledge simply due to the timespan spent learning. The worse are nothing more than paid-for-classes for things you can learn yourself for free. So do your research on any specific bootcamps your looking into.
"in the long run" college will always be the best choice. Bootcamps might get you into a job faster simply due to the smaller time-scales, but that leaves you "learning on the job" vastly more what you could learn in a higher educational learning settings. This approach will always be higher risk, as if you fail within school you'll get bad grades, if you fail on the job you could get sued/fired!
I learned to be a programmer by self study.
I eventually got a BS degree in Computer Science (go Gophers!).
I've since learned how to be a software engineer. (Where I'm using the definition of software engineer that Google's Titus Winters and Hyrum Wright use.)
Not sure where you are in the world, so this may not be useful, but are there opportunities for an apprenticeship available to you? IMO the best way to learn is by doing, especially in software engineering where it's hard to grasp the value of many practices / dogmas / processes until you experience alternatives and see for yourself. The technicalities of specific languages, frameworks, architectures, etc. are often public knowledge, although the day a week at college that an apprenticeship brings will help structure the journey through them.
FYI: I took an engineering degree (electronics with computing), which really didn't prepare me for real work in the late 80s/90s, however I did learn the value of humility: accepting new ideas and trying to change myself for the better (both in my career and personally). Plus of course the joys of adult living, relationships (34 years happily married now!) and the world outside tech :)
Depends where you are in your career and where you'd like to go.
It depends!
I was in your shoes a few years ago!
There are so many factors to consider!
If money isn't a problem, a bootcamp is the best option.
If you seek general knowledge a degree might be worth it.
However, as Nate said "A career in software requires the ability to constantly and quickly learn". Start with free resources like freecodecamp.org and see if you like it.
If you get a good University and it is not a remote one go for a degree. And if you are unable to get a good University then I think it will be better to go for a bootcamp. Also you need to consider the cost of both.
This is my opinion based on what I have seen in India.
While you will learn more practical skills at a bootcamp, a degree will provide you with more opportunities in the long run. In addition, with a four year degree you can more easily transition to another professional field later on, should you find yourself growing more interested in something specific. (Data Science, Management, etc.)