Do you need a Computer Science Degree to be a software engineer?

Samuel Adejumo / Jan 5, 2021

5 minute read0 views

Introduction
If you are considering the steps you need to take in order to become a software engineer, your first thought was probably to get a high-level certification in computer science or similar. While some businesses will only shortlist candidates with such qualifications, there is an abundance of companies that consider candidates that come through alternative routes.

 

According to a 2021 Developer survey by Stack Overflow, questioning over 80,000 software engineers, 68% of respondents specified having a bachelor's degree or higher, which leaves 32% with less than a bachelor’s degree.

 

This prompts the question, is a computer science degree really needed to pursue a career in software engineering?

 

Photo source: Stack overflow Developer survey 2021

 

Software technologies are always changing, meaning whether someone has a computer science degree or not, they will always need to be learning new things, whether on the job or in their own time through personal projects.

 

Many people do not actually pick up the technical skills that are used in their job from university, rather, they learn how to learn quickly which is advantageous for learning more and adapting on the job.

 

I found personally that while my computer science degree did teach me a lot of essential skills that I have gotten to take into the workplace, a large proportion of the skills that I use on a daily basis at work were learned outside my degree, either on the job or through projects that I had worked on myself.

 

This is reflected in the Stack Overflow surveys, which show that even though 68% of respondents specified having bachelor’s degrees or higher, the most popular method of learning to code was through online courses. 60% of respondents specified that they learned to code through online resources, and only 54% specified that they learned through school.

 

 

What you will get from a computer science degree

The main advantage of getting a relevant degree is that it will give you a great breadth of knowledge in the software field, allowing you to learn new programming languages and concepts faster, as well as helping you to make more insightful engineering decisions when approaching tasks. This gives you an advantage over a self-taught engineer who may only have knowledge of the technologies that they have decided to specialize in and are therefore less flexible with their skills.

 

A degree will also extensively teach you about different algorithms and how they can be used to solve different types of problems which can ultimately make you a better programmer.

 

Going to university can also bring a lot of social benefits that self-teaching won't bring you straight off the bat. For example, it will help you build up a network of other people in your field which can be beneficial if you want to talk about problems or even start a team of your own.

 

What you won't learn from a computer science degree

While a degree course will teach some programming, it is not normally the main aim of the course, and a lot of programming skills are generally picked up through programming outside of education.

 

A degree will not teach you the latest technologies and frameworks, as these are always quickly changing which makes it very hard for educational establishments to keep up with the trends so you will have to learn those yourself regardless of if you get a degree or not.

 

A degree will not necessarily teach you the soft skills needed to be a software engineer such as good communication and teamwork, although some exercises do have a focus on group work, It is quite hard to simulate what it is like working in a real professional team through education.

 

Alternatives to a degree

There are a huge amount of resources online to get you started with coding if you are dedicated enough. Platforms like Udemy, Coursera, and Future Learn provide lots of courses to get you started on a language, framework, or concept. They often give you a certification from them upon completing one of their courses.

 

There are also lots of coding bootcamps which claim to be an alternative to a degree and many promise that you’ll be ready for job interviews at the end. Bootcamps have been shown to work for some people, but not all boot camps are created equal so diligent research is needed to ensure you’re choosing a successful one.

 

Bootcamps tend to focus on training for a particular type of programming job such as full stack development or learning a specific language. They often include the latest technologies and teamwork methodologies such as Agile, and also focus on the soft skills that you need for working in real life teams and projects. They do not cover computer science fundamentals, or give you the breadth of knowledge that a degree would bring you, but they provide you with the knowledge that you will need to get yourself started in the field.

 

Once you have learned the basics, start building a portfolio of projects ready to show employers to prove your skills.

 

What do employers want?

Every employer is different. Some have a degree as an absolute requirement, some don't. But don't be discouraged to apply for jobs if you don't have a degree. It may be slightly harder to prove your eligibility, but even big companies like Google, Apple, and IBM say that a computer science degree is not a requirement for their software jobs and seem to value practical industry experience over theoretical education.

 

 

I have a friend from university who works at a software company where he is the only person with a degree. While he got to start at a higher level than others there who took the less traditional path, it brings to light that there are a lot more opportunities along the path less travelled than you'd think.

 

Having a degree does not guarantee you a job over someone with no degree. From personal experience, I find that industry experience is what employers value the most. I once got rejected for a job, and later found out through LinkedIn that the person that beat me to the job was someone with no relevant degree, but 1 more year of experience than I had.

 

Ultimately, it’s more important that you can prove your technology expertise than how you got it. Companies today appreciate any relevant experience candidates have, especially if it shows ways they have nurtured their technology skills and demonstrates soft skills such as agility, collaboration, and perseverance. This can be accomplished through a variety of ways, such as hackathons, personal projects, training academies, or some combination of these.

 

Companies often put prospective developers through programming tests to verify that applicants have the coding skills to the level that they require, so as long as you actually have the skills, you should be able to get through a good amount of selection processes.

 

Conclusion

In general, computer science degrees teach a broad level of topics in the computational field, including the fundamental knowledge that can be taken into the software development field. For most developers, it provides a start to their journey which leads them to study new skills on their own.

 

For most software developers, learning lasts a lifetime, and they are frequently learning new languages, frameworks, and tools outside of their formal education.

 

While a computer science or similar degree is definitely advantageous when starting your career in software, it is not essential. All that is essential is that you are willing to work hard to build your skills!

 

Personally, if someone comes to me asking if they could get into coding with their lack of previous computing education, I always encourage it!

0 comments