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 ...

Oldest comments (51)

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
 
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
 
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
 
jfrankcarr profile image
Frank Carr

It depends a lot on the company and location/country.

In my job market (Atlanta, GA US), it has increased a lot as a requirement over the past few years. It's become routine for resume parsing algorithms to screen out applicants who don't have a narrow selection of degrees.

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

Is it fair? I mean let's take system administration for example... Will a drop out who devoted himself to online courses and practicing have more exp or a graduate who has only theoretical knowledge and no actual practical exp ?

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
 
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
 
craser profile image
Grumpy

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
 
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
 
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
 
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
 
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
 
hbibzdeploy profile image
Muhammad Habib Jawady

Thank you. That was helpful.

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
 
fnh profile image
Fabian Holzer

I think it depends heavily on the company culture and on the local market situation. The lack of formal education might be a reason for not getting past the first screening of your application by the HR department of a bigger company, while a small or medium sized company might be much more interested which practical skills you can put on the table.

Collapse
 
miku86 profile image
miku86

It's all about opportunity costs.

4y-CS degree OR 4y-hands-on experience in this field?
I would choose the latter.

Especially because you have to learn a specific skill when you actually need to know it to solve a problem, not only to know it for the sake of knowing it or to ace a test.

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.