> Working in an office that lets you wear chinos on casual Friday versus wearing whatever you like, coming in when you like, and being surrounded by culture and people that resonate with you.
Most dev jobs are the second thing. Most dev shops don't have a dress code. Many have adopted flex time. And further, with covid, a lot are fully remote now. Modern development is nothing like Office Space.
> Working with accountants and lawyers versus artists and sound designers.
You seem to think accountants and lawyers are boring, uninteresting, etc. That's just silly. Just because someone's job is boring, doesn't mean they are. A lot of my co-workers have hobbies in art, music, blowing shit up, etc. Just because they spend their day job combing over the tax code doesn't mean they aren't every bit as fun and interesting as someone who's day job is art.
> Sitting next to folks doing the bare minimum just to get a paycheck versus the comradery of being on a team that really believes in what they're doing.
I find it hard to believe game dev doesn't have the "I'm just here for a paycheck folk" Probably not for long, but again, surprised if that's the case. In anycase, comradery and teamwork exists in a lot of dev shops. Just because you aren't making an orc's head explode doesn't mean you can't get excited about increasing stability, performance, or getting a product that saves a bunch of time and money for the company. There's a lot to celebrate beyond "That looks pretty".
> Writing code that's difficult because it encodes Byzantine legal regulations versus code that's difficult because it uses the latest graphics algorithms to push hardware as much as possible.
Both are puzzles to solve, so why diss the one you don't understand? Further, what makes you think regular dev DOESN'T look to push hardware harder and faster than it previously went? Performance work is universal for development.
This isn't to say there aren't boring dev jobs that pay well. Certainly a large number of jobs are "Make REST API over the database". But even those can have opportunities for growth, learning, and finding coworkers you love to work with.
I think you have a really warped sense of what the average software job is really like.
What about embedded systems designers? What about machine/traffic control systems? What about cutting edge stuff like tik tok's recommendation algorithm (which disregarding the politics, has to be marvelled at for its ability to pair users with content they like)?
There is more out there than just Big 4 corporate paper shuffling to make the suits in head office more money..
> Being at a company no one's heard of making software know one knows versus being at a brand your friends all know working on products they're excited about.
I noticed a dramatic shift in people's reactions when my introduction conversations changed from "I'm a programmer" to "I make iPhone apps".
Also, I'd argue the number one tangible you're missing vs something like, say web dev, is flexibility. Pre-covid, none of my friends in the gaming industry had any flexibility to work in a remote fashion and was very studio based. Whereas remote working has been becoming increasingly popular in the web dev world, and I've been working remotely for years now which was a huge QoL improvement.
I do romanticize about leaving the tech industry in a kinda similar-ish fashion to what you were stating in that example, but really it's more about romanticizing an early / soft retirement for myself, which is only made possible because I took a higher paying path than game development. But yeah, I do have friends in the industry that love it despite the hours and lower pay, because the people they work with are great and they're very passionate about their projects, whereas yeah, I'm not exactly passionate about some of my projects and am doing it purely for financial and career advancement reasons so it contributes to sometimes really extended burnout periods and decreases in my mental health.
So yeah, to each their own with this. I love gaming and have made some of my own games as a hobby, but I just couldn't justify it as the core of my career despite loving it. Kind of a shame in some regards I would say, but it is what it is.
If you're AAA, the obvious problem is one of agency - just like being "guy #4968 who worked on Michael Bay's Transformers 5", you … basically have no influence on anything meaningful about the work - you generally have no voting rights to affect the gameplay, or the storytelling or the balance, or just about anything you'd care about as a gamer looking in from the outside. You're just a machine that produces assets (the vast bulk of coders working on those games tend to be scripting together content, whether it's shaders or level scripting).
But if you're not AAA, and it's your job, there's an equally bitter compromise: you have to make a living. There is a significant overlap between the venn diagram of "doing truly excellent work" and "making a decent ROI", but there's a reasonably significant area where they don't overlap. More importantly - I think the most meaningful questions lie smack dab in that area that doesn't overlap, because that's always the part that gets axed in the interests of expedience.
In order to even approach most of the interesting questions in gamedev (whether they're questions of gameplay design, storytelling, balance, etc, etc), you have to essentially start with a full, finished game, and iterate on what's flawed about that title to try and push it from mediocrity into excellence. Many devs do this by making spiritual successors to games they love; some do it by making their own game, and then iterating from there. RAD/Prototyping can "short circuit" an answer to some questions, but we're at a point in the industry where most of that low-hanging fruit has been harvested, and if you really want to make any progress, then the point at which you've finished a 1.0 of a game isn't the "finish line", but rather, is just when you're really getting started. Even if you're making a "spiritual successor" that tries to make something better by tweaking the recipe, that's still your first experiment - now it's time to drive the car you just built around, and learn what works and what doesn't.
But this absolutely trainwrecks right into the typical economic model for a "we're actually making a living off this" gamedev - except in rare cases with new revenue models, that point right there is precisely the point at which you've got to tie off that existing game, call it done, and move on to a new one. If you quit right there, you don't really learn anything - you just make a series of mediocre games (or occasionally, a lucky good one), but you never really understand why they're good or bad, because you're too busy churning out new ones every couple of years to experiment with reworks.
Almost all of the truly great games we've got going right now are cases where there's been such incestuous cross-pollination that multiple studios have essentially done this to each other (major genre titles like FPSes, fighting games, etc), or are small indie developers who've just knuckled down on one "crazy idea" and churned on it for like 10-15 years (minecraft, dwarf fortress, etc). There are other examples like the Civ series, where the devs have essentially made "the same" game 6 times in a row, letting them iterate massively on the formula.
Furthermore, the brutality of having to make a living off of it really hurts friendships - game development is an absolutely savage industry, financially, and chances are perhaps 90% that you're just not going to stay above water as a business. It takes some extraordinary friends to hang together in the face of that. If you're at all human, people will get scared and lash out at each other for not putting their backs into the oars, at least, once it's pretty clear you're not going to make it. Losing the friends who you went into the thing, with, is bitter as hell (I narrowly dodged it, but it scared the daylights out of me).
But it's not just that. Every job has a mixture of tangible and intangible rewards. Game development scores relatively poorly on the tangibles: less pay, fewer benefits, less free time. But for many people, it scores incredibly highly on the intangibles:
- Spending your day writing code that makes insurance rate calculations comply with the latest changes to Iowa tax law versus making an orc explode if you hit it with an axe just right.
- Working in an office that lets you wear chinos on casual Friday versus wearing whatever you like, coming in when you like, and being surrounded by culture and people that resonate with you.
- Working with accountants and lawyers versus artists and sound designers.
- Working on a product used begrudgingly by employees of some giant accounting contractor versus make a game you love to play.
- Sitting next to folks doing the bare minimum just to get a paycheck versus the comradery of being on a team that really believes in what they're doing.
- Writing code that's difficult because it encodes Byzantine legal regulations versus code that's difficult because it uses the latest graphics algorithms to push hardware as much as possible.
- Being at a company no one's heard of making software know one knows versus being at a brand your friends all know working on products they're excited about. (Anecdote: When I flew to Orlando to interview at EA, I ended up mentioning it to a guy sitting next to me at the airport. He looked at me like an absolute celebrity. "Dude, you're gonna be working on Madden?" I still remember that moment.)
So, yeah, the hours and the pay suck. But when you're in your twenties you tend to have a lot of time and not a lot of bills. Working on something that resonates with your peers, your culture, and your passions is really valuable.
I wish big companies exploited that less, sure. But you see low pay and crunch even at small non-exploitive companies which implies to me that much of this is simply people rationally trading off tangible rewards for intangible ones that are more meaningful to them.
I find it really weird how much software engineers criticize taking a pay cut to make games while simultaneously romanticizing leaving tech completely to become a farmer, writer, chef, social worker, etc. (all of which, for the record, have miserable hours and shit pay). Game devs are essentially doing the same thing but at least they get to use their tech skills in the process.
I'm glad I'm not at EA anymore because my values and priorities changed. But I don't regret my time there and it got me my current job at Google. If I'd spent that time chasing some other low-paying dream like writing fiction, it's much less likely I would have been able to make that transition.