[SURVEY RESULTS] The 2024 edition of State of Software Modernization market report is published!
GET IT here

Do Software Developers Need College Degrees?

readtime
Last updated on
September 18, 2023

A QUICK SUMMARY – FOR THE BUSY ONES

TABLE OF CONTENTS

Do Software Developers Need College Degrees?

INTRODUCTION

In today’s world where new technology affects our lives more and more, all known
paradigms are evolving and accents are shifting, anything can come under
scrutiny.

In the software development industry, as a driver of change, one of debates that
have been going on in recent years is the importance of college degrees for
programmers.

The question is: do software developers actually need a degree in computer
science (CS)?

There are lots of open discussions and arguments for both the positive and
negative answers, and of course progressive thinkers say college degrees are
outdated. And surely, as with any other phenomenon, there’s no single, confident
and agreed upon view.

So I will present some of the key quotes, statistics and considerations for you
to form your own opinion.

To start with, there are 2 general perspectives.

One is that, now practically anyone is capable of learn coding on his/her own
using tons of available free materials/courses online. Additionally, there are
coding bootcamps and IT-schools with their own stake in the game.

The second aspect, though, is that many businesses still require degrees and
won’t consider a candidate without one.


WHAT DO ACTUAL DEVELOPERS HAVE TO SAY?

Bearing in mind that to get hired a degree could be:

A) an actual requirement,
B) not a requirement,
C) a plus but optional,

let’s check the degree situation with real developers.

According to a 2018 Developer survey
[https://insights.stackoverflow.com/survey/2018/#developer-profile-education-professional-developers4]
by Stack Overflow, questioning over 100,000 employed professional software
engineers, 72% of developers have some degree in computer sciences or related
areas.

Survey shows that many developers have some degree in computer sciences or
related areas.
[https://assets-global.website-files.com/622fa4d65a5fab0c3465af07/6279369ee1535779de71392e_do-software-developers-need-college-degrees-stackoverflow-research.png]
Image source [https://insights.stackoverflow.com/survey/2018/]

When breaking it down, we see that only about 25% have a Master’s degree or
higher, whereas 46% have earned just a bachelor’s degree, and 27% don’t have any
degree at all.

Interestingly enough, the most popular way for them to learn new frameworks and
tool is on their own – 86% of respondents.

Together with other industry insights, this illustrates that a CS degree alone
is not enough these days. Software technologies are dynamic, and there’s a
constant need to learn new stuff, like it or not.

That’s why developers have to be self-taught, take special courses, receive
on-the-job training, participate in hackathons and competitions, complete
certain certification programs, etc.


WHAT’S VALUABLE FOR EMPLOYERS?

Having a degree does not guarantee you a job.

A degree from few years back could even be obsolete by tomorrow, what matters
most for employing companies is your “now” experience and a solid evidence of
what you can bring to the table.

Aside from the “college degree issue”, employers are interested in abilities
such as:

1. Writing robust and sustainable code.
2. Building object-oriented and functional systems that others can work with
afterwards.
3. Correcting and improving a codebase, poorly executed by someone else
previously.
4. Ability to adapt to system requirements during code writing.
5. Writing well-performing code for use cases.

Tech experts note that computer science/engineering studies mostly cover the #5
point, teaching a lot about fundamentals, CPU, memory optimization, etc.

The most significant abilities, obviously, are first two in that list. And for
those skills theory is not enough – one has to work with big codebases in a real
team for an extended period to really master coding skills.

The most valued skills of a software developer.
[https://assets-global.website-files.com/622fa4d65a5fab0c3465af07/6279369e48bc914a709d197a_do-software-developers-need-college-degrees-valued-skills.png]
Image source
[https://www.freelancermap.com/freelancer-tips/12117-8-qualities-of-a-successful-programmer]

Employers require software engineers who can work intuitively and naturally,
think abstractly as well as contextually. Agile, dynamic and creative methods
are in high demand nowadays, as programming is becoming more and more complex
with multiple frameworks, tools and libraries. Employers need developers who are
able to utilize it all in an efficient way in terms of business goals.

Even with many companies still requiring a college degree, it does not
necessarily mean you get 50% more opportunities if you’ve got one. The ability
to prove your current and potential skills is more convincing, but a degree
would be a good bonus in a case like that.


A FEW QUOTES ON THE MATTER

While the overall tendency leans towards “not that important” regarding CS
degrees, there’s still solid respect for it:

<blockquote><p>Formal education and the computer science background still helps
me today building the products.</p><p>– Thomas Schranz, CEO at Blossom.co
[https://www.blossom.co/]</p></blockquote>

Many other experts are more critical, of course.

<blockquote><p>The degree itself represents nothing but a cost paid and time
committed. A degree can be acquired by many different methods, none of which
guarantee any real learning has taken place.</p><p>– John Sonmez, founder of
Simple Programmer [https://simpleprogrammer.com/], life coach for software
developers</p></blockquote>

Some are much more blunt in their comments:

<blockquote><p>Computers science education cannot make anybody an expert
programmer anymore than studying brushes and pigment can make somebody an expert
painter.</p><p>– Eric Raymond, author of “The new hacker’s dictionary
[https://www.goodreads.com/book/show/104746.The_New_Hacker_s_Dictionary]”</p></blockquote>

For more constructive reasons about self-taught developers, hear this:

<blockquote><p>It shows that they have initiative, they’re smart, and can pick
things up on their own. They can work through problems and teach themselves… I’d
take these qualities over a CS degree any day.</p><p>– Robert Armstrong,
co-founder and CEO at Appstem [https://appstem.com/]</p></blockquote>

Some tech gurus seem to love this notion too much. Peter Thiel Foundation
offered $100,000 to twenty talented young individuals to skip college and focus
on work for two years.

<blockquote><p>Before long, spending four years in a lecture hall with a
hangover will be revealed as an antiquated debt-fueled luxury good.</p><p>–
Peter Thiel, founder of PayPal [https://www.paypal.com/]</p></blockquote>

Successful businessmen point to a sound alternative that is likely to satisfy
today’s need in a better way:

<blockquote><p>I have met a lot of people graduating from coding boot camps that
focus on providing the most relevant technical skillset to become a software
developer within 3 to 6 months. After graduating they started their jobs as
junior developers.</p><p>– Susanne Kaiser, CTO at Just Social
[https://www.just.social/]</p></blockquote>


WHERE NO DEGREE IS FINE…

Folks from such coding bootcamps and forward-thinking tech experts actually put
having a college degree in a list of myths about becoming a software developer.
Stuff like you need to be a genius, you need to know math perfectly, you need to
start in your teens…and you need to have a degree in CS.

To prove their position, many big companies have openly stated they don’t
require a degree for certain jobs anymore.

Google
[https://careers.google.com/how-we-hire/#do-i-need-a-computer-science-degree-to-be-a-google-software-engineer]
is one of them, extensively hiring in the USA for data security managers,
product managers, etc., welcoming talents without education.

Google job application FAQ on college degree.
[https://assets-global.website-files.com/622fa4d65a5fab0c3465af07/6279369e197b715a47602104_do-software-developers-need-college-degrees-google.png]
Image source
[https://careers.google.com/how-we-hire/#do-i-need-a-computer-science-degree-to-be-a-google-software-engineer]

‍Apple
[https://www.quora.com/Do-you-really-need-a-degree-in-computer-science-to-get-hired-for-an-important-role-in-a-big-software-company-like-Google-Apple-Facebook-Microsoft-Twitter-and-Vimeo]
goes along the same lines, and doesn’t mention a degree as mandatory to apply
for technical specialists, product design engineers, QA engineers, etc. Same
with IBM for graphic designers, compliance officers, etc.

And that’s only the tip of the iceberg, followed by Amazon, Dropbox,
Squarespace, Twitter, Internet Archive, Nvidia, Zillow, AT&T, Sirius Computer
Solutions, Dish and dozens more, not to mention non-tech companies.

The no degree requirement generally relates to any kind of programmer, from web
and mobile developers, designers, DevOps engineers to system administrators,
testers, marketers and cybersecurity analysts.


COUNTER-ARGUMENTS FOR A DEGREE

For many, it would be unreasonable to throw out the concept of college degree
irrevocably. Considerations on this side include the following:

* Without any formal training or education, you are an amateur basically. You
might be able to pretend to be a pro but not for long.
* Programming little apps isn’t that hard, which in itself could encourage
people to go into the profession and then contribute nothing or little.
Studying for few years would eliminate this kind of people.
* No formal training and no degree are different. Many students, for some
reasons, get full education but leave without completing a degree.
* Companies won’t pay for someone to learn on the job, such instances are
rather exceptions to the rule.
* In reality, it is still tough to get an interview without a CS degree or even
an HR pre-screen. Lots of tech companies use college degree the first
criterium.
* With a degree and wider knowledge one can make high level decisions, as well
as a degree will definitely add value to any programmer.
* A degree can serve as evidence that a candidate could learn new technologies
quickly.
* A degree, to high extent, indicates foundational knowledge, which is vital
for complex and nuanced projects.

And, this one, ironically enough, as a bonus:

* The number of developers who can prove to be effective without a degree isn’t
as high as you would think based on Quora posts.


WRAPPING UP

A college degree in CS isn’t pointless or obsolete (yet), of course. Even with
all the arguments and criticisms, it still is a ticket to getting a job after
graduation.

CS is not all about programming, but more about broad foundational comprehension
on how computation works. For developers, it provides the basis of their
passion. If that is, in fact, programming and software development, they will
study new skills on their own.

For most of them, learning lasts a lifetime, and all of them have to (and had to
actually) learn new languages/frameworks/tools outside formal education.

And employers value just that – practical, proven and relevant experience most
of all.

Frequently Asked Questions

No items found.

Our promise

Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.

Authors

Bianka Pluszczewska
github
Tech Editor

Software development enthusiast with 8 years of professional experience in this industry.

Marcin Dryka
github
Software Engineer

Full-stack software developer with 17 years of professional experience.

Matt Warcholinski
github
Chief Growth Officer

A serial entrepreneur, passionate R&D engineer, with 15 years of experience in the tech industry.

Read next

No items found...

Get smarter in engineering and leadership in less than 60 seconds.

Join 300+ founders and engineering leaders, and get a weekly newsletter that takes our CEO 5-6 hours to prepare.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.