DEV Community

Muhammad Habib Jawady
Muhammad Habib Jawady

Posted on

Do you think a CS degree is a requirement for get a job?

Hello dev.to() members. I was wondering wether you consider getting a CS degree as a requirement for those looking for a job in fields like web/mobile development ...

Top comments (52)

Collapse
 
andrewlucker profile image
Andrew Lucker

Strictly speaking: no. But it does significantly improve your chances of getting through the different steps in the hiring process. Also some places do require CS degrees, but they are a minority.

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

What about other positions in machine learning for example ... Does the same rule imply?

Collapse
 
6temes profile image
Daniel

AI is still in the field of "science" rather than "engineering", so the way to find a job right now is to have a PHD in something related. At least in my company, AI people spend more time reading papers than actually building anything useful. ;)

This will change in the next 5 years, as NN and related technologies will become more "mainstream".

Collapse
 
andrewlucker profile image
Andrew Lucker

reposted from Brandon Rohrer's LinkedIn.

Brandon Rohrer

Collapse
 
andrewlucker profile image
Andrew Lucker

not really sure. I've never been on the hiring side for anything other than "data scientist". That was PHD required.

Collapse
 
ben profile image
Ben Halpern

I personally don't put a lot of stock in the CS degree (and don't have one), but it certainly helps in general.

I wouldn't go out of my way to get a degree just for the degree, but I'm sure there's a lot to learn along the way as you do it!

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

Well I live in Tunisia and the educational system in my opinion is just a waste of time ... And I can't wrap my head about what I should do ...

Collapse
 
craser profile image
Chris Raser

I agree with Ben-- if the classes are not on the same level as universities elsewhere, then skip it. But understand that this puts an initial hurdle in front of every job you apply to: they're going to want you to prove you have your coding fundamentals in order. (The exception is freelance work.)

I have a CS degree, and I've been a professional dev for ~18 years, and I typically get questions about:

  • recursion
  • basic data structures (queue, stack, hash table, and I was once asked about skip lists.)
  • tree traversals (depth-first & breadth-first)
  • graph traversals (Dijkstra & variations)
  • sorting (mostly partition & pivot variations)

And for Java-related jobs (and even some JavaScript stuff) I get questions about design patterns (See Gamma, et al.) and Interfaces vs. Abstract classes, etc.

If you don't have a degree, many interviewers will want to cover this stuff in depth with you to make sure you know it. Yes, this is slightly silly: I literally can't remember the last time I had to actually implement a sorting algorithm at work. On the other hand, you know they'll ask about it, so don't let the silliness get in the way of your career.

The other things you gain by taking classes/attending university are not in the syllabus. I found that every class taught me at least one or two things that were not actual course requirements. (Sometimes it'll hone your testing skills. Sometimes the biggest take-away is how to deal with a Professor who's an asshole.)

And honestly, I had no clue what I wanted to do with my career until I went to university. I started out studying music, then switched to computer science without even really knowing what kind of coding I'd find interesting, and then I saw Mosaic...

I guess what I'm saying is that if the classes are cheap, and you have the time, university is not a bad way to meet cool people, learn unexpected stuff, and find direction. All of that is orthogonal to what's in the course description or the quality of the instruction.

Collapse
 
ben profile image
Ben Halpern

In that case, I'd skip it and work on your personal brand. I think you're off to a good start by sharing knowledge here. Keep building (IMO one good personal project is better than many) and create a pleasing portfolio and overall web presence and you'll be on easy street as long as you keep improving as a coder. And you will keep improving if you go deep on a project.

That's just my thought, but if you want more specific, more opinionated advice, let me know.

Thread Thread
 
hbibzdeploy profile image
Muhammad Habib Jawady

Thank you

Collapse
 
bluebell_lester profile image
Bluebell Lester

Get a degree and work simultaneously, if the university is not strict with attendance. This is what people in my country generally do.
My course had a lot classes that are not immediately applicable to the work I do but they gave me a lot of perspective, so I do think a degree makes a more well-rounded software engineer.

Collapse
 
johnlukeg profile image
John Luke Garofalo • Edited

A lot of American Universities are beginning to offer completely equivalent online degrees at a really cheap price to promote sustainability, diversity, and cheaper education. For instance, I'm in my second semester of Georgia Tech's Online Master's of Computer Science program. For around $6000, you can obtain a master's degree from a top 10 institution for Computer Science. The low price and the fact that you never have to step foot on campus makes it a very plausible opportunity for students who live outside of the US. The program is very progressive so classes are around relevant topics like AI, Machine Learning, & more. I highly recommend it! omscs.gatech.edu/

Collapse
 
kayis profile image
K

They think education is cheap and good, everyone can get it, so why not simply let the universities filter out people and take what's left.

Collapse
 
drminnaar profile image
Douglas Minnaar

I agree with many in that it really does depend. It depends on your location, the type of job, and you as an individual. I recently had lunch with one of my previous professors that taught me Java from first to third year. She was interested to know if I found my degree useful. And honestly, I only really found her subject of Java to be useful :D. I have worked in companies where they would not even look at you if you don't have a degree. I'm totally against that viewpoint. I have worked with people that have masters degrees and found them to be quite useless. And then I have worked with people that are self-taught with no formal training but were quite brilliant. In fact I have generally found that individuals with degrees can become lazy as they like to fall back on the fact that they have a degree. A degree is also what you as an individual make of it. I think that if one only follows the curriculum of a degree, you could find yourself feeling completely overwhelmed when you get into the real world. The way I see it is that one always wants to do things that make you stand out from the rest. A degree is one way to achieve that but it's not the only way.

Collapse
 
perrydbucs profile image
Perry Donham

My job requires a CS degree (I'm a CS professor) :)

It feels like 4-year degrees are becoming the new high-school diploma in the US. There's such a heavy push for everyone to go to college that the degree is being devalued, especially for liberal-arts grads.

If you are just looking for a dev job, and don't have any long-term plans to move beyond that, I think a CS degree is overkill, since it's so easy these days to demonstrate competence in coding.

On the other hand, the four-year degree is so much more than learning technical skills; completing a professional degree program (engineering, sciences, etc) says something about your character and talent that can differentiate you from someone who is self-taught.

Collapse
 
maxwell_dev profile image
Max Antonucci

If you have to choose between experience and a CS degree, go with experience. In both my jobs few developers had a formal education in CS. Those who did tended to be in more senior positions, but that's the only formal difference I've seen.

I would encourage getting familiar with at least the basics, which can help. There's a Crash Course Computer Science series on YouTube I would recommend as an easier starting point.

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

MIT's?

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

It depends on the market and company. Here in Germany big companies love their degrees. Startups tend to care less everywhere.

There's a big caveat to not having a degree, you must nonetheless know the material covered by a decent degree.

In a technical interview you must be able to answer technical questions. This includes how a computer works (memory, ram, CPUs, threading, etc.) as well as basic complexity theory, and also process questions (such as issues and source control). I expect knowledge about software architecture and experience in basic distributed systems (think cloud deployment).

It's not really relevant to me that your degree may not have covered that material. I want you to know it before I'd hire you.

What a degree does tell me is that you're capable of following instructions and capable of learning. For somebody without experience this could be helpful to get the initial interview, and can provide some talking points.

Collapse
 
hrmny profile image
Leah

In Germany they really care about degrees and it bothers me, you earn more if you have one regardless of what you actually know and can do

Collapse
 
kayis profile image
K

Yes.

If you are a freelancer, even the state looks at this.

You wanna be "freiberufler" and not pay corporate taxes? Well, better sell some "higher value services"! How do you proove this? Simple, get a degree and we believe you, otherwise? good luck!

Thread Thread
 
mortoray profile image
edA‑qa mort‑ora‑y

Yeah, the laws for Freiberufler are rather unfair.

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

Thank you. That was helpful.

Collapse
 
ahlemchebbi profile image
ChebbiAhlem

of course yes , and if u re studying CS degree , u can make ur own job , so u re not obliged to wait for someone to give u a job

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

That's not really the case. Being a successful entrepreneur has nothing to do with CS degrees I believe ...

Collapse
 
djtai profile image
David Taitingfong

The short answer is no - and that's not even just for web/mobile development. You don't need a CS degree even if you wanted to do VR/AR development, be a Back-end/Front-End/Full Stack developer, etc...the list goes on.

From my understanding, the trend is shifting to be "it's nice if you have a degree, but what can you do OR what have you done?" - and I say this as a CS student myself.

Now if you ask me why I'm getting my degree then, well that's simply because I have hopes of getting my Masters or PhD and getting my Bachelor's first is a step in that direction.

Whatever you decide to do, just be sure to give it your best and know that there's a community out there (ahemdevtoahem) always willing to assist you in any way they can. Best of luck to you!

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

Thank you

Collapse
 
mattbidewell profile image
Matthew Bidewell

I have a CS degree. IT IS NOT NEEDED!* (*Terms and conditions may apply)

What I've found is that most jobs say they require a CS degree however if you apply without one and have relevant experience, you will most likely make it to the first round of the interview process.

However, if you wish to be given a learning plan to follow or what to dive into the deep science side of the Software Engineering then it would HELP to have a degree.

Note, it varies country to country. Personally, I'm from the UK.

Collapse
 
jvarness profile image
Jake Varness

Not strictly speaking. There many companies that hire people as software developers without CS degrees. Will you get paid as much as someone who doesn't have the degree? I think that might be up for debate.

There's no reason that you couldn't get a full-time position somewhere if you took the time to learn the skills that employers are looking for.

Collapse
 
aleksikauppila profile image
Aleksi Kauppila

No. You don't need a CS degree for web/mobile development. One of the great aspects in programming is that you can easily demonstrate your skill and knowledge by putting up a website and share your Github/Bitbucket/whatever profile. It's not about what you know, it's what you can prove.

Collapse
 
twigman08 profile image
Chad Smith

It depends on the company, but in general no.
In general if it came down to two people, one who has a degree but not quite all the experience, and someone who doesn't have a degree but checks all the check marks and had a good interview, they will go after the person without the degree.

Though with that said if they BOTH checked all the check marks and everything was equal, the one with the degree might end up getting the opportunity first.

When I'm interviewing someone I look to see if they are getting or have a degree as I think it shows dedication which is great to see, but it plays the smallest of roles in me wanting you hired.

Collapse
 
michiels profile image
Michiel Sikkes

At Firmhouse we don’t look at degrees. We’d like to see evidence of what you can produce, either because you already had a developing role at another company or if you’re already working on open source projects or have side projects to show.

Collapse
 
wernercd profile image
Chris Werner • Edited

Depends: Some companies/careers absolutely DEMAND a Degree. Programmer, DBA, Network Admin, etc. Big companies - hospitals, government, etc - often REQUIRE a degree. No degree and you don't get past HR.

I've only gotten a 2 year AA and have been blocked in some respects because I don't have a 4 year or higher.

On the other hand, now that I have 8+ years of REAL WORLD Job experience... I can leverage that with most companies to get interviews. I work as a programmer for a big bank and make 50/hour.