57

I have an ongoing internship on an agile web development team at a company in the top 50 on the Fortune 500 list and I've learned great skills and knowledge there such as React, Typescript, and Git. My biggest concern for not finishing my Comp Sci degree is future employability down the road.

Based on the curriculum at the college I go to, there aren't many skills that I would learn from the remainder of my degree (mostly C++ stuff) that would translate to applicable skills in my career in web dev, causing me doubts about the direct value of the degree.

My coworkers and supervisor have given me very positive feedback on my work and the value I've added to the team several times, so I don't think references would be an issue. Also, my the company I work for is well-recognized and well-respected, so its name on a resume would stand out.

My Question:

Would most companies auto-reject my as an applicant for not having a degree even if I have long-running experience with high-demand skills in web development?

Edit:

I live in the St. Louis, Missouri area and would be looking for jobs there, most likely. Also, I have about two years left in my degree. People have been noting that my current skills will become obsolete in the future, which is true. However, I really have a drive for this stuff and love to learn new things in my field, so I'm not terribly concerned about staying up to date on relevant skills.

3
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Neo
    Commented Jun 24, 2020 at 11:29
  • 2
    Note that a computer science degree indicate you can learn and finish, both of which are relevant for an employer. Also to fellow workers it indicates what they can expect of you knowledgewise, but also that your line of thought has been schooled. In other words, consider it a kind of certification. Commented Jun 26, 2020 at 10:24
  • I'd say assuming you're going to get a good grade in it, and unless the degree is costing you a fortune, you should probably finish it.
    – Kaz
    Commented Jul 23, 2020 at 17:07

20 Answers 20

139

Two points:

  • A degree is more than technical skills.

  • Web Development "high-demand skills" go obsolete every 5 years.

I've been around before Google existed. Hard to imagine, but the internet predated Google by multiple decades. I was in NGO organizations dealing with Netscape and IE5/6 compatibility issues as CSS started rolling out.

Guess what? CSS is not a "high-demand" skill anymore, but gosh, there are some terrible websites out there made with jQuery triggers or badly configured CMS. I picked up XSLT, but you'll be hard pressed to find anyone hiring for that. PHP is supposedly "dead" but there are so many legacy systems out there you can probably get a good couple years out of it, doing migrations to something else.

Your degree will stabilize you, and opens you to much more stable positions. You will also be in position to do higher degrees to get credibility on more specialized subjects like AI.

Also, some recruiters have no idea how to deal with you without a degree. I was in that boat a year ago. I have a college diploma but it was overseas, and 70% of recruiters get me no interview. It's a tough world out there and a degree will definitely go much further with your experience than experience alone.

If you insist on no degree, then expect to work much harder than anyone else by several orders of magnitude. At that point, unless you got something against formal education or life circumstances prevent you, there really is no advantage of skipping the degree; you'll be working so much harder just to jump through the hoops that a degree is suppose to represent.

EDIT: I think people are misunderstanding this answer. Getting a degree does NOT automatically give you success. However, all things equal, you holding a degree will generally give you more opportunities than not. If you did (insert accomplishments) without a degree, it is impossible for a degree to make your situation worse.

I can guarantee you there will be a non-zero chance that missing a degree hurts you, regardless of whether it should or not. It is STUPID that a lot of places value a CS degree when the course material is obsolete before you start, but that is life, and this is an answer culminating from everyone I spoke with, on both side of the fence on the value of a degree.

Bottom line: get a degree if you can, but keep doing what you need to do beyond a degree. You MUST maintain relevance and continue studying (formal or otherwise) or you will be doing things you hate after 5 years, with or without a degree.


Here's a very basic tongue-in-cheek graph, given that getting a degree isn't prohibitively costly:

enter image description here

EDIT: Sept 2021 update. I finished my post-college degree (Bachelors) in April. Managed to get 6 interviews in 3 weeks, and got 2 offers. 2 years ago I was getting 0 interviews after 3 months. This is in Hong Kong, so locality matters. The degree made a bigger difference than I like, but that's life.

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Neo
    Commented Jun 25, 2020 at 12:02
64

A CS education (including a college degree) will teach you timeless concepts. It may use seemingly outdated languages for that, but it's the concepts that matter, not whether you place the semicolon at the end of the line or not.

That is why you may think "this is not directly related to what I do right now". It isn't. It is related to the basic concepts of computer science.

The skills you picked up now, React, Typescript etc. will be worthless in a few years. A new great framework or language will come out. The programming languages I started out with are basically extinct now. you probably never heard of them. Those skills come and go. You learn one, you find one better suited to the purpose, you learn that one, you find a better one or maybe you just need something for another purpose, that's an endless cycle of learning.

Just to give you a feeling of how fast the world moves in our business: I'm coding apps for devices like phones. The apps aren't bleeding edge, they are pretty normal for today's world. The frameworks for that have existed for years. And yet, having a mobile computer in your pocket or at your wrist, able to communicate with other continents in milliseconds? That was hardcore science fiction during my education. That was Enterprise/Captain Kirk level future. And here I am, programming it and everybody is like "ah, an app... okay... nice, well you have to earn your living some way or another, right?".

Your education will give you the basics that transcend whatever tool is the hype that week.

You might hear from people that are great and have no finished education or an education in a completely different field. But look at how old they are. They can get away with that because there was no alternative back then and they have 25+ years of experience to show now.

If you apply for jobs saying "I quit my college education and I know React and Typescript pretty well", you have a half-life. You may be getting employed right now, but when the next cool web framework hits the road (probably already happened since I needed a few minutes to type this up) your skills are worth zero and you have no fallback. Everybody else has the foundation to build on, both as knowledge in their heads and papers to prove it and you have... a lot less than that.

So bottom line: if you want to plan ahead more than just the next one to three years, finish your education. That will last a lifetime, both the paperwork and what they teach you.

17
  • 19
    This may not be popular, but I'd argue that the reason the formal education is critical has less to do with what you learn from it, and more to do with the credentials it gives you. In 5 years you'll have forgotten most of what you learned in college. In 10 years, almost 100%. Most of what you learn, you'll learn on the job. But the credential opens doors for you, and so is critical.
    – bob
    Commented Jun 23, 2020 at 18:00
  • 30
    @bob My university time is more than 10 years back and while I surely don't remember all the details like I did for the exams, I do remember the essentials. A good portion of my daily work is built or enhanced by it. And I see people without any degree who are in their speciality good programmers struggle with adopting abstract concepts. Some without a degree sure can do that as well, but they are the exception where it is the rule among those that do have a degree. That's why degrees are sometimes used as filters. Commented Jun 23, 2020 at 18:53
  • 2
    Though I disagree with the strict phrasing of the answer, you can also learn a new language and tools on the job. You can even learn to think more abstract and get into the more theoretical concepts, but it takes way more time and is more of an issue when you try to teach yourself without having the guidance of a university course as to what to pick and look at in which order and without experienced people to ask. Commented Jun 23, 2020 at 18:56
  • 3
    @FrankHopkins To illustrate, knew a person who was better than I was with C++, but since they didn't understand DFAs, they couldn't build an accepting parser / validator for a specific kind of control system configuration file. He reviewed my code (he was senior to me 26 years ago) and eventually gave it a pass because "I can't figure out how it works, but it's passed all of my tests." Tried to explain it to him, but it's pretty hard to swallow all that information in a day, or even a week. For those with degrees, mentioning I used a DFA was met with "cool, I'll check that state diagrams"
    – Edwin Buck
    Commented Jun 23, 2020 at 20:44
  • 3
    Re programming languages going extinct, that depends on the language. There were some I studied as an undergrad - Prolog, SNOBOL, even Pascal - that I think are extinct, but then I never actually used them for anything outside of class. C and Fortran (if you work in the sciences) are still around, and I would bet will still be around when today's fad languages are gone.
    – jamesqf
    Commented Jun 24, 2020 at 1:54
24

While the other answers are good, they are extremely on the pro-degree side, and I think it's only fair to shine the light on the other side of the world.

Is finishing my CS degree critical to being employable as a web developer if I already have good experience and an internship?

First of all, single internship as nice as it is, is not equivalent to actual paying on-the-job experience. Expectations of an intern are very low, even when comparing to those of a junior/entry level developer so getting over that barrier is not exactly a proof of being amazing and a Rockstar. Granted that most interns I've worked with do not make it that high, but still, the expectations are really low most of the time, so don't take this one positive experience and praise from every direction as more than it is.

So how to tell if you were really really exceptional as an intern, going above, beyond and possibly into the level of actual-work standard? Very easily - by getting a job offer from the company where you did your internship. It may be belted until you finish your school, but that is what companies I worked with did with the best of the best interns in the past, as that's a great way to source future employees.

Would most companies auto-reject my as an applicant for not having a degree even if I have long-running experience with high-demand skills in web development?

An important thing to point out is what's really in demand are people, not skills. And unless its early 2000s and you have practical experience with COBOL (which would get you hired for a big bag of money without interview), then people will be looking to hire a specific personality with given skillset. Because ultimately this is what hiring employees is about - to get people with the right mindset, attitude and skills into the workforce. It is almost never about just ticking the currently-hot skills.

With that in mind if you are the right person, you will not get rejected. The problem is how will you demonstrate it?

Degree certainly is one way, you will spend 2-4 years learning about all sort of IT-related topics. And while most of them you will never use in the real world, it at least shows that you can stick up with IT-related responsibility for that long and maintain X grades level. It certainly shows commitment and that you at least should be able to hold a conversation about theory of computer science and maybe whiteboard a simple compression algorithm, but also from a degree no one will expect you to know how to properly design, and work with, say REST API, so solving actual practical problems with any technology will require a lot more effort from senior staff.

Another way to show that you are the right person is real world experience. If you were to take the 2-4 years and commit them into commercial and opensource work, truly have full-time+ repository worth of them across the 2-4 years, then that is something quite outstanding and will do the opposite of getting you auto-rejected for an interview. Of course the problem is to have the drive, the passion and motivation to actually do all this work for 2-4 years, where unless you will manage to land an entry level job (which is tough with just the intership alone) then you will be on your own to organize all aspects of your self-driven education; And that is a tough gig. But if you will manage it, you now have 2-4 years of actual experience that, at least partially, is available online for everyone to see and check out, showing not only that you can actually create software, but that you are self-disciplined enough to do it on your own, without a paycheck driving you forward. Those personality traits are almost always of extremely high value from employers perspective, as managing, overseeing and hand-holding new employees is expensive.

I don't think that either of those choices is universally right, it's more of a matter what better fits your personality.

I know a lot of people (like myself) who would not be able to pass colleague due to simple boredom and lack of practicality - I am one of those people who can only learn by doing real-life affecting work. But then I also know people who tried for the self-driven route and wound up wasting 2 years of their life with nothing to show for it besides a crippling depression.

The safest bet probably would be to mix both of those worlds, working on the degree during the day, and at night and weekend driving open source contributions and hunting for a part time job/contracts to gain the invaluable real life experience.

14
  • 4
    For the pro-entry first side, I know an incredible PHP programmer, who had an incredible amount of success as an independent contractor. Now, he's trying to pivot, with mixed success, as his industry has basically moved off his platform of expertise. If he learned the general ideas, he'd probably have an easier time switching between implementations of general concepts. Without the general concepts, the first re-learning of an item tends to be very problematic as they try to fit the next set of related concepts into the last language, instead of a more general framework.
    – Edwin Buck
    Commented Jun 23, 2020 at 20:56
  • 4
    @EdwinBuck I keep hearing about those general concepts, and yet, not once, in my entire IT career which spanned from medical devices to high level finance I can recall once asking "is anyone here a CS graduate?" or saying "thank god X have finished CS degree" when facing a problem.
    – Aida Paul
    Commented Jun 23, 2020 at 21:24
  • 5
    @TymoteuszPaul They never ask if you have a degree. They always ask if you can solve the problem. Four years of learning ideas, approaches, and big-picture knowledge tends to build people with a few more "tools in their toolbox" than people who skipped four years of learning. Of course, some people fail to gain much from a degree, and they've wasted both four years and still can't leverage that time to solve real world problems.
    – Edwin Buck
    Commented Jun 23, 2020 at 21:31
  • 1
    @EdwinBuck won't work exprience put the same tools in their toolbox, especially four years of it? Or is there something I am missing about doing CS degree that does what work wouldn't?
    – Aida Paul
    Commented Jun 23, 2020 at 22:04
  • 3
    @TymoteuszPaul I am currently working in the biomedical field, one of the few CS graduate in a big team of biomedical engineers. They are not illiterate in CS, but they do not have the deeper CS background a Computer Engineering Degree gives you and believe me, it is pretty evident the difference. I do lack lot of knowledge when going more into biomedical stuff, but when talking about architecture, abstraction, communication protocols and such, there is a gap. Having work experience has the same drawback: you know some, but you might be missing the bigger picture.
    – bracco23
    Commented Jun 24, 2020 at 13:23
17

You haven't mentioned your current location or the location that you plan to seek employment in in the future, and whether those two are the same, so I'll mention an aspect that might or might not be relevant to you: immigration. If this is not relevant to you - you can stop reading here.

I landed my first job in IT after my second year of studies and had similar thoughts: does it make sense for me to continue my studies if I'm already employed? But since I was planning to look for opportunities abroad at some point, I decided that getting a degree is worth it - and it was. I've been through an immigration process twice to date and in both cases my degree was a crucial piece of my immigration package. In one case I wouldn't even been able to get the visa I was applying for had I not had a professional degree.

To sum up, if you plan to look for employment outside of your home country at some point, then not having a university degree might very well be a showstopper.

2
  • 8
    +1. One of the best devs I know did not have a university degree, and this completely torpedoed his plan to move to a country he loved for a job he'd already found there, because he did not qualify for a skilled working visa. Commented Jun 24, 2020 at 1:13
  • 4
    The effect of a degree is not going to hurt you until it does, and by then, it is so much harder to fix. I want to get into AI but nobody does the jump from college diploma -> Masters. I'm now back to getting my Bachelors.
    – Nelson
    Commented Jun 24, 2020 at 4:20
15

I didn’t see this mentioned yet. A major reason for me to prefer hiring someone with a degree is because it proves someone can put their mind to something and finish it. It makes it more likely this person won’t leave on a whim. It’s also an indicator for the marshmallow test, will they be able to delay gratification.

Obviously exceptions are there but the story better be damn good.

1
  • 4
    If I were hiring, and saw someone had dropped out of a course in the field they're trying to get me to hire them for, I would have some pretty serious questions. Did they drop out because they lost interest? Will they realise the field is not for them in six months time? I would actually prefer to look at people who never took a degree than someone who dropped out. Commented Jun 24, 2020 at 10:07
15

Can you get a job in the future without finishing your degree? Yes.

The more interesting question is should you.

The answer to that one is more complicated, because it depends on you. Are you a 21-year old college junior? Finish your degree. It will be worth more over the span of your career (in terms of jobs with HR departments that absolutely require it and promotability and the CS knowledge gained) than one lost year of salary. Are you a 30-something with a family to support and a mortgage and an every-increasing load of student debt attempting a second career? Now the answer is a little less cut-and-dried.

I also want to point out something explicitly implied by the other answers. A lot of them are about how technology moves fast, and today's in-demand skills are relics in the dustbin of history tomorrow.

Having a degree will not insulate you from this.

You are going to have to learn new stuff, all of the time, for the rest of your career whether you have a degree or not. Knowing Typescript and React will not save you from eventual obsolescence. Neither will knowing how to implement a correct hash table with constant-time lookup and an acceptable collision rate. N.B. though that the former will almost certainly become obsolete faster than the latter. And even if it doesn't, it works better (from an employer's perspective) as a filter for quality: there are plenty of people who went through a coding bootcamp and picked up a servicable knowledge of current web tech, there are far fewer candidates who could implement a hash table or reverse a linked list or do a reasonable OO design of a parking garage or whatever the hell people ask about in interviews these days.

Unless you have compelling life reasons (and I certainly did in my case, I was the 30-something I described above) finish the degree.

9
  • 1
    Having a degree is partially about knowing the stuff you've learned, and partially about showing you can learn new stuff and use it.
    – Abigail
    Commented Jun 24, 2020 at 11:21
  • 2
    Seconding @Abigail, I think you imply without stating that while a degree doesnt insulate you from obsolescence, it can equip you to handle it—after all, a degree is, in so many ways, about learning how to learn Commented Jun 24, 2020 at 14:25
  • 1
    You're right, Jared. Most HR reps won't know or care. On a second thought, I should've said "If I was a TechLead/IT Manager, I'd prefer. . . ", because they may care a little more. Yet again, it's true mileage may vary.
    – Arriel
    Commented Jun 24, 2020 at 16:51
  • 1
    I like this answer, and the "compelling life reasons" are good modifiers. I'm +40 and I'd love to finish my Computer Engineering degree from 20 years ago. I also think starting a Robotics degree would be a good alternate. And I'm really wishing my own "compelling life reasons" hadn't prevented me from getting the CE degree to begin with. Commented Jun 25, 2020 at 16:13
  • 1
    @computercarguy likewise. I was 33 and in my 3rd semester of CS when I got the job offer, my wife was finishing up her master's with a load of debt, and we had a 2 year old. Just couldn't pass it up, even given the long term opportunity cost. Commented Jun 25, 2020 at 16:20
9

No, not even a little bit. There are some dev jobs where having a degree makes a significant difference to your chances of getting hired, but for most of those, it isn't a CS degree that matters — it's a postgrad math degree, or a business degree, or an engineering degree, or some other specialized field that shows that you would be able to provide some kind of knowledge to the business beyond just being able to write computer programs. But most run-of-the-mill software development jobs don't require, or particularly benefit from, a CS degree, and many of the best developers I know don't have one.

8

Would most companies auto-reject my as an applicant for not having a degree even if I have long-running experience with high-demand skills in web development?

Yes most companies will reject you if you have no degree. To test this lookup 10 jobs for software development and check the requirements you'll find that a high percentage will require a degree.

There is also no guarantee that this company would offer you a job. I've had fantastic conversations with employees but the people who make the decisions often won't talk to interns so you might find that when you apply for a full-time job with them they reject you as the big boss only wants grads.

Please Note: I'm not saying they should require a degree that's a different question I am saying that they do require a degree.

8
  • 20
    " To test this lookup 10 jobs for software development and check the requirements you'll find that a high percentage will require a degree." I have no degree, applied to those jobs many times, and got hired way-too-many-times. Job offers are more of wishlist than hard requirements 99% of time.
    – Aida Paul
    Commented Jun 23, 2020 at 8:21
  • 2
    @EricHauenstein Agreed, though I don't think its really a countrpoint as my point was not that this doesn't happen, just that the test suggested is flawed, as a lot of the time it is not a hard requirements.
    – Aida Paul
    Commented Jun 23, 2020 at 15:22
  • 2
    @TymoteuszPaul I see your point and concur. I retract my counterpoint and accept your counter-counter-point. Commented Jun 23, 2020 at 15:29
  • 3
    Just to add another point to the discussion: I remember seeing job ads that demanded 5 years of .NET experience around 2002. Generally HR has requirements that are boilerplate for the ads without input by the technical people involved in the hiring process. I wouldn't pay too close attention to those requirements - in my experience those things aren't actually checked/enforced strictly.
    – Voo
    Commented Jun 23, 2020 at 16:58
  • 3
    "Yes most companies will reject you if you have no degree." I've worked for many companies, both as an employee and a consultant. In all of them, I've encountered people working for them without a degree. I think a claim that most companies will reject you if you don't have a degree needs some evidence to back that up.
    – Abigail
    Commented Jun 24, 2020 at 11:18
7

Most would not auto-reject you, since devs are usually in high demand. But if you have the chance to finish your degree, there is no point to drop out. It will always be an advantage to have a degree.

3
  • I think machines will auto reject you (e.g., HR making a filter for "give me resumes of people with X years experience and college education") but I don't think humans will auto-reject you. So I think once you get to talk to a human I think you're good. Commented Jun 23, 2020 at 17:15
  • 2
    @CaptainMan Humans will auto reject you early in your career. I just don't hire people without a degree until they have a few years experience- the risk/reward isn't there. If you have a degree from a decent college, you should have at least been exposed to a set of fundamentals, even if you aren't a master. With no degree or just a bootcamp, you generally aren't. That makes you not worth trying when I have other options. Now after say 5 years things balance out- I figure by then you've seen it in the field. But for those first 5 years it will cost him opportunities. Commented Jun 23, 2020 at 18:41
  • A recruiter can match you with a hiring manager willing to take that risk, and get you past the HR filter. I got my first job this way (with only unofficial experience), and the company simply wasn't willing to pay for more experience than I demonstrated. 2nd job should be easier to get.
    – employee-X
    Commented Jun 24, 2020 at 18:17
6

There is a huge, epic, difference between

• Web development

• Software engineering

Web development is incredibly awesome, amazingly lucrative, wonderful, a great career, and an all-around great way to spend your worklife.

But scripting web sites and doing css has no connection at all to things like programming airplanes to fly, programming cars to drive themselves, working on MMP realtime systems, gpu development, or the like.

It sounds like the course mentioned is more in the 'computer science / software engineering' vein.

So in fact a worthwhile answer is, find a different technical course that is heavily focussed on "web development".

Those credentials coupled with your great experience will help.

Note, OP, even yourself you dismiss the course at hand as "that c++ stuff" :) :)

Really it sounds like

  1. you are "in to" web dev. and

  2. that course is just not suitable

  3. as everyone has emphasized, "paper" IS helpful in your career - YES. it would just seem to be the wrong course.

To answer the direct question simply:

My Question: Would most companies auto-reject my as an applicant for not having a degree even if I have long-running experience with high-demand skills in web development?

The answer is, simply, NO.

Famously, in web dev, and in software generally, as in no other field, amazingly you can get hired with out a degree.

I would say that 50% of companies will simply reject you out of hand without a degree (as in any other normal industry) but, amazingly, 50% simply won't care and won't even ask.

So sure, famously, in software, you can make it "without a degree".

50% of companies will just reject you (as in any normal industry), but 50% won't even know or care.

2
  • 2
    The problem with this argument is that it ignores the hidden premise "Bill Gates and Steve Jobs did this, and I think I am just as talented as them, so I can do it as well".
    – alephzero
    Commented Jun 24, 2020 at 15:48
  • 1
    @alephzero , your comment is a bit confusing. I added an obvious joke that Bill and Steve are dropouts. It had nothing to do with an "argument". I've deleted it to help. It is an overwhelming observation that you can, in fact, have great success and easily get jobs, in the web dev field, with NO degree.
    – Fattie
    Commented Jun 24, 2020 at 16:28
5

Recruiters/engineers can stay irrational longer than you can afford to be unemployed.

You would think that cool companies are smart, they do not discriminate based on education, your wardrobe, ... but truth is that most of the companies, including the good ones have biased heuristics when filtering candidates. In fact unfortunately you will learn in your career it is quite amazing/shocking how many smart people can be blind to huge biases they have.

2 other points:

  1. You are presumably a young person, so you have never experienced job market in a severe recessions(since current economic expansion is 10+y old). Even if now it seems you may apply for 50 jobs, get selected for 30 without a degree, easily get 10 offers there might be a time when you might struggle to get 1 offer, and the degree might be a difference between 0 and 1. Note: as comments suggest this is considering the long run, in short run you might get unlucky to hit a recession when you finish your college, so 2 years of experience would be a better.

  2. Unlike other answers that are praising education I will tell you my opinion: when it comes to developer skills education is mostly useless for people like you(self starters that are willing to learn on their own), but degree is signaling. You signal to your future employers that you are capable of doing long term boring work, you are responsible, you can deal with stress(if degree is not easy to get), you meet deadlines...

So depending on your financials(are you taking huge student loans, is your family in dire need of money only you can provide by dropping out, etc.) I would suggest to you to try to get your BSc.

7
  • 1
    To compare believing in education and believing in unicorns is a bold thing :D
    – BigMadAndy
    Commented Jun 24, 2020 at 5:39
  • I've never liked the why of needing education, but I'm not silly enough to call the benefit an illusion. If I got my bachelors instead of going for a diploma, I could be studying AI right now.
    – Nelson
    Commented Jun 24, 2020 at 6:22
  • 1
    @BigMadAndy that was worded poorly, edited answer to make it clear I was talking about the fact that bias exists, even where you would expect good companies to eliminate it since it does not help with getting best candidates. Commented Jun 24, 2020 at 6:58
  • 1
    Do note that the fair comparison in a recession is "person with no degree but 5 years of experience" or "person with a 5 year degree but no experience". Given that in a recession companies tend to make shorter term investments I am fairly confident people will pick the experience over the degree. Commented Jun 24, 2020 at 15:13
  • @DavidMulder correct, but I was talking long run(all the recessions during OPs long life), not the next one. Commented Jun 24, 2020 at 15:32
5

This is a highly controversial subject you're asking about and on both sides choice supportive bias tends to play a huge role. Especially those who have spend 5 years of their lives getting a degree often feel the need to justify that investment. Having been in the position where we had to hire juniors and a short stint as a programming 'mentor' at a reeducation bootcamp/school I had to give this topic a fair bit of thought. I think this allows me to attempt to more rationally talk about the advantages and disadvantages of both choices.

1. At the start of your career

Comparings apples with apples

Often people will compare a junior with no experience with a junior with a degree. This especially makes sense in a buyer's market where there are fewer job offers than there are candidates to fill those jobs. For the last 10 years at least I haven't seen a country where that applies to programmers. As I mentioned earlier I worked for 3 months at a adult re-educational school and the large majority of students were hired with just 6 months of training... because that's how desperate the market was and is for programmers. The point is, the fair comparison is to take a youth who is 25 years old and either spend the last 5 years getting a university education or who spend the last 5 years working as a programmer.

Given such a youth I can fairly confidently say that most recruiters and companies will give a lot of value to those years of experience. Especially if at least 3 of those years were at a single company. That means that the person in question is reliable and capable enough that a company wanted to keep him or her. Something that a university degree in no way guarantees (even though finishing a good university definitely says something about intellect). Still though, there is an incredibly important cultural aspect to this, where some countries value degrees more and less. A weak proxy for this is the use of academic titles in non-academic settings. In central Europe I have seen people introduce themselves as "Doctor of Philosophy <FirstName> <LastName>" when talking to a nurse in the hospital for the additional respect it gets them, whilst in north western Europe this would be highly frowned upon and seen as highly eccentric or even inappropriate.

Knowledge

Realistically as far as the knowledge that 5 years of experience give you compared to what 5 years of university give you it's hard to make a fair comparison. At the end of the day they are very different things. Getting started with for example classical machine learning is (used to be?) hard without formal education. Few companies are going to go through the trouble to teach a junior such things, as formal education just prepares students fairly well for it. On the other hand university students tend to be completely and utterly unprepared for any type of architectural questions or just basic programming in general. Given each specific job there might be a better or worse match with skills and concepts that university do teach. Want to become a game engine developer or machine learning specialist? Probably get that formal education. Want to become a system architect or senior application developer? Probably get those years of experience.

Getting hired without experience

This is without a question the hardest part. Most people I have seen succeed start with freelance non-engineering work during their last education, and then score their first full time job through some connection. My fiancee's sister is currently studying CS and a lot of her classmates got 'hired away' from their degree during their internships. Personally after high school and before university I got hired based on a portfolio of personal projects I made. When people say that X% of companies will reject you out of hand, this is the phase during which that is true. Personally I didn't do any engineering related formal education (figured I already knew that well enough) and by this point I got hired multiple times within a week, but that's definitely not the case at the start. Being self taught frankly requires a lot of self motivation that most don't have.

2. Once you have 5 years of experience under the belt

Once you have those years of experience, without too much hopping around most recruiters will stop looking at your education more and more. It's far more interesting to note what company someone worked for and what work they did, than it is to see what they were doing all those years ago. Still though, when a recruiter gets a lot of applications, filtering on education is one of the two easiest things to do... but the other one is filtering on the years of experience. Which of those two will win out in general I can't tell you, but I think it's fair to say that getting a job at the most popular companies will be harder, because they will simply higher the person who is 5 years older than you are and has both the degree and the experience (and once you get to 20 years of experience vs 25 years... it really doesn't matter that much anymore).

3. Once you land a job

Lastly I have to note that those who claim (the top upvoted answer) that you have to work orders of magnitude harder for the same results... that's just frankly not true in all my experience. My direct boss doesn't know what degrees I have, my colleagues don't know what degrees I have... and frankly I doubt they care much either. Once you're actually working for a company your skills and weaknesses end up showing up very quickly. The most important thing is to never stop learning, and in my experience I have seen a lot of self-taught developers keep that up a lot better than those who went to university.

2
  • As someone who's been working in IT for 30 years, there are still some jobs where they, rightly or wrongly, ask for a degree (for example, if you wanted to work for an educational establishment). If you don't have a degree you're opting out of those jobs at the shortlisting stage. Once you're at the interview stage, nobody cares about this kind of thing. Good answer.
    – Rob Moir
    Commented Jun 25, 2020 at 15:08
  • @RobMoir True - but there are sometimes paths people don't consider. For example, let's say a 'self-taught' developer with 5 years of experience wants to get a job in an educational establishment. He can: A) Go get a degree... B) Use his experience to fast track the credentials - e.g. do a smaller course, or use the experience as credit towards a degree. C) Go grab a coffee with existing faculty, and get shortlisted that way. Think of it less as limiting options, and more as a different path.
    – NPSF3000
    Commented Jun 26, 2020 at 20:20
4

I've been in software development for 28 years now and am currently a Director and make hiring decisions. It is possible to learn a narrow set of skills pretty quickly and be useful in only that thing... but frankly there is a LOT of stuff people learn over 4 years of blood sweat and tears getting a degree that is easy to discount if you don't really sit down and think about it. These 6 month code camps leave me speechless... hiring any of those folks means I have to teach them everything else on the job and I can easily find someone with a degree instead. If anything a degree seems to be even more essential for just about any decently paying job these days.

Throughout my career I have worked with several very good developers without degrees, but I can tell you they had a very hard path. They were universally paid less, and had less opportunity for job mobility. In all but one case, they worked doing night school and eventually obtained their degrees... and in every case was able to leave for a new job and better pay thereafter.

Although a CS degree may not be essential to write software (in fact I'm one of the only devs in my company that doesn't have an engineering degree instead of CS), I can tell you engineers can write some really terrible code unless they have taken the time to learn computer science through other means. There are simply things you learn in a CS degree program that you will never learn on the job which are still very valuable for the job. It would almost be like saying that anyone with a scalpel can perform surgery as long as they trained for some other degree. It just simply doesn't make any sense, and people who claim a CS degree is worthless just don't understand what is learned in the degree... or they went through a really terrible CS program.

4
  • 1
    Sadly, having a CS degree does not seem to significantly increase the probability that someone will write good code. While there are some very good CS programs out there, many of them are a joke, teaching little more about programming than what is taught in coding camps (except Java instead of JS), and often less about software development. This is not new; Dijkstra has been complaining about this since the 1970s. FWIW, I never completed my degree and that has never been an issue in industry, through I started in sysadmin and later moved to software development.
    – cjs
    Commented Jun 24, 2020 at 3:24
  • Unfortunately that is very true... and maybe more so today. We recruited at a local major university that is supposed to have a good CS program and every student we interviewed only wanted to talk about their "snake game" project. As we dug into it more, it turns out it was a group project and only a small handful actually coded... many were marketting, documentation, project management. Sigh. They told us they were being prepared to manage dev teams because all coding was going to be outsourced. We have never been back to recruit there. Commented Jun 24, 2020 at 21:55
  • I'll add one more story. We interviewed a guy in India for our testing center there who came to us with a Masters in CS. My boss asked him what topic he had found most interesting in his CS studies, and the guy replied "communication". So my boss started asking for more details about protocols, networks, etc and the guy get sits there looking confused. My boss asked what kind of communications. The guy enthusiastically replied "English!". It turns out there is a lot of pressure there to be a Doctor, Engineer, or go into Software Engineering.. (cont...) Commented Jun 24, 2020 at 22:02
  • So the guy simply enrolled in the CS degree program as socially expected but then proceeded to take the classes that would equate to an English degree. My boss comes from India and he said there are some amazing schools there are really hard to get into, and then there are lots of for profit colleges who will say whatever you want as long as your family can pay them enough. So it's not just in the US that CS degrees are suffering. We actually uncovered a business a guy was running who for 10% of a offshore developer of H1B holder's salary they would help you do your work at night Commented Jun 24, 2020 at 22:06
3

A degree is not usually a hard requirement in webdev and you won't be "auto-rejected" for not having one. There are many people in the industry who don't have a degree and do well, so a degree tends to be more a proxy of ability. If you can demonstrate ability directly through experience and skill then obviously a degree is not critical.

However, a degree is still better than no degree if all else is equal. So it is a strong tie breaker when there are many similarly qualified candidates. If your skill and experience is truly exceptional for your peer group, then you won't have this problem - you will be more qualified than everyone else anyway and the degree won't come into it. On the other hand if there are applicants who have the same skill and experience as you, but did complete their degree, they will be picked over you. So it is up to you to judge if you are exceptional enough.

Some caveats:

  • Occasionally there are companies that actually require a degree. These are a minority and easy to detect (and avoid). For example, maybe the company requires a degree for pay grades above a certain threshold, and you are applying for a job that would pay more than that.
  • Similarly, for promotions you may find yourself being blocked by policy. For example, HR may feel that it is unwise to have degreed employeed be supervised by a degree-less senior employee. However IMO this is a minor issue -- when you get to that point you can always go back to school and maybe the company would even pay for it. In any case it would be easier as an experienced adult.
1
  • 1
    "a degree is still better than no degree if all else is equal" and "3-5 extra years of professional experience are better than not having them, if all else is equal". Both are equally true, and both are equally meaningless to say. At the end getting a degree costs a lot of time, and thus have an opportunity cost that needs to be judged. Not saying it's necessarily not worth it, but it's not a trivial thing. Commented Jun 24, 2020 at 17:27
3

Most of what you learn in a CS degree has negligible practical value, just like what you learn in any other pure science degree (e.g. physics).

If you wanted to learn something practical, you should have studied software engineering not computer science, just as you would choose mechanical, electrical, civil or chemical engineering, not physics or chemistry.

That said, any degree demonstrates two things: you can function at a fairly high and abstract intellectual level, and you have enough intellectual stamina to finish what you started.

Dropping out of the degree in favour of short term employment prospects sends a message that you don't have those two qualities, which are desirable in themselves whatever topics you studied at university level.

3

To answer the actual question:

Would most companies auto-reject my as an applicant for not having a degree even if I have long-running experience with high-demand skills in web development?

Some companies will reject you for not having a degree.

However, the follow on question is... who cares?

You don't need more than one job at a time... so the real question is will you be able to get the kind of opportunities you want without a degree? The answer probably - if you work hard.

For example, I don't have a degree and yet:

  • Have 10 years of experience (instead of the ~6 I would have of a degree).
  • Have advanced to lead developer position - led multiple small teams.
  • Worked for a variety of startups, including taking one to Series A.

I have recruiters from all the big companies interested in my resume. When I last looked for work, I was deciding between FB in Seattle, a Unicorn in Colorado and a startup in San Francisco.

If I had done a degree might I have done better? Maybe... but I'd have a lot less experience under my belt - and probably be earning a lot less money.


However, to echo other people's points, don't think this is an easier path. Going down the self-taught route means you need to learn everything a degree would teach you and much more. Uni's are good at teaching fundamentals, abstract concepts, and networking with other like-minded people. The first two can be picked up pretty easily online/books... but the latter can take a lot to build.

4
  • A lot of the trouble of being purely self-taught is not knowing which abstract concepts are going to be important. Would I have bothered to learn parser design, or database normalization, or logic programming if they hadn't been part of a degree course? I'm not sure I would have seen the point to any of them... but at one point or another, they've all been useful. Commented Jun 26, 2020 at 0:15
  • I started my career paired with a brilliant systems-level developer with no formal training -- I learned immensely from his experience, but at the same time he was often surprised at how I could bring to hand an algorithm from the academic world that would operate orders-of-magnitude faster than his off-the-cuff implementation for whatever work he was doing. Commented Jun 26, 2020 at 0:15
  • @CharlesDuffy Those are great examples, and I'm glad you've done well! However, they are just anecdotes - for example as a self-taught developer I've built my owner parses and normalized databases. I don't recall any of the numerous university-educated developers I've had the privilege of working with handing me an algorithm from a paper to help us out.
    – NPSF3000
    Commented Jun 26, 2020 at 1:54
  • @CharlesDuffy I think there's this misconception that because some people got their grounding via uni... that the only way to get grounding is via uni. Yet every time I look at data - whether it be the developers I've worked with, or payscale comparing salaries... there is no general advantage to a degree... in fact, it can sometimes hurt. Keep in mind... it's not like we don't have uni educated developers on the team - so, like any developer on a team - we pool experience from all backgrounds to solve the challenges at hand. At least half my learning is from my collegues.
    – NPSF3000
    Commented Jun 26, 2020 at 1:54
2

Self thaught programmer here, like others have said; it depends.

First off, I have been very lucky in my carreer and was able to transition slowly from a business role to a developer role over many years, to the point where I was working as a full time dev. Secondly, I have spent a lot of my free reading and learning. Thirdly, I really like developing and I like getting better at it. Finally, I was lucky to have worked alongside very talented and helpful people.

Moving from a developer role that I sliped into to one I applied for, I was lucky to know someone who was able to introduce me for a graduate level position. The interview went well here because I had many years of practical experience, backed up by everything I had learned in my spare time.

Working at graduate level felt like a step back and it pointed out gaps in my knowledge that graduates took for granted. Again I spent more time reading and learning. When I was ready to move some companies rejected my CV out of hand. Others however were happy to interview and I ended up with a number of offers to choose from.

In my opinion, having a CS or related degree would have helped me to get my foot in the door with some companies, it would have also provided a foundation for my carreer that I have had to built from scratch, but at this point I no longer consider it a major disadvantage.

At the same time:

  1. I have been very lucky
  2. I have had to develop a passion and drive for my job
  3. It is exceedingly rare for me to come across like me without a CS degree

As for you; I would suggest finishing those two years. In ten years they will hardly matter. Also, an internship is not a job. It is a way for a company find potential graduates to hire, and to contribute to the community.

However if you are still serious about getting a job, I would start by speaking to the internship company to see what options they have available. To get the best of both worlds see if you can get a part time job while continuing your studies. Also, if they do not offer a full-time role a the level and salary you are after, I would seriously reconsider your employability at the moment.

1

Based on the curriculum at the college I go to, there aren't many skills that I would learn from the remainder of my degree (mostly C++ stuff) that would translate to applicable skills in my career in web dev, causing me doubts about the direct value of the degree.

This is a terribly misguided perspective that couldn't be farther from the truth.

What do you think popular JavaScript engines run on? Spoiler: It's not JavaScript.

V8 is Google's open source high-performance JavaScript and WebAssembly engine, written in C++.

I hope it's okay to quote myself from one of my blog posts:

I recall my programming fundamentals teacher imparting some very wise words in the second semester of my undergraduate studies when he heard me complain about us learning C++, which at the time was completely foreign to me and came with a boatload of frustrations. He said that the degree wasn’t intended to teach us how to program in any particular language, and that languages are merely tools for doing a programmer’s job. The hope was that we’d be able to pick up any language on demand after graduating from the program. Our goal was to learn how to think like computer scientists instead of confining ourselves to the narrow context of any particular language.

A CS degree will teach you many things that you won't learn by using JavaScript frameworks and doing web dev for a living.

6
  • But that's the thing, being a web dev for a living will teach you many things that you won't learn by getting a CS degree. Both are equally true, the question is which of those things are more valuable in a career as a developer. I don't think there is an easy one sided answer to that question, but a truism like "it will teach you something different" doesn't help at all. (Not to say that learning multiple languages isn't very important) Commented Jun 24, 2020 at 17:23
  • "the question is which of those things are more valuable in a career as a developer" Why? There's no reason you can't have both. Commented Jun 24, 2020 at 17:30
  • Like in the sense of getting a degree whilst working at the same time? I guess you're right, for those who have the energy to do that: respect. A friend of mine was doing two bachelors at the same time, still don't understand how he did it. For me - and the large large majority of people - a 40 hour job is more than enough 😅 . Commented Jun 24, 2020 at 17:44
  • Or do you just mean that you can first get a degree and then get experience? That's obviously true as well, but that still means that you spend 5 years in CS which you could've spend getting professional experience. That was enough for me to go from 'junior' to 'medior' and learn 2 different programming languages for two different companies in addition to the one I started with. Commented Jun 24, 2020 at 17:47
  • 1
    Being "a web developer" is a lot like saying "I'm a mechanic who only works on radiators and useless for anything else". Having that narrow a focus is dangerous and limiting. I am a developer that can do work on anything, including web, and I have throughout my 28 year career. You also have to be concerned that a good part of outsourcing is being done within the web development sphere... just go look at the projects on UpWork. People set budgets there so small I couldn't even look at their requirements for the money they want to pay for web dev. Commented Jun 26, 2020 at 1:04
1

Can you get a job in software development without a degree! Sure!

Story Time

I have a CS degree from a Big 10 school known for engineering. In one of my first jobs after college, I worked at a 10-person shop with a brilliant developer of similar age who also didn't finish his degree because "there was nothing practical to learn." He could program rings around me, and became a Microsoft MVP within a year or two. He was then hired by MS, and last I heard he was working for Amazon.

So, it is possible. However, I've also seen kids justify focusing on their sports skills instead of getting into to college because Kobe Bryant pulled it off. You need to be able to prove to any potential employer that you are just as capable, if not more, than someone with a degree. You'll probably need a very active blog, many public, open source projects, and as much other public proof of skill as you can manage.

Good Jobs Are Competitive

Fast forward 10 years. I currently work at a firm with 1000+ employees in one of the US's top 5 largest cities. We are consistently ranked in our city's Top 10 Best Places To Work by multiple publications. People really want to work here. Our recruiting department is probably 100 people.

I am actively involved in our hiring process. We get more applications than we can hire. We need to quickly pare down the applicant field. So, the first requirement is a degree. For college applicants, there is also a GPA requirement. It isn't perfect, but it just isn't feasible to do an in-depth evaluation of every resume we get.

Furthermore, I've been in a lot of retrospectives after we've interviewed someone. We don't just talk about "did this person solve the coding problem we gave them?" or "do they understand abstraction?" We also discuss what they are like as a worker, and we take a close look at what the work history says about them. Something like "I didn't finish my degree because there was nothing valuable left to learn" is a MAJOR RED FLAG. This may not be true of you, but our conclusion would likely be that person doesn't want to work hard, gives up easily when work isn't interesting, and may not listen to more experienced employees because their knowledge is "outdated". We would need a lot of counter-evidence to overcome that assumption and move to hiring. (If it was something like, "I didn't finish because my mother was very ill and I took care of her", that would be a different consideration.)

Conclusion

You can certainly get a job without a degree. But, starting out will be harder. You will need to work to prove you can do things that are assumed (right or wrong) of someone with a degree. Some jobs will be closed to you regardless, and they may be the jobs you want most.

If you don't have much time left, and you can afford to finish, I'd highly recommend you do it.

3
  • Out of curiosity, If i were your BFF and you went to your hiring dpt. and told them 'hey, this guy is cool get him in for an interview even though he hasn't finished his degree' would that get me trough the door ? Commented Jun 25, 2020 at 7:52
  • I seriously doubt that would work. The degree requirement is a stated policy, so bending that rule for a friend is this kind of thing that could expose us to claims of discriminatory hiring. I'm sure there are companies or people who would do that, but given we always have plenty of applicants, I don't think it would be considered worth the risk. Commented Jun 25, 2020 at 15:14
  • Got ya. Was wondering if being recommended weights more than the CV as for instance in a big4 accountant company in the UK the chances to get in for an interview are much bigger if you've been recommended first. Commented Jun 27, 2020 at 12:24
1

I lost a chance at a job that I really wanted because the interview process was conducted by, and therefore oriented toward, people with CS degrees. I had been in the industry 15 years and was, I am sure, completely qualified to do the work. But the questions were all oriented toward stuff you would learn in an algorithms class, for example. I am CS-adjacent enough to recognize the general "category" of the stuff they were talking about, but my degrees are in math and physics and they were asking things that I could figure out given enough time but not something I was familiar enough with to answer quickly and show my competence.

Another consideration is having the tools available to solve harder problems. For example, much of the internet right now runs on linux servers. If you have an issue that requires you to compile code to fix it, you may benefit from the fact that you know what a compiler is, what a linker is, etc. These are things you may or may not pick up as you go along as "just a coder", but that a good CS degree will teach you. In my 20+ years, I have seen situations where I may have more years in the industry but I see people with the CS training able to confidently navigate thornier issues because (for example) they wrote a compiler in a class, and as a consequence they just have a better feel for "what's under the hood".

So, my advice is that you not only finish the degree, but absorb everything you can from every class, assuming that the information/skills/understanding you gain will be crucial to you getting a job or solving a tough problem that the other people around just didn't quite have the chops for.

Not the answer you're looking for? Browse other questions tagged .