Video game programmers often need to be very deep generalists. It's a combination of 1) the reality of small teams working on ambitious games, 2) increased expectations for what a videogame can do by default ("what do you mean I can't join a party with my friends?!"), and 3) video games are deeply, deeply bespoke software, and to implement one feature means you need to know the limitations of many subsystems.
A good friend of mine works on the World of Warcraft gameplay development team. They have ~50 engineers, and they're almost all full-stack to some degree. He said that when he was an intern on the team, to build a feature he needed working knowledge of:
1. Blizzard's battle.net network layer
2. The way textures were rendered onto character models, pixel-by-pixel
3. The intricacies of their in-house Lua engine and parser
4. The way that NPC AI was written
None of these requirements, by themselves, are too crazy; but he was using all of these, every day, as a junior in college!
And that was for a three-sprint project! As an intern!
An average game dev would have much deeper knowledge on the stuff they do than the average dev that build corporate software since the game devs would de bespoke work every time. Sure, they also have assets etc. but in the gaming the originality is much more important since the product itself is meant to be enjoyable, not simply a medium to accomplish something else(like ordering pizza or keep track of payments).
Yep, like NPM and various dependency hells. Maybe that's where the compensation difference comes from?
Large breadth of content with lots of esoteric and domain specific knowledge sprinkled throughout. The higher level abstractions available are very limited in scope in comparison to say GUI toolkits, most of the success has come from people drilling down and putting in a ton of work.
Forza heavily uses ML. You have Network programming, in there. Well I'm sure some specialties exist which are more difficult, it doesn't change the fact of video game programmer can make half as less as a normal business programer.
> I'm sure some specialties exist which are more difficult
OK, so we agree. Video game programming can definitely be very tricky, but it's like any other specialties once you reach a certain threshold of sophistication/scale/whatever.
I've seen video game studios which essentially have a single wunderkind who has to dabble in everything because no one else reaches his or her skill level. No other industry has low pay and crunch
> No other industry has low pay and crunch
I wasn't talking about the workload or low salaries. I was talking about the statement that "video game programming" as a discipline is the most difficult of all.
And plus I started my statement with "I find" , if you happen to program quantum systems and that's 10 times as difficult compared to writing a game engine in CPP, that's cool
Can you give some examples? How many things does a VG programming have to account for compared to, for examples, a ML programmer, or a programmer in the HFT space?
Sure, video game programming is not a game, but I don't know why it would be "the most difficult" compared to other fields.