Rich¬†Geldreich is a Principle Software Engineer¬†at¬†Unity Technologies. Formerly, he worked at Boss Fight Entertainment, Valve, Microsoft Ensemble Studios, and Digital Illusions.
I've been in the video game industry for nearly 20 years, and I've been programming for 30. I'm at the point in my career where I think I have enough experience to start publicly commenting on the state of our industry, because there is still much wrong with it and much we can do to improve it.
Thinking back, for much of my career I've been in what the industry calls "crunch mode". Basically working 12-14 or more hours a day, 5-7 days/week, for sometimes months on end. Ultimately, crunch culture helped contribute to¬†Ensemble Studios¬†(one of my former employers) failing. When the "EA Spouse" web post came out and publicly exposed this situation I think things started to slowly change for the better. Thank you Erin Hoffman.
I've already talked (okay,¬†ranted)¬†about how¬†compulsory open office layouts are terrible ideas. It's now time we start talking about another much more serious set of deeply rooted issues that I strongly feel are holding our industry back. This time, I'm not going to do an angry rant, but take things nice and calmly. Be aware I am just as passionate about this topic as I am about the ridiculousness of enforced open offices.
It's time we truly¬†democratize game development. The industry now has the¬†engine and tool technology¬†to do so¬†from several vendors, but culturally we have more to do.
If your response to this is "just ignore the problems and keep programming", then you are part of the problem.
All of these problems are deeply related and intertwined together:
Why is it there are so few women video game programmers?¬†This article¬†says that only 3% of programmers in our field are female. I believe this statistic is totally accurate. In my entire career, I've worked with many hundreds of male programmers. However, I've seen or worked with only a tiny handful, I guess less than 10, women video game programmers. Something is deeply wrong here, isn't around half of humanity female?
Maybe you're thinking "it's not our industry's fault, women can't or just aren't interested in coding!" Let's stop and do a quick history lesson, because this is bullshit.
Until relatively recently, I had no idea how many women programmers were pioneers in this field. Check out these pics and¬†this article:
One of the captions in this¬†Wikipedia entry on the ENIAC¬†caught me eye: "This photo has been artificially darkened, obscuring details such as the women who were present and the IBM equipment in use." (I guess the fact that women were the first computer programmers was considered classified information.)
Try to stop and really think for a second about how incredibly challenging it must have been to program in those times. (Is it very hard for you to do this? This skill is called¬†empathy.) In those days, the very word "software" didn't even exist. In those days there was no text editor, no shell prompt, no Stack Overflow, no Wikipedia, and no Slack. Just you and the machine. Imagine the mental models these women programmers had to develop in their minds in order to successfully create code for these machines.
People's lives and the safety of our country depended on the reliability, performance, and robustness of code written by these pioneering women programmers. From¬†artillery tables and early hydrogen bomb research, to the¬†moon lander software, to¬†optimizing compilers. We're not talking buggy video game software here, we're talking about seriously mission critical applications.
So let's continue looking around to see why there are so few women in video game programming.
Perhaps they just can't program well because their brains are different? Well no, the science has shown¬†this to be bullshit too. Maybe they suck at math? No,¬†that's bullshit too.
Or perhaps the lack of women game programmers has something to do with our hyper-stressful, ultra-competitive work environments, and the generally horrible ways game programmers interact with each other?
I find many game programmers to be irrationally resistant to working with and respecting women programmers. It's time to deeply internalize the history here and realize we weren't the first to do this at all.
The greater tech industry as a whole has a¬†terrible track record hiring minority candidates.
Being white and male is not a requirement to being a computer programmer. Our industry is keeping out large amounts of talented, extremely motivated individuals who love video games but can't get a job in our field. This is also¬†a problem in other sectors of the software industry.
It's not like other people connected to the industry haven't¬†written about this topic already, but we don't listen.
Adding to this category are also people with disabilities¬†and other underrepresented groups. I remember one company that subtly discriminated against overweight programmers, for example.
I honestly have had a blind spot when it comes to points 1 and 2. Until recently I hadn't thought about these problems much. I feel strongly that the problems we have with women and minorities in game development are deeply related to our culture, hiring practices, and work environment.
I've worked at many wonderful companies, but in my almost 20 years I've also experienced the seedier side of game development. Rude, unprofessional, or even dehumanizing behavior is not only tolerated, but sometimes even subtly encouraged by the company's incentive or review system.
Examples of common negative behaviors that we employ to abuse each other:
-¬†Gaslighting: in the office, and even inside our codebases
- Bullying: such as being¬†completely ignored during team meetings
- Lying: Developers who compulsively lie or bend the truth as a competitive tactic
- Lack of programmer empathy: Purposely creating impossible to understand software fortresses to protect their "turf", creating impossible to understand API's, or purposely saying hurtful things to stress others¬†out.
Women game developers have told me it's actually far worse for them. They get the above treatment, plus an additional layer of gender-specific abuse. If they complain, they get told "oh it's just her complaining again". If they push back they're told "you're too abrasive". They are bluntly told to their faces phrases like "you are not a coder" or "you are incompetent".
No wonder why only 3% of video game programmers are women,¬†we have pushed them out:
A Harvard Business Review study from 2008 found that as many as 50% of women working in science, engineering and technology will, over time, leave because of hostile work environments.
Redmond, now 40, didn't want to leave her tech career. But she felt stuck, with no way to advance. She said male co-workers seemed to oppose her. "It was like they were trying to push me out at every stage," she said.
Negative behaviors like this must be exposed and talked about so we can all recognize it when it occurs. We need to stop all of this negative behavior so we can continue to grow as a legitimate field and industry. Science shows that¬†rude behavior spreads like a disease. We need to follow the science and stop this behavior now.
Programmers in our industry need¬†to learn how to interact with women programmers in an honest and human way. Women can love coding just as much as you. You can talk and interact with women programmers as colleagues, not as competitors,¬†sex objects or potential girlfriends.
The Linux community has¬†serious problems too,¬†but they are working on¬†fixing it¬†with a¬†new a code of conduct.
Our industry's¬†hyper elitist, closed minded, and shortsighted hiring practices¬†have locked the industry into a local minimum of potential workers. From the intro¬†to¬†an upcoming talk by Joel Spolsky & John Allspaw¬†titled "Standing out and attracting top developer talent":
With up to 5 companies vying for every available software developer and 38% of developers reporting that they receive recruiter emails at least once a week, programmers have never been more in demand, and tech companies continue to expand their benefits and perks to try and stand out. But what really works?¬†
We keep hiring ourselves, and we are all fighting over a tiny group of mostly white male developers. People that we perceive to look and act like us. People that we perceive to be compatible with our company's "culture". We irrationally refuse to even acknowledge the problem. We're in total, utter denial that a problem even exists.
Even our¬†job postings have been shown to have gender bias.
Programming is not a purely scientific or mathematical endeavor. There is room for creativity, art and other viewpoints in this field. These alternative viewpoints and approaches can be extremely valuable, if not absolutely critical.
Interesting point from this article on¬†Silicon Valley Diversity in Tech Hiring:
"People used to say that there were no women in major orchestras because women didn't like classical music. Then in the 1970s they changed the way people auditioned so it was blind, the listeners couldn't see the players auditioning. Now the numbers are much more representative," she said.
The same thing happens in the tech world, said Cuny. "There are these subtle biases that make you think that some person is not what you're looking for, even when they are."
We have forgotten that the very act of programming, debugging and computing in general involves a human and a computer in a closed loop, hybrid biological/digital system. We have intensely focused on the digital component of this system while blithely ignoring the biological component.
"A 2014 study by researchers at Boston College found that women had greater anxiety during a math test, which taxed their working memory and led them to underperform on the test. Teaching girls strategies to manage that anxiety could be one useful means to help to close the gender gap in math achievement, the researchers suggest."
Our stressful work environments, open office layouts, and generally negative culture cause an increase in anxiety which lowers performance and productivity. I strongly believe it's not just women who suffer. We all suffer. We need to restructure our office environments to be comfortable or more human places to work.¬†Stress makes us less intelligent, and the physiology of stress is now well understood.
The VR/AR revolution occurring now has been deeply focusing on several aspects of the biological component of this system. We should follow their lead and start paying attention to the science, learn about key things like the¬†HPA axis, and start making changes. Compulsory open office environments which intensely favor human connectivity instead of health and productivity need to go.
"It wouldn‚Äôt have been enough to mention the Slack channel dedicated to helping people handle difficult feelings, that is full of warmth, kindness and space to let people have those feelings without being made to feel shameful about them. It wouldn‚Äôt have been enough to say that everybody is empathetic and kind to a degree that makes me feel kind like I need to step my humaning skills up just to be on their levels. It wouldn‚Äôt have been enough to say that I have never felt more valued and included or less different and isolated anywhere in my life. Those things, while true and meaningful, wouldn‚Äôt have been enough to accurately reflect what the past 3.5 months have been like."
We need to have environments that are as human as this. The greater software field is changing around us, becoming more diverse and more human. Study and learn from companies like this.
- Devise a Code of Conduct for your team or company. Immediately point out to management and coworkers when the code has been violated. Enforce it or it's just a sham.
- Modern programming is not merely the act of interacting with a computer by yourself, it's a social process. Your code will be, and must be, read and modified by other people. Treat others around you with respect, be humble, learn from others, and teach others. You cannot and will not know everything in this world. Add the word colleague into your everyday work vocabulary.
- Deeply engage in the interviewing and hiring process as early and whenever possible. Treat all applicants with the utmost respect, and succinctly communicate exactly what will happen on every step of the process. If they get turned down, tell them how they can improve. Remember that the interview process goes both ways, and that the candidate you are talking to will tell all their friends in and outside the industry both the good and bad things about your company's interview process.
- Not everyone applying has been as privileged as you, and realize this is a strength.
- When it comes to the final meeting during an interview loop, pay close attention to who turns a candidate down, or who turns the discussion against a candidate. Record who votes "Yes" and "No" and look for patterns.
The famous¬†Joel Test¬†is a simple way of rating a software team. I suggest we add the following items to this test. If you are thinking of working for a company, be sure to ask them about the Joel Test and add these additional questions:
13. Do you have a Code of Conduct, and enforce it?
For example, see the¬†LLVM Code of Conduct.
14. Do you actively work to hire women and minorities?
15. Do you require programmers to work in unhealthy, compulsory open offices?
16. Do you discuss and continually strive to improve your company's culture?