First Things First
We are officially in the month of July. Time sure flies for me~ I wonder if it's the same for everyone. My first blog post on Hashnode is on May 20 and I haven't stopped since. And now 41 days later, I can't believe that I have reached 200 followers!
Let's pull out the tears of joy pic again~
I'd like to dedicate this blog's rapid growth and success to Hashnode and all of you, the community. Thank you so much for inspiring and motivating me! I'll continue to write and love writing!
Today's Topic : Is a CS degree still worth it today?
Without further ado, let's begin today's topic. It's more of a discussion rather than a tutorial today.
In this post, I plan to analyze factors like education, skills and cost to be a developer today. Then, compare them to the current demands of employers in the industry. I'm also adding some of my observations into this discussion.
Disclaimer: I am by no means an expert in education or any related field in the matter. This is my 100% personal opinion based on some research and observations. So feel free to share your thoughts in the comments below if you disagree.
Education
According to StackOverflow's 2020 Developer Report, 49.3% of professional developers today obtain a Bachelor's degree while a decent 25.5% have a Master's degree.
insights.stackoverflow.com/survey/2020
Of the Bachelor's degree holders, an outstanding 61.9% majored in Computer Science while in second place, with a mere 9.3% majored in an engineering discipline.
insights.stackoverflow.com/survey/2020
From these statistics alone, it can be concluded that having a CS degree is quite essential for developers. This is also reflected in the same survey when developers are asked how important formal education is.
Most developers - a total of 74.2% - answered with 'Very Important', 'Fairly Important' and 'Somewhat Important'. A moderate 16.1% think it is 'Not important at all'.
insights.stackoverflow.com/survey/2020
That's interesting isn't it? Because it has been a common belief that a good amount of developers don't think a CS degree is necessary but the data said otherwise.
On the other side, employers, especially small companies with 1-49 employees do not mind hiring those without Bachelor's degrees. In fact, in the 2020 Developer Skills Report by HackerRank, it is stated that 31.9% of these companies hire non-Bachelor's degree developer.
research.hackerrank.com/developer-skills/2020
For self-taught developers, this is good news. But some may be wondering:
What's the best medium/channel to learn programming?
The same report states that the majority enroll in bootcamps, online courses (i.e. edX) and YouTube to learn programming skills. Leetcode, HackerRank and other coding websites are also among the popular choices.
Moreover, nearly 1 in 3 employers are hiring developer graduating from bootcamps or anything equivalent. Unlike the way developers view how important formal education is, employers do not seem to place education as a top priority when hiring. An average of 31% of employers actually hired developers without any sort of formal education or degree.
Even Apple's CEO, Tim Cook, noted that about half of Apple employees don’t have a degree, and the company is “proud of that.”
Source: insights.dice.com/2019/04/26/do-you-need-a-..
research.hackerrank.com/developer-skills/2020
Skills
Today, the most popular language employers are looking for is none other than JavaScript at 53.6%. Python and Java come in close second and third at 49.5% and 44.1% respectively.
research.hackerrank.com/developer-skills/2020
However, most developers today are Gen Z-ers (5-25 years old) and millennials (26-40 years old) and only 5% reported to have learned JavaScript as their first language. Another popular in-demand language like Java also faced a similar pattern where 13% of surveyed developers stated their first language is Java.
In a 2018 HackerRank Developer Report, developers who went through 4 years of college/university did not learn the frameworks and languages that employers wanted. In fact, almost 30% of these undergraduates had to self-taught themselves JavaScript, the most in-demand language among employers. This is because most computer science programs offered in colleges will teach students concepts from elements of programming, information technology to computer engineering.
Perhaps this is why 72.2% of employers in the survey agreed that bootcamp or other self-taught developers are same or better equipped for the job than those with formal education.
research.hackerrank.com/developer-skills/2020
This is because bootcamps mainly focus on teaching job-relevant frameworks and languages, according to a Market Study by coursereport.com.
coursereport.com/reports/coding-bootcamp-ma..
Of course, whether or not a developer is self-taught or have a CS degree, most developers view that the most important form of personal growth is to learn new technologies. An overwhelming 59% stated so, and 24.9% wanting more responsibilities/promotions in second place.
Costs
This is hard to gauge because it differs from country to country. In North American countries, an average Computer Science degree can range from USD 55,000 - USD 360,000+, depending on the university and the student's residential status. Please let me know what is the average cost in your countries.
Online degree costs about USD 25,000 - USD 80,000+. Depends on the level of study and school.
Coding Bootcamps also have a huge range from USD 5,000 - USD 20,000+. On average, a bootcamp for a full-stack developer would cost USD 13,584 according to coursereport.com.
The Verdict
In conclusion, I think a CS degree is still better than without. But not having a CS degree should not stop anyone from pursuing a career in development.
Having a degree gives one credibility, flexibility to choose career paths and increased likelihood to get a job faster (because a degree still matters to most employers). Although, it is important to note that a degree is not job training. Some CS undergraduates could not find jobs because they lack experience and skills employers want. The best way to counter this issue is to intern at a company while completing the CS degree and learn the technologies/frameworks that the company you want to join uses. This means that even if you are enrolled in a CS program, you still need to teach yourself.
Ultimately, it is about finding balance. Developers, in my opinion, should be both schooled and self-taught. School will teach you the skills you can't teach yourself and self-taught can fill in the gaps between what schools teach and what employers want.
If paying for tuition is too much of a financial burden, there's always online resources around to help you. After all, getting a CS degree doesn't necessarily mean you have to physically attend an educational institution.
Here's a useful blog post I found on How to Hack your own CS degree for Free.
So, this is my verdict for this topic. Please do not hesitate to share your inputs or your personal experiences. Thanks for reading! Till next time, cheers!