Do web developers need computer science degrees?

Written by
Published on
Category

Despite the rapid growth of the internet and the huge demand for skilled web developers these days, many companies still have set in stone requirements that include having some form of 4-year degree in Computer Science or Computer Engineering in order to enter through their doors.

But that restrictive requirement is slowly being lifted day by day by some of the biggest tech organizations. Alot of this thanks in part to alternative learning methods, such as coding bootcamps or online certifications helping to create a bigger supply of well-skilled web developers. But also because pretty much everything we do in our current day to day life involves the internet in some shape, way or form.

I often get asked if not getting a degree is just a shortcut that will bite somebody later on in their career. And if they should make the 4-5 year commitment (and risk) and go for the college degree.

I personally did get a degree in Computer Science, and I am also mainly a web developer. And where both fields collide isn't exactly clear sometimes. And I can say that, because most of my current skillset was learned on the job day by day, and not in the classroom.

But I can say that things are changing fast, and that having strong computer science skills, might not necessarily mean that you will be a good web developer in this interconnected age. It will just make you into a good computer scientist.

Let's explore a bit further where both areas of study deviate and converge.

What is a web developer?

Let's start here, and we'll try and find that bridge between web development and computer science if we can. A web developer essentially develops, designs, tests and maintains web applications. That typically means that they need to be familiar with a web development technology stack. A few popular stacks include the following:

- ASP.NET
- ASP.NET Core
- LAMP
- WAMP
- MERN
- MEAN

And even other cross-platform frameworks, such as Flutter, React Native or Xamarin. Depending on the stack or framework, you will need to know a particular programming language as well. If you're mainly a React developer for example, then JavaScript will be your preferred coding language. But if you are an ASP.NET developer, such as myself, then C# is the way to go. Or also VB.NET, as that is also a .NET language.

A web developer also has to be familiar with how the internet works. And by internet I don't mean networking. I mean the actual internet. Things like where to register a domain or how to setup an SSL certificate. Those are vital in the web development world. More so than knowing about TCP/IP protocols. I still remember the first time that I was asked to configure DNS records on a million-dollar website as a junior developer. My response was "You got it!". But what I really wanted to say was "What's a DNS record?".

A web developer also has to be able to work with design software. This can include anything from PhotoShop to design tools like Figma. You might not be the actual designer of a website, but odds are you will work with one at some point in time. That means that you will spend some portion of the day looking through design assets so that you can convert those to HTML and CSS.

There are also certain languages that a web developer just has to know in order to do their job. Those are mainly HTML, CSS and JavaScript. And to some extent that might include other specialized languages, such as TypeScript, which is a superset of JavaScript that includes built-in types.

At a minimum, a web developer should be familiar with everything that I've just mentioned. Though really, what you need to know will probably depend more on what you are working on and where you are working. Every company has their own particular and specialized needs and you can't really predict ahead of time what it is that you will need to know.

Now let's get into the Computer Scientist field.

What's a computer scientist?

By computer scientist, I will mainly be referring to someone who has studied a traditional CS program at a university. For reference, here is a list of the classes that were required for me to get a degree in Computer Science.

- C++ I
- C++ II
- C++ III
- Data Structures
- Networking
- Operating Systems
- Embedded Design
- Assembly Language
- Computer Ethics
- Linear Algebra
- Statistics
- Calculus I, II, III
- Electrical Engineering
- Physics

It doesn't take long to notice that the list of skills required for each of these disciplines is pretty much completely different.

Neither are better or worse, it's good to get that out now. They have entirely different purposes altogether.

And that's mainly because a university degree is not designed for a career in web development. Web development was not really a buyable field beginning in the  early 2000's. Before that time, a computer science degree was designed for low-level software engineering jobs where architecture, performance and optimization were the key factors.

Typically that meant jobs in aerospace, military defense and city or governmental sectors. That has not changed. There is still high demand in these areas and typically, these jobs still go to Computer Science graduates.

Where do they meet?

I personally did get into web development through Computer Science. But it wasn't a simple task. While true that most of my college coursework went unused in the corporate world, there are certain elements of the college life in general that did help me in getting into the field.

The most obvious is of course the fact that I was able to get interviews at more companies prior to having any real experience. While I did mention that more and more companies are focusing less on candidates with 4 year degrees, that is still not true for many companies. Having a degree does open more doors in general. This is probably more important if you are just starting out in the field.

Also, 4 years of constant daily lectures, quizzes, exams and projects pretty much prepares you for anything that you will face at a job. You might not know exactly how to complete a project, but there is a good chance that you will have the critical thinking skills to figure it out. Or at least, that you will put in some all-nighters in order to get the job done.

But at the end of the day, knowing C++ and Assembly Language probably won't make you into a really adept web developer. And in that same light, knowing JavaScript and Node.js won't necessarily make you into a powerful software engineer or computer scientist.

Web development has branched out into its own specialized world at this point in time and it doesn't seem to be looking anywhere else for inspiration.

You can definitely become a well-rounded and employable web developer these days if you go the self-taught or coding bootcamp route. You just have to make sure that it is the field that is right for you at the end of the day.

Comments

No messages posted yet
Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.

Developer Poll 🐱‍💻

Q:

Add a comment

Send me your weekly newsletter filled with awesome ideas
Post