Before you choose one path, let me share something with you …
Our world right now is changing at an unprecedented pace. From technological progress to political, social and economic changes, everything is changing our way of life and forcing us to reassess the traditional way of doing things.
Until recently, a college degree was the only way for someone to land a high-paying job in most fields, including tech. Today, rapid digitalization has led us to the point where almost every industry out there, at some stage, will require one to know some tech skill. The demand for tech talents became more than what colleges/universities could supply.
Learn More: Coding Bootcamp vs. Degree in Computer Science
This results in the rise of coding bootcamps and online courses. The question is, are these a realistic alternative to a degree? And on another hand, is degree a waste of time given these cheap and faster options?
According to a survey from Stack Overflow :
2 out of 3 developers are self-taught - Many developers don’t have computer science degrees!
If you're starting to code, you'll encounter a few different options to take with your learning journey. There is no “one-size-fits-all” approach for everyone, so working out what's the best option for your journey is important.
Here we’ve outlined some of the Pros and Cons of Self-Taught vs Degree for your reference…
1. High return on investment
There are a lot of free or low cost online resources available online to get you started and it’s also a great way to discover whether or not coding is for you. Self taught programming is much cheaper than paying for a college degree as there’s many free resources on the internet, even if you only make one dollar as a working professional, your return on investment is already better than going for a four-years degree.
2. The ability to learn at your own pace.
If you are currently employed, it will be hard for you to leave your current job and attend classes full-time, but with the self taught approach, you can learn in your free time and at your own pace.
3. Freedom to focus on a specific domain
As a self taught developer, you can start by figuring out what your end goal is going to be, and then tailor your curriculum towards that goal.
1. It’s hard to stay motivated all the time
Staying motivated when learning to code is HARD, there is no competition, there is no deadline, even if you didn't accomplish a certain initiative, there won’t be any consequences to it and many that on the self-taught journey will often find themselves lacking the motivation, the discipline to finish their training.
2. There’s little to no guidance
You’re pretty much on your own in the self taught journey, there isn't going to be any mentor/lecturer for real-time learning/feedback. Without the proper support from others, it might lead to frustration and you will be tempted to just give up right away.
3. Lack of formal structure
Without a proper structure, it’s hard for self taught learners to know what they don’t know and eventually, at some point of their journey, they will find themselves in the “tutorial hell” or “tutorial purgatory”. There’s so much to learn out there and if one doesn't have the full pictures of what goal they want to achieve, they can definitely get lost along the journey.
If you plan to take the self taught approach, reflect on your level of commitment and passion for learning programming. You need to avoid focusing on only a specific language, instead try to integrate multiple languages, even stuff like math and engineering lessons into your training.Go and obtain some online certifications to help prove knowledge and skill level to your future employees, as well as actively participate in open source projects or startups to develop your own portfolio. If you’re interested in getting involved in startup projects, do join our THC discord community as we are going to post projects from time to time, join us now!
1. Deep theoretical knowledge
One of the biggest reasons to invest in a Computer Science (CS) degree is that you’ll learn coding theory, in fact, you’ll probably need to attend a whole lot of classes dedicated to theory before you even start learning any coding languages at all. A good understanding in theory is going to make you a more versatile coder and you’ll be more competitive in the job market.
2. College/university experience can be incredible
College/university experience is something that can’t be replaced, it is so much more than just the classes and this is probably the biggest upside, especially if you’re still young and trying to get more experience in the real world, college/ university is a great place to start with. You will learn so much more than what’s being taught in your major, work with people from all walks of life and pick up soft-skills that’s going to be very beneficial when you enter the workplace.
3. Structured learning and accountability
College/university courses offer a plan which you can follow to obtain the degree. And for those who struggle with self-discipline, a degree forces you to complete your goal of computer programming proficiency on schedule.
1. Outdated curriculum
The downside of getting a degree is that most large academic institutions out there are moving slow to adapt to the ever-changing tech industry. A CS degree may be teaching you outdated information or technologies/languages that are no longer in market demand.
2. Take the longest to complete
To obtain a CS degree, it will usually take a good 4 years, but with a self taught way, the amount of time will vary widely but most of the time it will only take a shorter amount of time for someone to go from zero coding knowledge to job-ready.
3. CS degree can be extremely expensive
Well, this shouldn't be a surprise, getting a degree can be really expensive nowadays and often it might take a student's entire lifetime to pay off the debt. According to the data from the Federal Reserve, the value of outstanding student loans in the United States has reached over <.7 trillion and is owed by 45 million borrowers. Student loans are the US second highest consumer debt category after mortgage debt.
You want to do your research before jumping on a CS degree. Research and contact those companies that you are interested in working for or look up current employees of those companies on LinkedIn to determine what they are looking for in an educational background. Research popular programming languages and which have the highest level of longevity. Also, see if your degree program has outside resources available, such as meet-ups, outside speakers or applied projects.
Hopefully, with this knowledge we provide to you, you'll be able to compare the Pros and Cons and make the best decision for yourself. Ultimately, becoming a self taught developer or pursuing a CS degree depends entirely on you, just remember this, nothing will work unless you do, regardless of your choice, I believe that if you’re consistent in putting the effort in learning, you will get where you want to be!
by Alvin Eu Yong, Venture Analyst @thehackercollective
Email us directly at hello@sigmaschool.co!
Want to learn to find out more about what we do?
Learn more here: https://sigmaschool.co
Let’s get social! Find us on:
Facebook: https://www.facebook.com/joinsigma/
Instagram: https://www.instagram.com/joinsigma/
Linkedin: https://linkedin.com/company/79085028/