On this blog I've tried to keep the content of my posts in the context of infosec and the like, but this post will be diverging a bit, simply due to the importance of the subject matter. Recently, video game studio Rockstar Games has come under some fire regarding a feature with Vulture looking into the making of their upcoming game Red Dead Redemption 2. The feature was dragged across the internet because of Rockstar co-founder Dan Houser's claims that the team worked multiple 100-hour weeks in the development process. In addition, Houser implied that the massive amount of overwork placed on the developers was something to be proud of, attributing it to the team's work ethic.
The culture of overwork in game development (and software development in general) has not gone unnoticed by developers, managers, and outsiders alike, regardless of attempts to glamorize it as "crunch time". There is a massive amount of work that goes into any AAA video game, without even considering the ridiculous amount of content in Red Dead Redemption 2. However, instead of expanding the development team or lengthening the project (both of which are costly to the executives at the top of the studio), managers simply choose to demand more and more of entry-level developers in increasingly shortened timeframes, contributing to stress and burnout among those developers.
Among the responses of the internet to Houser's words was a strong call to game developers to unionize, an idea that certainly intuitively makes sense and has worked for related professions in the past. However, there are some major problems with the solution of simply unionizing the game developer workforce, that come from the economics of the game development field today.
The central issue to the call to unionize is the massive number of entry-level softwaren developers seeking jobs in game development. There's already a very high supply of workers for software engineering, with how much the field has gained a reputation for potential rewards. And it makes sense that, even then, game development would have a disproportionately high supply compared to software development as a whole, as the content being developed is more interesting to potential developers than the typical software project. In short, people want to become game developers, because they like video games. And that's nothing against them, as we all have passions. The issue, though, is that many would be willing to put up with bad working conditions just to be able to work on video games.
Companies like Rockstar have thousands of applicants fresh out of college, ready for jobs in game development, and they don't care if they're put in bad working conditions. The managers know this too; this is what enables them to overwork their employees. If the developers currently working at Rockstar decided to unionize, then Rockstar could simply get new employees who decided to not do so. Yes, it can technically be against the law depending on the location, but there are very easy ways around that for a hiring manager (e.g. "We just don't think you're a good fit").
The common sentiment in response to this issue is that the game studios would not lay the developers off, because they know that the result of that would be having worse workers developing their games, and therefore, a worse product at the end of the day. This would make perfect sense if we were talking about the senior developers, designers, writers, and other high-level workers. However, those are not the people who are typically working 100-hour weeks at studios like Rockstar. The people we're talking about here are the developers responsible for one tiny, more-or-less independent part of the whole. They may be working on a particular menu animation, or arranging pre-made dialog trees in the engine, or other small things that don't require any significant level of skill past knowing how to code in a particular language. If these people unionized, then any given applicant with a four-year degree in computer science (of which there are MANY) could fill their spot with minimal training and overhead. There would be no change to the overwork culture at the studio, and the union workers would be out of jobs there.
The solution in these cases is typically government regulation. This is one of the few cases where it's generally understood in economics that the government needs to step in and fix things, because the free market will not do that by itself. Stronger regulations for overtime in software development can make the choice for managers switch from overworking employees, to simply hiring more. Of course, there are concerns of increased overhead from this, but as stated earlier, the particular pieces of work here are well isolated enough that there won't be much more overhead from having more hands to divide the sheer number of tasks.
I know that this is a somewhat more complex solution than the intuitive "Just Unionize", but this is the real way that things will be able to change in the industry. Instead of spending energy trying to get software developers to do something against their self-interest, try to push change in legislation that will benefit both those who would have unionized, and those who would have taken their jobs.