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.


HillyTheGak said...

Re: Token things, like women's t-shirts (LSRC has done this since day 1), make you feel like you were expected and you belong. -- I saw one of the organizers (or maybe just someone manning the front table) tell a woman the opposite of this on Friday.

HillyTheGak said...

I also wanted to apologize. You were in the Ruby Curious class I helped teach the first day, and at some point, when asked about IDE preferences, I responded with a condescending, "Real Men just use VIM." You cleared your throat, and I amended it to include, "...or women," but that was pretty dismissive of me. I haven't been able to pull you aside in person since then, so in case I don't see you between now and then, I apologize. The inverse of "real man" I intended was "boy" (as in the expression, "time to separate the men from the boys"), not "woman." I'm not sure that dichotomy is any better, since it dismisses the entire gender outright.

Lee said...

Hi Sara,
I found your blog through Hayes, an attendee at LSRC. I enjoyed your post and would love to talk in depth about your observations, especially with your background in the study of women and gender. I too am a female programmer, computer science major, and I can relate a lot to what you said. I kind of have pipe dream of someday setting up a technology camp for girls here in Austin and it would be great to talk to someone who might inspire me to make that real.
Lee @lgharp

Sara said...

Hilly -- Not sure I'm getting what you mean on the front table comment? (I was manning the front table, so it may have been me you overheard -- and for the record LSRC has had girl shirts since the first one, this I know for sure.)

Lee -- happy to talk sometime, just ping me. saracarl@gmail; @saracarl.

Sara said...

Oh -- also, Hilly -- the throat clearing was intended to be a joke, I didn't take any of it personally. While it's easy to be *too* sensitive, I've given up most of that as I age and get more comfortable being the woman in the room.

Steven said...

Unsurprising that the friendliest programmers in the world (RUBYISTS) are actually making progress on this most-thorny of issues.

dana said...

While I did mention the idea of pulling in more women from the Admin Assistant pool in companies, I think it's only right to note that Eleanor McHugh pointed this out to me yesterday after my presentation.

Anonymous said...

This is a topic that's been discussed quite a lot on the DevChix mailing list of late so the presentation is timely. I'd been explaining there based on my own observations how many women in admin roles resort to programming in Excel and Access for the very reasons that Dana outlined in her Data Munging presentation. Few of these women consider themselves programmers.

Truth be told, a lot of my own ├╝bergeek embedded work has really amounted to nothing more than munging dirty bits on the wire - likewise the odd stuff I do with low-level Ruby abuse is basically an analogous skillset.

Basically more women need to hack, and if they did they'd realise it's not a male pastime but a universal human one!

Mr. Natural said...

"The Voice of Unquestionable Authority"

Now, at 63 years old, I am pleased to have been taught to question authority at a young age. How liberal my parents must have been!

Thank you for putting the concept of this type of affectation (beck, hannity, limbaugh) into words for me!