CS, Gender, and Society
Men are overrepresented in CS and software engineering, relative to wider society. Trans women are similarly overrepresented. Various attempts at explanation have been put forward, including bias/discouragement/socialization, as well as inherent differences. In my opinion, there are likely many overlapping effects, which affect any given person to wildly varying degrees. In particular, I believe in the practical takeaway of “overrepresentation indicates that bias may well exist, so look carefully and in an ongoing fashion.”
I want to examine one explanation that I’ve heard proposed:
Men (and boys) are more “thing focused” in distribution, while women (and girls) are more “people focused” in distribution.
Computer science/software engineering is an inherently thing-focused enterprise.
From these premises, this explanation concludes that men are, in distribution, better suited/more interested in computer science and software engineering inherently, rather than in a societally-contingent way.
From my basic understanding of developmental psychology, (1) seems at least plausible given the current research, though I’m sure that there is much more to discover. In any case, (1) is not what I want to focus on.
I’d like to push back against (2), which I feel gets taken for granted too readily. In particular, I think it’s likely that the overrepresentation of men in CS leads to a bias in which aspects of CS are valued or emphasized, which in turn leads to an overemphasis of the “thing focus” of CS, overshadowing any inherent thing focus it might have.
Documentation is critical to successful software development. Naming things is one of the hardest problems in CS, but also desperately important. Conveying the meaning of code to other people makes up a very large fraction of the job of software development.
This is fundamentally a people-focused activity. It’s also often undervalued and underemphasized. I wish I’d had a unit in my CS major just about communication around code. I’m sure that asking for documentation samples as part of an interview would help find better employees.
The same is true in research: conveying ideas to other people for collaboration, for publication, and for dissemination are all critical to the research process, and we would do well to emphasize this.
2D Flash Games
Pivoting to a very different people vs. thing dichotomy, let’s look at 2D flash games from the late 00’s, when I was a kid on the internet. As I remember it, there were two really popular kinds of Flash games at the time: Racing games and dress-up games.
In terms of programming complexity, they were probably similar: 2d graphics with a small number of sprites, some basic UI control. In terms of people vs. thing focus, couldn’t be more different. And in terms of emphasis in society, again very different.
I’ve often seen sites that encourage kids to learn to program with games reminiscent of those racing games. I’ve never come across the same for dress-up games. I strongly suspect a sentiment of “that’s not real programming” is at play. Therein lies the problem. Looking at the lines of code, looking at the amount of programming knowledge necessary to implement such a game, of course it’s real programming. But it doesn’t fit our society’s collective notion of what programming is supposed to look like. That’s how the thing-focus of programming is societally-contingent.
Given that CS has a societally-contingent emphasis, what should we do? Here some ideas:
When interviewing, make sure that candidates have the opportunity to demonstrate skill in any part of the job - not just generating code. That includes documenting, interpreting, reviewing, and assisting. In research, that means valuing good intuitive explanations, good teaching, good outreach - not just exciting results.
When deciding what examples to use when teaching, go with what your students know. Keep in mind that many older works of media are extremely sexist - Star Trek (TOS especially) is a good example. If you don’t know what media your students grew up with, what games they played, ask them.
Reexamine assumptions around who bears responsibility for discouragement of potential CS students/professionals/researchers. Often, once obvious sources have been eliminated, a big part of the answer is “the system”, the patterns and collective assumptions of many people. The system is made of people. It’s made of us. We can change the system, but it takes real effort.