Should you get a degree if you want to code?

And how something I learned in school became relevant at work

Elvin Limpin
BACIC
5 min readNov 29, 2022

--

Clearly, a degree in computer science or software engineering helps you get a job in the field. Why else do us graduates ̶f̶l̶e̶x̶ advertise our degrees on resumes and LinkedIn?

Also clearly, a technical degree is no longer required for many software positions. In my workplace, as a computer science graduate, I get to work alongside a diverse team educated in different backgrounds: bootcamp, engineering, computer science. It’s nice to work with this diversity of experience, both for the employee and the company.

So what is the purpose of a Computer Science/Software Engineering degree?

Theory comes first

Computer science breaks down the why of coding down to both its metaphorical and literal 1's and 0's. This deeper understanding of concepts can help one creatively break through coding problems one may face in the workplace.

One of my favourite courses that I took from school was on History of Computation. How many of these important innovations and innovators can you name?

This all being said, most developers working with high level frameworks will never really need to write assembly code (for now) nor explain mathematical proofs. For almost all developers, the priority when starting out is usually in familiarizing oneself with the specific technologies, frameworks, and conventions used by the company.

Practice comes second

While some computer science courses are very theoretical, others can offer surprisingly practical experiences. Specialties offered by my alma matter included game development, user experience, network security, computer networks, computer graphics, data science, and other relevant fields. These more specialized fields of study are not often offered in bootcamps.

Some may recognize this from Set Theory, and others from practicing SQL. Either way, knowing about these operators may have many potential real life applications at work.

However, the university system will always be disadvantaged by the fact that the technological landscape moves in a pace a lot faster than curriculums can keep up with. Some development tools like version control and debuggers may be time tested, but languages and frameworks often come and go. Bootcamps have the upper hand here.

Signalling: is it the real purpose of a degree?

Back in the day, “any degree is a good degree” was a good maxim. While this may only apply in a more limited capacity today, there’s still something to be said about an inherent societal value to a degree.

For better or worse, having a computer science degree with a reasonable GPA is a signal. It signals to companies that you are likely to be smart, hardworking, and dedicated enough to coding to spend at least four years of your life learning it full time.

However, a degree is no longer the only way to signal. Many companies would rather evaluate one’s performance through coding interviews and reviewing one’s coding portfolio. Unlike university level math, these signals can be conceivably honed through coding bootcamps and/or self-study.

As a practical tip, note that some companies might prefer to hire from one background over another. Check out this handy list.

Applying for a coding job is slowly becoming more of an audition. Is this simply the most ideal way to vet for creative talent?

Expanding your mind

Many argue that, beyond employability, there exists inherent value in university education as a holistic learning experience. And indeed, the lifelong friendships, personal growth, and once in a lifetime experiences from this stage of life can’t be matched by simply watching youtube videos on topics you enjoy.

Naturally, this doesn’t mean that you have to necessarily take a degree in computer science. But if one is to get a degree in something, and is set to becoming a software developer, why not computer science?

I actually used something I learned from school at work recently

I picked up a task to implement a very special operator for a document parser in our software. It was described as an operator that:

  • takes a property of the current object,
  • looks upwards [to the root object]” for a property with a matching ID,
  • returns nothing if there if no match is found, and
  • returns the reference from the root object if a match is found.

We conceptualized it as a “lookup filter”, which was understandable considering the current “lookup” and “filter” operator paradigms in our parser. But put together, it was a bit Frankenstein-y. Can I find a solution less janky than this?

After coding out a few solutions by day and thinking a lot about it in the shower by night, I arrived to a realization. It’s not what was asked for, but what was ultimately needed: an intersect operator.

Remember the graphic under the Practice comes second section? Well, <currentObj> INTERSECT <rootObj>was exactly what we were looking for.

Having no prior SQL experience, but having learned about Set Theory in school, I can only owe this breakthrough to my education. It may be a small win, but it felt encouraging that my education might have just had more utility beyond as a LinkedIn headline.

Takeaways

The Pros of getting a degree

  • University education is unrivalled for learning about theory, and exploring different specialties.
  • With some planning, some courses may provide relevant practice on current technologies.
  • Having a degree is a great signal to companies on your employability.
  • If you’d like to go to school to expand your mind and experience the campus lifestyle, and you’re set to be a coder, then why not take computer science?

The Cons of getting a degree

  • It’s expensive and time consuming, especially if you already have a degree.
  • You’ll still need to self-study whether you have a degree or not.
  • Post-secondary curricula will always fall outdated because of how fast technology changes.
  • There are other ways to signal your skills and aptitude such as through coding portfolios, online courses, and bootcamps. Even graduates may benefit from these!
  • You can always go back and get a degree.

As mentioned, I have a degree in computer science. I find it hard to imagine myself to not have gone to post-secondary, nor to take another major. But everyone has their own different life circumstances such that the best path forward is different for everyone. Personally, I’m just glad I actually got to use something I learned in school in real life.

Additional Resources

--

--

Elvin Limpin
BACIC
Editor for

I’m a full-stack software developer at @athennian who regularly stumps my co-workers with coding puzzles. Find me as @elvinlimpin on most social media!