Saturday, August 29, 2009

How to get more women (in programming)

I gave a 7 minute lightning talk at the Lone Star Ruby Conference on "How to Get More Women (in programming)" after a back of the room comment generated a lot of hallway conversations. Here's what I said:

In addition to being female and a programmer, my 2nd major in college was "The Study of Women and Gender" -- I did studies and papers on why I was one of the only women in my computer science classes -- navel gazing 101! I wanted to share two terms that give a framework to understand the issues, since I find that defining terms and giving things words have power.

The first is "Imposter Syndrome." This is the feeling you can get when you are lost during a technical presentation, are "faking" expertise when talking, when you raise your hand/agree with a "how many of you have done X" even if you don't, quite. I think everyone feels it; members of minority groups tend to think it's just "them", hence they are "imposters."

When I was in the first handful of my programming classes in college, there was always the guy in the front row who asked really convoluted, involved technical questions that I didn't "get". I assumed it was just me. Eventually I was lucky enough to have this behavior named: The Voice of Unquestionable Authority. (Useful if you are doing support, by the way.) Naming it made me realize it was an affectation; grading this same person's lab work two years later made me realize he wasn't as smart as he sounded.

This one is actually something you (as an active member of a programming community, male or female) can do something about:
  • Token things, like women's t-shirts (LSRC has done this since day 1), make you feel like you were expected and you belong.
  • Avoid the VOUA. Bring problems to your discussions, not just achievements. The old fashioned word for this is humility.
  • Be nice. Be welcoming. Explain "hard stuff" without talking down about it.

This is all fine and good, but it doesn't do any good if women don't show up. There's a name for this too: it's a pipeline problem.

The idea here is that you start with girls as ~50% of students; by the time you get to a conference like LSRC it's 12%. In between, the pipeline shrinks: in middle school girls decide they "don't like" math; in highschool they don't sign up for calculus; in first year programming classes they get overwhelmed and feel like imposters and drop out; etc. A lot of work has been done over the last 20 years to increase retention in the pipeline; it doesn't seem to be helping (The New York Times recently had an article on this).

So what to do? One idea is a "2nd pipeline." There are women all over who are very technical or even code; getting them into (more) programming now that they are "grown up" separates the self identity issues out of the career decisions. There are a couple groups that seem "natural" fits for a 2nd pipeline:
  • Librarians. My "digital humanities" acquaintances pick up programming on top of their MLS degrees to be able to do a lot of data and textual analysis.
  • Testers & Technical Support. Lots of women here, with plenty of technical expertise. Some mentoring and training, and I suspect many could be good programmers.
  • Administrative Assistants. Dana Gray pointed this out; it had never occurred to me, but it turns out that AAs these days do a lot of "data munging" and report generation. If they are writing scripts in Excel to handle data, why not transfer those skills to a more formal programming language?
Finally, I think the part of the pipeline that you have the most influence over as an established programmer is your daughters and your wives.

I didn't have time to go beyond this in the talk, but here are my final thoughts on the "How" of that last provactive challenge as pertains to daughters. It's hard, and the potential subject of another talk or article, but here are three pieces of advice:
  • "start early" -- blocks and trains when they are age 1
  • "meet them where they are" -- there's nothing wrong with pink legos or building castles, you will still learn skills that help you think in 3D abstractions
  • "raise them Makers" -- in the O'Reilly since of the word, people who build things and create things, where scratching your own itch is part of your makeup.
This is what worked for me -- plus a lot of pushing to go into math or science. I have no idea if they will work, but it will be interesting to see if enlightened, programmer parents can successfully raise girls who program.