Do developers need college degrees? Just a generation ago, it was a given that a college degree was the best way to maximize the likelihood of securing a high-paying job in the field of your choice. But the world has changed, and more and more you hear of successful developers who never earned a degree, or college dropouts who made it big in Silicon Valley. Think pieces are published every day pondering the value of college, the skyrocketing rate of student loan debt, and whether or not the entire institution is just outdated and archaic.
At the same time, kids as young as elementary school are learning to code, building apps and websites, and, as they grow up, looking to development as a career. They’re often self-taught, using Google (and Stack Overflow, of course) to find answers and resources, then teaching themselves what they need to know. So it’s natural that as this generation comes of age, they’re wondering: Do I even need college to be a developer?
Nick Larsen, a data engineer here at Stack Overflow and a frequent speaker on the topic of getting hired as a developer, says the answer to this question “almost always comes down to the job you’re applying for.”
There are three possibilities with any job, according to Nick: A degree is not a requirement, a degree is a plus but not required, and a degree is a real requirement.
“The reality of getting hired as a developer,” says Nick, “is that it’s way easier to get hired if you show the company what you have done. A portfolio of projects and products you have made credible contributions to is worth more than years of experience or schooling.”
Our 2016 Developer Survey found that 56% of developers in fact do not have a college degree in computer science or related fields. The most popular way for developers to learn is by “self-teaching” in some way (69% of respondents told us they were at least partially self-taught; 13% said they were entirely self-taught).
Of the 4,499 jobs currently listed at Stack Overflow Jobs (across all regions), a Boolean search for “degree OR bachelor OR BS OR BA OR B.S. OR B.A.” yielded 1,760 matches. So we can extrapolate that 2,739 listings, or 61%, do not specify a “degree” or a “bachelor’s” as one of the requirements, and 39% list a degree somewhere in the job posting, either as a requirement or as a preference.
Interestingly, when filtered by region, the percentages of jobs advertised in the U.S. that require a degree was significantly higher. Of 2,287 jobs listed in the U.S., the same Boolean search yielded 1,198 matches. This means 1,089 listings, or 48%, do not specify a “degree” or a “bachelor’s” as one of the requirements, and 52% of U.S. jobs list a degree somewhere in the job posting, either as a requirement or as a preference.
So, yes: some companies require a degree. Does this mean you have over 50% more opportunities to get a job as a developer if you have a college degree? Not necessarily. Nick stresses that the ability to demonstrate what you can do and what you have done will always be more important than whether or not you have a degree, even in cases where the company has listed a degree as a requirement.
“Regardless of the degree level in the requirement,” says Nick, “it's usually okay to not have that degree if you can show a history of success in the area relevant to the problems you'll be solving at the company. Even for a job looking for the Ph.D level, a bunch of published papers relevant to the work they need done is more likely to get you hired than a Ph.D with fewer or non-relevant public artifacts.” This is why the phrase “or equivalent experience” is so popular.
This doesn’t mean you can sail into any interview you want without a degree. Some companies are more stringent than others. At a large, established enterprise company, a degree may be required and the hiring manager may not have the power to override that requirement, even if they wish to do so. At many startups and small companies, however, they’re likely to be a lot less impressed with your education and more impressed with your work ethic, your critical thinking skills, and your experience.
This focus on demonstrated competence means if you do have a college degree, you can’t lean on it like a crutch. You can’t flash your diploma and expect employers to flock to you. A portfolio is still going to be more important than that degree, even if the degree is required. So when you talk about your college work, don’t just list all the stuff you’ve learned. It’s on you to prove your degree is more than a piece of paper. So talk about how your knowledge relates to the company’s problems. Talk about how your education has informed your experience and made you a better developer. The tech industry moves fast and nobody cares what you learned in college five years ago or even five months ago—all they care about is what you can do for them now.
Way back in 2005, Joel had this to say in his advice to college students:
Smart recruiters know that the people who love programming wrote a database for their dentist in 8th grade, and taught at computer camp for three summers before college, and built the content management system for the campus newspaper, and had summer internships at software companies. That's what they're looking for on your resume.
Granted, not everybody with the potential to be a developer has free access to the resources necessary to do these things. But the idea—that employers want to hire developers for whom coding is a passion, not just a vocation—is as true today as it was in 2005. Motivation, self-direction, a strong work ethic, and a thirst for learning are generally more valuable to companies than a degree.
A recent development in for-profit trade schools has been coding bootcamps, which promise to teach you all you need to know about coding in as little as 12 weeks, and then help you find a job. Some of these bootcamps do have high job-placement success rates, and they tend to cost less than, say, four years at a university.
A recent study showed some encouraging findings about the outcomes and demographics of these programs. Seventy-three percent of graduates surveyed reported being employed as developers. However, 60% of “bootcampers” already had bachelor’s degrees (most in fields other than computer science) before starting the program, so they saw bootcamp as a supplementary education, rather than a replacement for a college degree.
Software development has one of the lowest barriers to entry of any field right now. This is because developers are so open and transparent with their knowledge. Stack Overflow itself is the biggest example of that, because it’s a community built by developers asking and answering questions, helping each other do the work. You can Google just about anything you need to know about software development and find resources for learning the skills you need.
Open source is another way to get your feet wet, once you’ve learned the basics. Contributing to open source projects can be an effective way to learn, grow, build a portfolio, and even make connections in the industry.
A good developer, in a nutshell, can think critically, solve problems, work on a team, and make deadlines. You can learn these skills in college or out of it, but the most valuable thing you can do to make yourself employable as a developer is to do the work. Prepare for the job you want. Build things, all the time, and never stop.
With or without a degree, employers will want to see what you can do.
Of course not. In fact, many would argue that the college experience is about much more than just getting a job when you graduate. We wouldn’t encourage anybody who is already in college to drop out, or anybody who wants to earn a degree to skip it and go straight to work instead. There are many reasons why, even if you don’t need one to get the job you’re after, you might want to pursue a college degree.
But when it comes to getting a job as a developer, there are simply more important things than a degree. Who is more hirable: someone with 3 years of work experience and no degree, or someone with a degree, but with an internship experience? The answers to this Quora question sum it up nicely: “There’s not really enough information in this question to answer it definitively,” reads the answer from software engineer Matt Kellner. “Both people could be just right for the job. It would depend on what they can actually do.”