In the AAA games industry, a portfolio speaks much louder than a degree. Junior software engineers with five simple, well-coded games (such as Asteroids, Lunar Lander, etc) on GitHub stand head and shoulders above people fresh out of university without a portfolio in the recruitment process. Senior software engineers with experience developing large AAA titles are in much higher demand than those with a PhD in game systems, such as AI or networking, which is practically non-competitive. So I'd say the degree doesn't matter, at least in this corner of software engineering.
I entered the gaming industry a long time ago as a software engineer without a computer science degree. Later, I thought I'd get one online, just as you are considering. It was reasonably cheap compared to my income, and I thought I had the extra hours for an evening online course. But I found it to be very demoralizing. I'd be micro-optimizing containers in AAA game engines, shaving microseconds off operations by reducing CPU cache misses on target consoles in the morning, and earning a 60% grade on my JavaScript game in the afternoon, because I didn't follow the method shown in class. I also did poorly in CS math, especially with formal proofs, which were a lot of fun for math enthusiasts but grating for me, being an expert in game math and graphics math at the time. When my fourth semester rolled around, I found only one or two modules to be somewhat useful, while others, such as HTML web design, had no bearing on my profession. I dropped out about halfway through my degree, leaving me with a lot of money spent but nothing to show for it. I could have forced myself through it, but it would have been on pure discipline (which is easier for some than it is for me!)
My advice is: don't get a CS degree because it's doable. Get it if you need it for something, like if you wish to enter a specific industry that requires a meaningful academic experience, such as research. Your degree will then serve a purpose. Otherwise, you might feel like you're not getting much out of it, and it won't be easy to justify carrying through. Especially if you're already performing at a level significantly higher than what a degree puts you on. Or maybe the purpose a degree could serve for you is fun - perhaps the academics would be rewarding for you in a way that doesn't have to flow into your work, or you get networking opportunities that a good uni/college affords. But my view is: it's a significant commitment, so there has to be a meaningful, clear reason to do it. Otherwise, it will be all cost and no return.
Makes sense. Thank you for sharing your experience.
I'm involved in several projects, as well as being the sole developer for a SaaS that I co-own (I make exactly 0 dollars from it right now). I have to solve all kinds of difficult problems, which excites me to no end. I can see how I could have the same demoralizing experience you did.
In my bootcamp, I got a D on my portfolio because I didn't follow directions. I've been praised many times after the fact on this same portfolio.
I'm not an academic person at all, so maybe this would be a slog for me. I did get an A+ in said bootcamp though, not that that matters.
At the moment, I feel like a degree is necessary for any job I would want to get given the job market. Call it future proofing if you will.
Similar experience here but slightly different as I went to a top tier uni, but was also a decent coder before I started college. There was a lot of 'theory vs practice' snobbery where the former was emphasized above all, to the point of absurdity. Get ready to learn the secret knowledge of academia CS like that that functional languages are secretly the solution to everything - especially purely functional - no variables or even mutable state. And of course the secret to writing bug proof programs is to mathematically prove them - just ignore the fact you're simply kicking the can to new bugs, and the domain of programs you can realistically prove is minuscule. I would not hire 95% of my graduating peers. You're not going to enjoy your time.
If you were going to get a degree I'd get it in something where computer science is applied rather than the 'thing' itself - e.g. electrical engineering (or even aerospace depending on your mathiness). Also that's probably far more future proofed than a CS degree anyhow, and will get your feet in the door for degree requirements as well as open the door to lots of options that a CS degree wouldn't.
My experience is very similar but I will say that - as someone whose work is primarily in graphics and performance - that a lot of the math and theory has been really useful. The fawning over functional programming and formal proofs less so.
The biggest surprise when I got into the industry was how incredibly much necessary practical knowledge was not even hinted at in my education. Mainly related to actual tooling and processes required for large professional settings - not toy projects for five students doing something for a few weeks.
I take it you're not a big fan of functional programming ;)
I do like electrical engineering. I'm a huge Arduino-head, and am currently working on an embedded device for a client. The hardware design was relatively simple, but I have way more to learn in that area.
A degree is indeed more necessary in some disciplines/industries than others, and in some job markets rather than others. I'll say, sometimes what matters most is who you know, rather than what you know. Mentors and industry events are great for this. The right friends are two-thirds of the battle (and that alone is a reason some people attend expensive private universities).
And, of course, most tech companies will say that tech should be a meritocracy. Then they'll offer bonuses and incentives for anyone who can get a friend to fill an open role. Consider that.
Speaking as someone in the games industry, I disagree with your take on portfolios. For reference, when I graduated college back in 2015 I had a portfolio of games, a successful and reasonably popular game mod and a bunch of relevant classwork. None of that even mildly got my foot in the door at any gaming companies, big or small or otherwise. Also of note, many software companies force you to sign an assignment of inventions agreement or a declaration that says you will not work in anything remotely related to software in your free time, which heavily restricts your ability to add to your portfolio.
What did help me however, is that I got a job at a smaller company working on software and then leveraged that professional experience into a job in the industry. That initial job I got was because of my computer science degree.
The importance of a CS degree was the stuff I learned across the degree, not stuff that was necessarily directly CS-related. Physics and math classes for example I did horrifically in as well, but those concepts I picked up have been useful to have in my toolkit.
My experience was very different. But I did start in the games industry as a contractor working for abysmally poor pay. If you take a portfolio with actually decent programming skills, and flush self-worth down the drain along with labor protections, I think it’s very possible to get the foot in the door.
Unfortunately, the self-worth, poor compensation and no protections part is key in how a lot of people make it into games, and get their first games shipped. Beyond that, it’s easier.
I’m not saying this is a good or bad way to enter the industry, by the way. I have a strong opinion on it, but it’s outside the scope of what I wanted to share.
I'm a fellow game programmer from Sweden. My experience is a little different. I've worked in everything from indie to AAA and been part of recruitment on the AAA side.
In my own experience, it is true that a portfolio really helps you stand out. Recruiters often ask for your GitHub profile or blog.
However, I've found that recruiting really differs based on studio size. Indies tend to take what the can get, often forming a ragtag team of people with various levels of education and experience. AAA studios, on the other hand, are very discerning when it comes to programmers. They often won't give you a chance unless you either have solid experience or a university degree from a university they know is up to par. That's because there are so many talented programmers who really want to work in AAA
That is true but do they discern based on degrees?
I found that AAA studios will pick someone with game shipping experience and some good code examples on GitHub over someone with a university degree 9 times out of 10.
The degree does matter a bit more in AAA, especially R&D roles. These studios actually have some R&D to do. But for other roles and other company sizes… does it truly matter in Sweden? I mean, wouldn’t a decent portfolio (including just a list of titles they worked on) jump anyone to the front of the shortlist, ahead of degrees but weaker experience?
Absolutely. But the kind of portfolio and experience that allows you to jump the queue is really hard to attain without first having been hired. So a degree really helps landing a good first job and getting that experience.
Keep in mind that in Sweden an education is not a financial burden. All universities are free and you get a state scholarship (plus very reasonable student loans if you wish).
I entered the gaming industry a long time ago as a software engineer without a computer science degree. Later, I thought I'd get one online, just as you are considering. It was reasonably cheap compared to my income, and I thought I had the extra hours for an evening online course. But I found it to be very demoralizing. I'd be micro-optimizing containers in AAA game engines, shaving microseconds off operations by reducing CPU cache misses on target consoles in the morning, and earning a 60% grade on my JavaScript game in the afternoon, because I didn't follow the method shown in class. I also did poorly in CS math, especially with formal proofs, which were a lot of fun for math enthusiasts but grating for me, being an expert in game math and graphics math at the time. When my fourth semester rolled around, I found only one or two modules to be somewhat useful, while others, such as HTML web design, had no bearing on my profession. I dropped out about halfway through my degree, leaving me with a lot of money spent but nothing to show for it. I could have forced myself through it, but it would have been on pure discipline (which is easier for some than it is for me!)
My advice is: don't get a CS degree because it's doable. Get it if you need it for something, like if you wish to enter a specific industry that requires a meaningful academic experience, such as research. Your degree will then serve a purpose. Otherwise, you might feel like you're not getting much out of it, and it won't be easy to justify carrying through. Especially if you're already performing at a level significantly higher than what a degree puts you on. Or maybe the purpose a degree could serve for you is fun - perhaps the academics would be rewarding for you in a way that doesn't have to flow into your work, or you get networking opportunities that a good uni/college affords. But my view is: it's a significant commitment, so there has to be a meaningful, clear reason to do it. Otherwise, it will be all cost and no return.