No... You don't.
We could leave it there, but let's explore this a little further.
There's a reason why Google, Apple & IBM, literally some of the largest companies in the entire world, are no longer requiring degrees as part of their job application process.
It's very simple: non-traditional educational routes are now just as effective, if not more effective than traditional routes.
We're talking Online Courses, Videos, Tutorial Articles, Bootcamps VS College & University. You no longer need to spend years learning abstract concepts and principles to even be considered for a job - you can learn job-ready skills just by consuming free content online.
It really is that simple. But if you're still not convinced, let's drive the point home.
Hiring managers, when sifting through job applications and interviewing candidates, are usually looking for 3 important attributes in the perfect candidate:
- A positive attitude. (brings energy to the team, not takes)
- A keen learner. (someone who will grow in their role)
- Real-world, practical experience. (actual projects that demonstrate your technical capabilities)
So the question is this: do you need a 4 year degree to acquire these 3 attributes?
No, no and no. You can absolutely gain these important attributes through self-learning using online materials, or going to an intensive bootcamp or finding a good online mentor.
And think of it this way, wouldn't it be foolish for an interviewer to literally ignore 95% of the candidate pool - simply because they recognized that you could learn way more efficiently, without taking on tons of student debt?
This isn't to say being a CS student or graduate puts you at a disadvantage - of course it doesn't. As long as you work towards embodying the 3 attributes above, it doesn't matter how you got there - you're on the path to hire-ability.
So if you want to get a job in tech without a CS degree, look at the dream job you want to get, pick up the necessary skills, develop a strong portfolio and you're only one successful interview away from getting there.
Tell us your opinion on this subject
These big companies are setting a trend now in the industry by removing the arbitrary degree requirement, but it's still quite a controversial subject. We'd love to bring some more balance to the subject so, please tell us - what do you think about requiring a Computer Science degree as part of a job?
Liked this post? You might want to check out the latest episode of The Learning Developer's Podcast
We released episode 2 this week - we talk about the very subject of this blog post, and the #1 strategy to getting any job you want. It's available on Spotify, Apple Podcasts and via the Transistor.fm web player.
Matt talks to full-stack developer George Hanson who is currently working as an R&D developer. We go over his struggles when trying to break into the industry 8 years ago, and his thoughts on university degrees, getting a job and what he looks for when interviewing candidates.
We also write a ton of mini blog posts over on our Instagram page if you want to see snippets of content like this - including mindset tips, design tutorials etc. Thanks for your time!
Top comments (53)
Great article! I'm a firm believer in that the single biggest quality someone can have when becoming a developer is a desire to learn.
The desire and ability to learn pretty much trumps everything else for me. Relying on a CS degree as a substitute is not going to work. Nothing gives me more confidence than speaking to an enthusiastic candidate who has a Github account full of projects or experiments in different languages that they put together in their spare time.
I found our latest hire on Instagram and knew very quickly she had a passion for learning that would benefit us in the long run. She was working a full-time job in retail yet found the time to dedicate to (and finish) projects to demonstrate her learning.
Great answer! 110% agree on this. But I find a lot of people have a desire to learn, it's those who really push every single day and have conviction to become good at something are the ones that stand out.
I know there has to be a separation of work and personal time, but I really do find those that put in the work in their personal time benefit greatly in the long run.
Absolutely right Luke. When I talk about a desire to learn, I really mean making a lifelong (or at least career-long) commitment to learning.
Whenever anyone first learns to code, it feels overwhelming and you're constantly facing a bottomless pit of new tools, technologies and frameworks. The irony is this never changes but it stops being overwhelming because the learner gains the confidence to take on what they need.
The learning becomes smarter too, figuring out the correct paths to take, the details they don't need to commit to memory and knowing when certain courses of action feel right or wrong.
Exactly! It's so awesome to watch when the learning becomes smarter. It's weird but you can just see it.
/End Thread haha. I think we've answered the question.
I completely agree about being eager to learn. I have a degree and over 10 years experience as a developer but I am still learning new things every day.
It's crazy really. It's not even just learning new concepts - it's having new problems to solve with the concepts you already know and putting those things together. New challenges every single day.
This is such a loaded reply that I think a lot of people need to hear. Thank you so much for elaborating on this.
The fact that you hired someone through Instagram is genuinely something we think will happen a lot more in the next 5-10 years.
The pressure from non-technical management to force-require degrees will fade as those managers begin to understand how the world is changing, and all of a sudden, the documented proof on social networks of our skills almost becomes a secondary résumé.
As someone with a non-traditional programming education, I'm often surprised that so many of my peers also lack a CS degree. I'm in Europe, so maybe the trend is somewhat skewed, but I'd estimate that no more than 50% of web developers here have an engineering background. More often than I ever would have thought, when I come with "I went to a programming bootcamp," I hear something like "I was retrained from sales" or "I learned on my own".
This is a great insight now. This is just the way the world works now. Particularly when someone hates their day job and is able to learn a tech skill and feel like they have the ability to build something, people are more hungry and motivated than ever to do what it takes to get an opportunity with a tech company.
It would be very ignorant to ignore these types of people simply because of the romantic viewpoint on what a "degree" means. It's an early 2000s opinion being forced into a 2019 world where it's just not the case anymore.
Thanks so much for your input!
I've been working in web development for a couple of years now and I'd say I have enough experience/skill behind my belt to be fine in most mid-level roles. I started out as an analytical chemist out of school as an apprentice and after 3 years I moved in to a general IT apprentice role, then self-taught myself development to a stage where I could keep up with university graduates and from there on I haven't looked back.
I think a lot of it revolves around having the right mindset and motivation to know where to look when you're stuck, and also having projects/work to apply your skills to. Whilst part of me wishes I'd gone to university instead of being a chemist for three years, another part is relieved I don't have any debt from student loans etc.
Companies looking specifically for graduates will often consider you as a junior developer if you can show some existing knowledge and drive. They tend to search for grads because they've already proved they can learn and apply knowledge over several years studying but this doesn't mean you're automatically ruled out if you don't have a degree. It just means you need to work a bit harder to show you can keep up!
You make a very good point regarding apprenticeships or internships - you will develop the skills you need far quicker in these types of settings than you ever would in university or even being self taught, because you're working on real world problems. It's such an incredibly good option if you have that opportunity.
And the part about mindset is so spot on. The mantra we are repeating which is kind of unexpected is that we are "trying to remove as much doubt from the ecosystem as possible". Doubting about the next project to work on. Doubting on what skill to choose. Doubting that you can get a degree without a CS degree.
Thank you so much for your perspective, it's another reason for considering non-traditional routes where you can save a lot of time and debt in the process.
It can be a bit overwhelming when first starting out in tech, especially web development as there's always a new flavour of the month javascript framework and new tooling available. Once you get on your feet and choose something you enjoy working with, you find that it gets a lot easier to adapt to different frameworks/languages with experience.
It used to be the case that if you didn't go to university, you'd struggle to find the resources and help you'd need to jump start a tech career, but now there's so much material out there and if you have a question, chances are someone else on stack overflow did too. It's a great time to be in a tech job.
"especially web development as there's always a new flavour of the month javascript framework"
JS is just one example of the pace at which tech moves at, but as you say, it's about getting on your feet and gaining some momentum because once you're in the game, you can begin to move with the frameworks and languages as they evolve.
To offer an additional perspective, I have a degree in CS and I'm still struggling to find a job. So I guess it doesn't really matter
Appreciate this a lot. It's a struggle regardless and learning in a way that suits you will make it only a bit easier.
We would love to help - what phase are you struggling with and why (applying, interview, code tests etc)?
I think it depends a lot on the country you live in and in the kind of company you want to get in, there's just so many companies around the world which will drop you at the CV screening process just because you don't have the Computer Science degree (I mean, many even mention it as a minimum requirement for applying)
I always ignore the requirement for a CS degree. It seems like most companies put that on there by default. I'm in Amsterdam, but 19/20 roles I applied for recently got back to me with further steps in the interview process. That's pretty good, considering I don't have a CS degree and most of them "required" one.
I think that's the main point - even though the job may say it requires a degree, relevant experience is just as good, and if you can get your foot in the door and show this (like many people already have) - you are now on the same playing field as other people who are "more qualified than you".
I second this ^
No, you don't 🤓
Love it! Did you stop reading at the first line? That's all you need to know 😂
Oh, i stopped after reading the title. Funny how my answer is the same as the first line of the post 🤷♂️. I have no degree, and i'm currently employed as a backend dev. So instead of the entire post, i just decided to keep my answer short and effective.
That is hilarious 😂 we had exactly the same line of thought really.
No one on our team has a degree. And we have seen the benefits of self learning, so it's why we feel so strongly on this.
We are also all hiring managers - crazy how far you can go with the right resources and self guidance.
Here's a question, how exactly do you get real world, practical experience when you haven't done a job yet, but it's what companies are looking for? I know I will with enough time volunteering my services to places, but in terms of looking for a job now I'm a little lost if I'll ever find a position to consider me.
Hi Nina, thanks so much for the question!
This is a very real struggle that a lot of developers have, and it's due to the false belief that companies only view time at a real job as real world, practical experience.
This couldn't be further from the truth - all you need to do is have 2 or 3 projects on your GitHub profile that aren't tutorials youve followed, but actual applications which are built from your own ideas.
This can be anything - and it's even better if it's something you enjoy. For example, if you love dogs, make a small-scale social network for dogs. It sounds funny but it demonstrates practical experience. If you are passionate about peanut butter, make a peanut butter comparison site.
I kid you not, I have hired multiple people based on their portfolios who have never had a job or even freelance contract, but have built really obscure websites for friends or family that forced them out of the "tutorial box" and into the "self-made" box.
I really hope this helps - and I'm happy to hop on a free call if you want a more in-depth chat based on the exact things you're trying to achieve. We have nothing to sell, we would just love to help you on the right path if you still feel lost ✌️ and these are the sorts of conversations that inspire our content. Thanks!
That's great to hear! I have lots of silly pokemon projects I've been working on and while I feel like I'm doubtful people care it still been fun to do. I stopped working on so many of those because I felt like I need to focus on applying to jobs or come up with a bigger project but maybe I should still give a few more ideas a shot.
It's super easy and low cost to get started with embedded computer engineering. Adafruit et al has a ton of platforms that could be used for projects. $10 gets you a full microcontroller system!
adafruit.com/product/3501
Start with something there, extend it, innovate a little, run into some problems, get around them, have some fun!
Another option is modding for various games. Minecraft is probably the easiest to start with. Tons of tutorials, lots of old mods that could use fresh eyes and hands to work on.
The real problem is even getting the resume in the hands of the hiring manager. You'll either have to find a company that has changed their policies or get a backchannel to the manager via LinkedIn or other social media.
Nina: The thing is, applying for jobs should be the easier part. Yeah - you can optimize your applications for each company, etc, but a strong resume should really speak for itself.
It's actually the time you spend building something that you enjoyed building, that is your own idea, that you can write 2 to 3 paragraphs against a screenshot and a link to that project in your resume, that is where you need to really put the work in. Because those 2 to 3 paragraphs, if they perfectly describe what practical things you did that relate to the job on that project, can be the difference between landing a job, and not.
Richard: I am completely on board with this. Messing around with different languages to get a taste of things and get into the swing of learning things for the sake of learning. It's better to focus on job-ready skills for the types of jobs you want to apply for, but there's no harm in trying a few different things at first, as it actually helps you become a better learner.
In terms of getting your resume in the hands of the hiring manager, it depends where you are - if you're in NYC, chances are you can send your CV out to literally hundreds of employers - so you've got advantage of scale. If you're in a small city where there's a handful of jobs you'd want to apply for, the "hand-to-hand combat" route of going on LinkedIn, Instagram, etc. and finding the people in those companies is probably going to be a much more effective route.
In fact, I'd even say doing both (applying for every job AND trying to find the people in the business on social and talk to them directly) can only maximize your chances, whatever the situation.
Great insights either way, thanks for your input!
Absolutely agree. I'm proof. I have no formal CS education. Learnt everything I knew through online videos, reading articles, trial and error. Built an online portfolio, threw some code into GitHub and started applying for dev jobs in summer 18. Got hired by one in November 18. Half the Dev team that I work with have no degree. Just keep learning and working on it. Aim high and make sure you apply for that job even when you think it's out of reach. You will get there in the end.
Right on dude! Living proof indeed. And there are literally hundreds of thousands of examples. Our entire team is one - and a lot of us started 8, 9, 10 years ago when not having a degree in a programming job was far more stigmatized than it is today.
There are really only a few edge cases nowadays where you actually require a degree.
Thanks for the real story - I hope others find inspiration from it. 🙏
I’m not so sure. I’ve learned a lot of things in the last 2 years. I have projects to show and now I’m in my first year of college (even in dean’s list) and I can’t get an entry level job or even an internship. I believe there isn’t much opportunity at the bottom of the pyramid. Seems like companies look for already experienced developers. Maybe companies in DC are more conservative.
You know, as much as this article might seem to paint a black and white picture, that's not our intention whatsoever - context is super important.
You may thrive in an academic setting, where lectures and the large-scale teamwork really give you a lot of momentum and energy. That might just be right for you.
What we're trying to say is, it doesn't matter how you learn (for people in most countries and places) - and more and more hiring managers are beginning to realize this. It's just about having hirable qualities - because 100% you can learn the same skills without the degree now. And you can do it at your pace, which may be quicker than university lecturers are able to keep up with.
I'd also suggest looking into the sort of jobs you will be transitioning into, and finding online courses surrounding those jobs and just checking them out, testing the waters and try be real honest in comparing that with your CS curriculum. You might find that your curriculum is extremely outdated - or maybe it's not! It can't hurt to try.
Thanks for your perspective - we appreciate it.
I didn’t meant to say that you require a degree to get a job. I just mean that the idea that you don’t require doesn’t mean that it’s easy to get one. Employers want experienced people and it’s not that easy to get that experience. College, bootcamps and online tutorials hardly scratch the surface. It’s mostly about finding someone to trust in you and that means networking and who you know, same as in other careers.
All of you guys here are making awesome points but i think it also depends on your country with the policies that are in place. In Kenya for example most developers and IT enthusiasts compete while having degrees..the other factors now come in play in the strength of your resume; these could be may be cert courses like Certified Scrummaster et cetera. But to answer the question i dont think a college degree in CS determines how strong a certain developer is but in some ways it plays a role
You are absolutely right in that the pace at which different countries and even subcultures in countries are moving towards understanding that non-traditional routes are actually just as effective as traditional ones is completely different.
I would say, for instance, that companies in the US are currently far more likely to require and put weight on a degree than the UK.
The thing is though, the reason the UK is moving far more towards not requiring one, are the exact same reasons that all other countries are slowly, but surely following suit. Online courses, tutorials, coding bootcamps are a worldwide thing.
It's only a matter of months, or years before it becomes the norm in whatever country you're in that you can go to either university or go the online route - and the only thing that matters is the strength of the developer itself through their resume and what they can demonstrate at the interview stage.
Thanks for your perspective and context of how this is currently playing out in Kenya, it's really helpful to know.