Ruby developer. CTO. Swimmer. Always trying to write more
If you didn’t study computer science at university, there’s quite a lot you probably don’t know. Even more, you don’t know what you don’t know—so I hope this post will be somewhat enlightening.
Here’s a selection of things I learnt between 1995-1998 studying for a BSc. Computer Science at the University of Sheffield (roughly in order):
All courses will be different, and more recent courses might have some more modern languages. You can find the most recent course online and, whilst things have clearly been updated, the nature of the course has not fundamentally changed.
This is just an a real-life example of what I spent three years studying and you’ll have missed out on if you were self-taught or started in a coding bootcamp.
And do you know how much of that I use on a daily basis? How much of what I learnt during that time I ever used in my 20 year career? Almost none of it.
If you didn’t do a degree, you might assume that we were learning all about Ruby, or Rails, or writing React apps, or how to un-fuck your local git repo. No. That is not what you learn during a Computer Science degree. And, in case you’re quibbling with the “BSc. Computer Science” name, it was exactly the same syllabus if you were studying for a “BEng. Software Engineering”.
After the first semester or so of LISP and Modula-2, we didn’t learn programming languages directly. They were a sideshow on which we might receive a brief printed cheatsheet but were generally expected to just figure it out. It typically went like, “Your project is to build this… in Pascal” > “We don’t know Pascal” > “Here’s a cheatsheet”. This is at a time when the Internet resources were nothing like what’s freely available online today. You have vastly more information freely or cheaply available to learn a new language than I did during my degree.
We didn’t learn how to use tools. We certainly didn’t learn to use the tools that we use today and I don’t remember any of my education being directly relevant to my first job (C++, FAME time series database, financial yield curve calculations). It was slightly more relevant to my second job but only because I went into commercial telecoms research around intelligent agents.
My point, in case I’ve obscured it too much, is that you shouldn’t be intimidated by people with a computer science degree. They probably haven’t learnt the things you think they have. They probably haven’t had lectures about the problem you’re struggling with. You should not feel like you’ve been missing out on a secret education about designing React components or architecting systems with Kubernetes and Cloudflare. That isn’t what a computer science degree will give you.
At Podia, I don’t use degrees as a selection mechanism during hiring and, if my memory is correct, only 2 of 12 developers have a formal computer science education (including me). This isn’t the case everywhere, at every company, in every country. Some places still require a relevant degree and you might have more opportunities with one than without one. That said, I think these companies are a declining part of the industry.
The main advantages I got from my degree were: time, practice, and people. You can get that in many other places these days.
There are bootcamps, courses, internships, and online learning communities that will give you the resources to get started. If anything, those resources are much more relevant to your first job than a computer science degree would be.
There are very low barriers to practicing your programming skills now: open source contributions, side projects, koans, etc.
Those same places also introduce you to people and give you a sense of belonging to a community. I didn’t really make the most of this aspect of my degree but I know others that have maintained strong relationships from their university and used that to hire (or be hired).
Wrapping this up, I want to highlight the most valuable thing a degree gives you, and which most people skip: Time. A solid 3-4 years spent exploring the field, honing your skills, working with other people, and building those twin muscles of curiosity and learning. Even if you complete a 6-month bootcamp and get your first job within a year (major congrats!), you should consider how to best use the first few years and not overly worry about pay and promotions. Don’t be exploited but, at the same time, you should focus more about being constantly curious, tackling new problems, and learning a broad range of topics.