Do you need a CS degree to be a developer?
It wasn’t so long ago that a degree made all the difference in obtaining a high paying job in whatever area you desired
In today’s modern world of startups and fast-paced technology, this has changed. Successful entrepreneurs and developers such as Bill Gates, Steve Jobs and Mark Zuckerberg found that dropping out of college and following a more productive route for themselves certainly didn’t hinder their career progress
Students are beginning to question whether it is even sensible to saddle themselves with years of student loan debt for a degree that can’t keep up with the pace of modern technology
The younger generations are now learning the basics of coding at school and then teaching themselves online and are beginning to wonder why they even need University when you could learn most of it for free on the web
You certainly don’t need a Computer Science degree to be a programmer, coder, developer or software engineer in the most basic sense but if you are looking for work and want to be ‘paid to program’ the story may be somewhat different.
Let’s take a look at the various learning options on offer and also at what Tech Recruiters are finding right now in the market – are Computer Science degrees just a hark back to days of yore?
What does a Computer Science degree teach you?
You’ll learn theoretical knowledge and an overview of the scientific field of computing including subjects such as Operating Systems, Computer Organisation, Algorithms and Design Concepts while giving you the time to focus on the subject and explore it.
The main advantage of studying Computer Science is that it gives you a great breadth of knowledge allowing you to make insightful engineering decisions and to approach tasks in the best way possible with ‘an engineering mindset.’
It will teach some programming - but only where it helps explain other vital subjects. It does, however, open up a vast range of career options and is a high starting point to explore a variety of programming jobs.
If you’d like the opportunity to make high-level decisions in the future, it will undoubtedly help you be a more valuable programmer which would be difficult otherwise. For instance, you might need a deep understanding of algorithms to be able to modify them to solve problems
The StackOverflow Survey 2018 results below show that 75% of professional developers have a BA or higher and that over 80% of those with degrees studied Computer Science or similar
Even if you have a CS degree or similar it will only be the start of the learning journey – you’ll have general knowledge about how computers work and some handy problem-solving tools, but you should never stop learning. You’ll need to continually keep up to date too if you want your skills to remain marketable
What a Computer Science degree won’t teach you
It won’t guide you to be a programmer per se as it is not a degree that purely focuses on programming although that will undoubtedly be part of it. It is a vast and complex field of study but mostly based on theory instead of projects - and in IT careers the ‘doing’, and project experience is often more important than studying.
If you want to learn the latest languages and up to date technology a CS degree is probably not going to cut it. Educational establishments find it very hard to keep up with the latest trends, and it is questionable as to whether that is even their role as the fundamentals of computer science change very slowly.
A CS degree with its focus on teaching technical skills may also miss out on the opportunity to learn soft skills - although hopefully, some assignments will implicitly cover areas such as teamwork and communication
Interestingly some of the top tech companies such as Google, Apple and IBM don’t ask for a degree for many of their senior roles as they believe in the importance of practical hands-on experience over theoretical education
Armani Sharif, Perm Tech Leader from Explore Group‘few clients demand a CS degree now compared to a few years ago but scientific or data type roles can still demand a CS or mathematical type degree.’
Jack Borscz, Ruby Contract Team Leader from Explore Group'I can honestly say I have never had a client insist on a Developer having a Computer Science degree. They have been much more likely to want to see code, whether that be via Github or a code test. That’s not to say that some clients don’t insist upon Computer Science degrees. Indeed I have seen a number of adverts for Ruby jobs that list them as a requirement. However, I have found that they are usually for more junior positions where the candidate may not have any relevant professional experience.
Within the contract market, the general rule of thumb (and one which I agree with and actively promote) is that your years of experience working with a particular language or technology generally says a lot more than a CS degree does'.
Alex Balme, NY Senior Division Manager from Explore Group'Some clients still require degrees, but since we work on experienced hires, the professional experience matters more. Though it's hard to get the right professional experience without the right degrees!'
How else can I learn to be a developer or programmer?
There is a massive range of options for those who want to learn a programming language from books, popular learning websites such as Codeacademy, Khan Academy and Udemy where almost anyone can learn to program to using StackOverflow and Github repositories, looking through documentation and source code, or learning from a programming community whether online or at Meetups
The tables below show the range of options that Professional Developers have taken according to the Stack Overflow 2018 Survey
Are Boot Camps a viable alternative to a CS Degree?
Coding Bootcamps are springing up all over the place as an alternative to a degree and many promise that you’ll be ready for job interviews at the end. These certainly work for many people, but not all boot camps are created equal so diligent research is needed to ensure you’re choosing a successful one
Boot Camps tend to focus on specific languages or training for a particular type of programming job e.g. full stack development. They often include the latest technologies and teamwork methodologies such as Agile or Paired Programming and also focus on the soft skills that you need for working in real life teams and projects - which CS degrees may not.
What they don’t do is cover the computer science fundamentals which is where a CS degree comes in
So what IS the best option for getting work as a developer?
If you want to work as a developer, software engineer or programmer you need a foot in the door of your ideal company which may mean
A CS degree OR A great portfolio of your work OR Ideally Both
Start Building Your Portfolio
Which means working on your own projects – putting your skills into use and solving problems as you’d be expected to do in the roles you’ll be looking for. This will help you learn but also show your potential employers what you can do. Post your code on Github and other repositories if appropriate or demonstrate an app you’ve developed if that is your field of expertise
Nick Larsen from Stack Overflow says “The reality of getting hired as a developer is that it's way easier to get hired if you show the company what you have done. A portfolio of projects and products you have made credible contributions to is worth more than years of experience or schooling.”
Spend a significant amount of time every day on learning your language or stack well and then you'll find it easy to pick up a new one - essentially 'learning how to learn and think like a developer'
You’re going to be tested anyway!
Most companies now put developers or programmers through coding tests to make sure that they can ‘walk the walk’ and not just look good on paper having crammed for their exams. A computer science degree does not guarantee that you will be a good developer but would often be a considerable bonus
Armani Sharif, Perm Team Leader from Explore Group
'In the majority of developer roles it is more about experience now and companies value their own tech tests over previous education'
It depends on the job and the company
If you want to be a network architect, you’re almost certainly going to need a computer science (or related) degree. But for many other tech jobs, a computer-science degree is a nice addition, not a necessity. What matters to many employers is ambition and a willingness to learn on the part of tech candidates.
CS degrees and Boot Camps cover different sets of skills which is why many people attend both and why employers often value boot camps for junior roles and CS graduates for more senior. The next operating system is likely to be created by a Computer Science grad but for more everyday work a practical understanding is more important
Large Companies Many of the larger companies - that aren't Google, Apple or IBM - still have non-negotiable degree requirements and you won't obtain an interview without one
StartUps Having a degree is less important
Contracting or freelancing Again, having a degree or not isn’t usually the main consideration
Dan Jones, Perm Tech Division Leader from Explore Group
Some clients state that a CS degree is vital still, and some even go to the extent of insisting on a STEM degree from a Redbrick University. Whilst not necessarily stated as essential, most clients believe that a relevant degree indicates a candidate is going to do the textbook way of coding as opposed to workarounds and poorer quality coding that can be developed from learning in their bedroom'
Kashif Ali, Perm PHP Leader from Explore Group
'Only a handful of clients ask for CS degrees and those tend to be the type that like Redbrick/Oxbridge and turn their nose up at other universities'
Alex Balme, NY Senior Division Manager from Explore Group
'The bigger Finance or FinTech companies, for example, are certainly going to make a CS degree a bigger requirement but experience is always the most important thing. At recruitment at our level, no one can get by without the right experience and the right technical abilities – these will be tested by every hiring process in one form or another. The degree, for many of our clients, helps you get your start in your career and makes a difference in getting your first job, or maybe even your second or your third. But most mid-level professionals have the ability to get their next job, with or without a degree, if they have the right professional experience and can demonstrate it during the interview process'
The current tech talent shortage is going to persist for a long time yet and employers need to look at a range of options when hiring to find the right talent. Finding a great developer with soft skills who can problem solve when faced with technical and non-technical issues is hard to find and a wide range of experience is going to be vital and you might well need the CS fundamentals at some point
Degrees can't keep up with cutting edge tech however and the highest paid or most popular languages aren't all learnt in Universities - you've got to learn the documentation, explore the source code or take a course
If you can prove you've got the skill from previous jobs or projects then sometimes that will stand you in better stead than a degree