For the record, I’m not personally interested in game development - I’m just quite curious.
Everyone hears the following complaints across the gaming industry in general:
Crunch time
Lower TCs
I find this quite curious, because I imagine there’s a lot of technical complexity in building games and the numerous tools and engines needed to make them.
Games are interdisciplinary, combining art, music, sound design, acting, writing, and game design, to create interactive entertainment software - so I would imagine this presents a unique world of challenges that make it just as complex as “regular” software.
Plus, MMOs and games like Fortnite or Counter-Strike have to deal with all the technical complexity of ensuring a good player experience while having millions of players (clients) playing concurrently.
In fact, Gergely Orosz has an excellent newsletter on the subject that I found fascinating.
Yet, game developers typically complain of lots of crunch time and being underpaid - and, subjectively, the game dev industry is less “prestigious” than SWE.
Also, I’ve almost always seen devs listed as “game programmer” or “UI programmer” in the credits, as if their primary job is to just write code (and not build good, complex software at scale).
What might be the reason for the differences between game development and regular software engineering?
As a nerd who knows a bunch of other nerds, I actually know the answer to this. In a nutshell, the game dev industry is exploiting personal passion.
Take Google for instance. We all know and use Google. We like Google. But we don't love Google. And when I say love, I mean actually love to the point where you orient most of your life around Google. There is almost nobody who has branded their entire bedroom around Google swag and attire. There is almost nobody who spends 8+ hours a day just using Google. Google, like with most tech companies, provides utilities. They're amazing utilities sure, but still utilities.
Now take Riot Games who famously makes League of Legends (LoL). I know many people (several of them software engineers) who love League of Legends. They'll play (on average) 8+ hours a day. Their entire bedroom is filled with LoL posters and figurines. They go to LoL conferences and cosplay. Literally most of their life revolves around LoL.
This phenomenon happens all the time with not just video games, but games in general. I'm a big Magic: The Gathering person (MtG). Wizards of the Coast, the creators of MtG, infamously pays their employees complete garbage. I'm talking TC that's 2x to 3x lower than industry average. And it's because there's no shortage of very talented, intelligent nerds who love MtG.
When you have this insane level of passion for something, you are often willing to take below-market pay and crappy working conditions to work on that thing because you truly, deeply love that thing. Gaming companies know this and take it to the bank.
So for me, I'll stick with playing games instead of working on them. Use the advice here to find a good team (that probably isn't a game dev shop haha): [Masterclass] How To Choose A Good Company And Team As A Software Engineer
Just to reiterate your point, when I graduated from Stanford in 2014, most of my friends went to Big Tech. I'd say the typical offer was north of $150K TC.
I had one friend who, like many other devs, was a huge gamer and really wanted to work in game development. He took a job at Blizzard (I believe in LA?) and the pay was 30%+ less. I forget the exact amount, but it was shockingly lower than the typical offers.
Game dev companies use the passion of so many engineers to get them cheaply. There's a great reddit thread about this.