Do You Need a Computer Science Degree to Become a Developer?

It’s a question that pops up again and again: Do you need a formal degree in computer science (CS) to become a developer?

The short answer is “no”: Although a degree in CS or a related discipline always looks good on a résumé or CV, many tech companies care more about your actual skills than whatever fancy piece of paper you earned in school; at the most recent American Workforce Policy Advisory Board Meeting, for instance, Apple CEO Tim Cook noted that about half of Apple employees don’t have a degree, and the company is “proud of that.” 

The longer answer: It’s complicated. It’s true that a formal education can help you learn many of the core concepts you’ll need for a successful career in software development. Developers seem to recognize this, which is why 62.4 percent of those who attended an undergraduate program majored in computer science, computer engineering, or software engineering (according to the latest Stack Overflow Developer Survey).

Some 8.2 percent of that same undergraduate “pool” majored in another engineering discipline (such as civil or mechanical engineering), and 6.9 percent majored in information systems, information technology, or system administration. Even fewer (4.5 percent) majored in web development or web design.

Some 45.3 percent of respondents told Stack Overflow that they’d earned a bachelor’s degree, while 12.2 percent had attended some university/college, and 3.4 percent had earned an associate’s degree. A significant number (22.7 percent) had secured a master’s degree, but relatively few had obtained either a professional degree (1.4 percent) or doctorate (2.8 percent).

“Worldwide, about three-fourths of professional developer respondents have the equivalent of a bachelor’s degree or higher, consistent with what we’ve found in previous years,” read the note accompanying Stack Overflow’s data. “However, it is not that rare to find accomplished professional developers who have not completed a degree.”

The big question is whether schools are actually teaching the skills that tech pros need to succeed once they enter the workforce, and on that front, things seem more in doubt. For instance, HackerRank’s annual developer survey found that college graduates weren’t being taught the languages and frameworks employers need; 32 percent of its respondents relied entirely on university to teach them what they needed to know, while 27 percent reported being self-taught. (An even higher number, 38 percent, combined schooling and self-learning.)

Meanwhile, another study from DigitalOcean pointed out that tech bootcamp graduates feel far more prepared for the ‘real world’ than college degree holders (61 percent to 36 percent, respectively).

And Stack Overflow’s survey reported a staggering 85 percent of developers teaching themselves new languages, frameworks, and tools without taking a formal course of any sort.

In other words, a CS degree is always useful (some jobs demand it, even if more companies are relaxing their educational requirements in favor of candidates demonstrating they have the right skills). But if you know how to code effectively, a lack of a degree shouldn’t be a total impediment to landing a job.

3 Responses to “Do You Need a Computer Science Degree to Become a Developer?”

  1. Harold Carruthers

    Let me take a few moments to address the bigger questions around 4 year degrees in IT but do it a step at a time.

    I appreciate the optimistic view that anyone can step into a coders role with right skill set. I am one of those folks that started my career without the 4 year degree. Actually, I had no choice in that I started my IT career with no chance for an IT degree. Why? They did not exist yet. In 1972, when I came out of high school, you could get 4 year degrees but only if you wanted to write compilers. Nothing related to business applications. Not my career decision.

    Progress a few years later when I was looking to move into other IT areas, analysis and design, I started to hear that 4 year degrees are required for those roles. Doors closed ahead of me and behind me.

    As I progressed through my career I have increasingly found that, right or wrong, that positions doing coding were eluding me as I was deemed to no longer be current so I went into systems analysis and eventually personnel supervision and area leadership but the degree question was now a given in positions. Rather than an advantage my lack of degree was a disadvantage and now a real problem in looking for positions.

    Thankfully, I see desperate employers finally starting to accept that experience trumps degrees when candidates apply for positions but there are still many many employers that wont even consider candidates such as myself.

    This isn’t without new challenges. My 42 years experience as a project, program, portfolio, personnel and area leadership sometimes trumps my lack of a degree but not always. Companies such as Enterprise Holdings, Amerun, Centene, Bayer, etc generally don’t consider non-degree people. Even my the pinnacle accomplishment for project managers, a PMP certification, doesn’t seem to cut it for my lack of a degree. The ability to test well 40+ years ago is more important than professional experience demonstrated by my PMP certification that I renew every 3 years. It makes no sense.

    My advice through brutal realities, get that 4 year degree even if it isn’t in an IT discipline. The skills you learn may age be worthless to your IT career but that 8 1/2 by 11 piece of paper carries a lot of weight for decades to come. Spend the $30k per year at college but the bankruptcy you go through will probably be worth it. Postpone that family until you can afford it.

    Is this fair? Of course not. Is my experience the norm? You be the judge. As a hiring manager some 30 years ago I had a perfect experienced candidate apply but I never saw the resume. On the other hand that same HR area passed on to me a resume for a candidate with no experience but had a degree in applied saxophone. Wake up HR. Abilities make the difference, not paper.

    Some of you will be aggravated but what I have said but ask yourself, are you mad because I am wrong or are you mad because I am right? Are you dedicated to your university or to your career? What changes will you make in your HR areas? Hmm, I thought so.

  2. People who went through college to earn a CS degree has better knowledge about data structures and algorithms. They learned about automata and operating systems. There are people who don’t have CS degree and are very good at what they do; but those are few. If I need a device driver, rtos or a financial engine I will go with people who has a degree. To create a website or any application that doesn’t need to stand test of time and users abuse I will pick anyone who can build it quickly for me. Learning how to program computer is a technician job. Learning how to design and code a computer program is an engineer job.