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.