Computer science degree, is it necessary to become a software developer?
Tags: computerscience, beginners, codenewbie, career
Published: 2020-07-15 08:17:23

This is one of the most debated questions in today's tech industry. Degree holders, recruiters, and software developers without Computer science degrees aka BootCamp graduates are always at each other's throat especially on social media regarding this issue.

This article analyses both the benefits of having a computer science degree or any other IT related degree as well as the benefits of using other alternative methods to become a software developer. The article is intended for those who wish to start a career in software development to help them decide on a path that is flexible to them. In this article, we will only use Computer Science(CS) since it is the most popular degree in the field.

Before diving into the benefits of not passing through college, let us look at some of the ways that can help you become a software developer without wasting your four years. The most popular ways  are:
* Online learning
* Coding Bootcamp 
* Social media

**Online learning** - Using online learning you can choose whatever you want to learn and you usually get a certificate at the end of your course. Some of the popular online learning platforms are [Coursera](https://www.coursera.org/), [freeCodeCamp](https://www.freecodecamp.org/), [Udemy](https://www.udemy.com/), and [edX](https://www.edx.org/). The benefit is that you will get yourself a certificate and this will help you find employment and most recruiters prefer employing developers with certificates.

**Coding Bootcamps** - A coding Bootcamps are short-term, intensive software development programs. They aim at providing students with programming skills that employers look for.
Some of the popular coding Bootcamps are Data Science Dojo, Flatiron School, and coding dojo. The benefit is that they focus on the software development job essentials without taking you through that biology or physics class you are likely to do in college and might never use. The good thing is you will also get a certificate at the end of your coding Bootcamp.

**Social media** - Yes, it is one of the worst inventions in the history of inventions, but it can help you become a software developer. With social media, you have all the power in the world that is you chose what you want to use it for. Many software developers got their inspiration to code from social media. Using online video sharing platforms such as Youtube and Twitch you can get all the necessary skills needed to become a software developer. You can also use other inspirational communities on other social media platforms like Twitter, Facebook, Discord, Reddit, and many more.

>_Now that we have unlocked the unlimited superpower of becoming a developer without the hustle of attending classes for four years, let's look at the benefits that come bundled together with this superpower_.

**Cheap**

Comparing all the three methods we discussed earlier with the college you will find out that you can save a lot of money which you can use to buy yourself a car and still become a developer. This applies to any University in any continent you live in. If you have been considering becoming a programmer and looking for a cheaper alternative than getting a degree. This is the best way of avoiding four years in college.

**Fast**

Fast is good and fast can be bad, but in this case, fast is good. A coding Bootcamp can take you 1-2 years which means the remainder you can use to gain experience in your field. Other methods like online learning and social media are flexible, which means you decide how long you want to take to learn something. If you are someone who is trying to join the party late this is the best method for you than spending four years of your life with teenagers on campus.

**Focus on the job**

Unlike college where you learn other useless courses, you might think of with coding Bootcamps and online learning you focus on what the industry wants. Colleges focus on giving you the programming basics you need. It is up to you to go the extra mile. Colleges rarely teach essential skills like git and most colleges do not teach frameworks and today's industry relies on frameworks (this is my confession). In college, it's mostly the basic control statements, functions object-oriented programming, copying, and pasting code from your lecturer's slides, that's all they mainly teach.

You might never hear about ticketing systems like Jira in college or project collaboration systems like Trello. College students rely mostly on their lecturers for help and this is not work-friendly. At work mainly google if you have any issues, you can't move around asking people to help you solve your problems.

### College: The traditional way
College might be expensive or it might seem old school but having a CS degree can help you a lot as a software developer. Let's look at the benefits of those four years

**Improved hiring prospects**

You might have heard the news, read an article, or watched a documentary that tech companies no longer consider if someone has a degree or not. Well, that is not 100% true. Though some of the big guys like Google, Amazon, Apple, etc hire Bootcamp graduates the majority of tech companies still consider a CS degree a requirement when hiring developers. In this case, those 4 years are worth it.

**Increases your chance of being a manager**

Managers, you have heard of them before. The guys who usually sit or walk around like they are doing nothing. If you are someone who gives a damn about being one you might consider applying for a computer science degree. This might not apply to most companies but most of the leaders in software development have degrees. A computer science degree focuses more on equipping you with leadership skills(project management), software testing and you will master the essential software development techniques that they don't give you on youtube. Some of these skills are available online but now we are considering the motive you get from those difficult assignments that you have to submit before 0000hrs in college. In this case, those communication and research classes are totally worth it.


**Data structures and algorithm**

Writing a good algorithm requires a good understanding of mathematics. In college, they will take you through all those long formulas and how to convert them to code. Most of the Bootcamp graduates suck at algorithms and college teaches you how to implement existing as well as writing your own effective algorithms. 

Most software development interviews require that you know these algorithms which is an added advantage. If you are someone who wishes to be a data scientist college might be the
best for you since they teach you a lot of maths especially statistics which mainly used in artificial intelligence.

**Research**

A software developer should have a creative mind and should be a good researcher. This helps in both solving problems and coming up with good software ideas. This is a skill you might likely never get on youtube. universities teach students how to become good researchers and at the end of the four years, you will be required to come up with a dissertation.

**Basic understanding of how a computer works**

Software development does not only require you to write code, you need to understand the basic idea of how a computer works i.e how it allocates memory, which part does what. Bootcamps might not teach you what a buffer, stack, or what a processor, and this knowledge is important to a software developer. You can learn these basics as separate courses but that will mean you are adding more time and cost to your 1-2 years of learning which might bring you back to four years.

>Now that we know the superpowers we can get from having a computer science degree or going the other way, let's answer the question is a computer science degree necessary to become a software developer? Well, the correct answer is "it's up to you to decide whether you like it or not". Both ways you can still become a good software developer.