First, I want to say that although I haven’t been writing in this blog as often as usual, I have still been writing; writing computer code. I have had a project on my mind for three years (I actually started it once or twice), and I am starting it again. I’ve gotten a bit further this time. It is taking me longer than it might for two reasons:
- I am doing what is called test driven development. You’ve heard of teaching to the test? This is coding to the test. You write the tests first; if I put this into the program, I should get this other thing out. Then you write the computer code that passes the test(s). So far, I have 274 tests (and code that passes 273 of them). It takes longer initially, but ultimately, you save a lot of time debugging. If I make a change in my code, then I can quickly run all the tests (it takes about 0.8 seconds) to make sure I didn’t break something else. When my code does break unexpectedly, as it did just before I stopped coding today (hence the 273), I can find the problem, add that input as a test, and be confident that it will not fail the same way again. It’s really hard to think up all the test cases ahead of time – you are looking for ways to break the code, so you add them as you go along.
- I am learning a new computer language, Python. It’s not nearly as hard as learning a new human language, which is why I don’t agree with replacing human languages with computer languages in school, as has been done or is under consideration in four states. Computer languages have many fewer words that human languages – typically around a hundred or so, but you only need a working vocabulary of about thirty to thirty-five to write even very complicated programs. The code I am writing is pretty complicated – it doesn’t break down into simpler tasks easily. In my case, each task affects the others, so it’s kind of tangly. Further, with a computer language, you are asking the computer to do a smaller set of things, and while there is code that you can look at and say “Gee, that’s beautiful code”, it’s not nearly as expressive as human language. There are never double entendres, for example, whereas I only ever write in double entendres. Get it?
There are parallels between human and computer languages, though. One that has been slowing me down is idioms. Each time I code something new, I look up the Pythonic way of doing it – i.e. speaking like a native. In my head I know what I want to do, and can do it easily in a number of computer languages I know. However, learning the idioms helps produce code that is both more efficient and more robust.
I’ve really been meaning to write about this whole “Google Manifesto” thing (on Fox News, they never use “manifesto” – it is the “anti-diversity memo”) . I’ve read it, twice. I’ve read most of the references as well, and a number of articles rebuffing it. I even listened to most of an interview between James Damore (who wrote the document) and Stefan Molyneux, a podcaster associated with the alt-right movement. I stopped listening because most of it was Molyneux trying to get Damore to agree with alt-right ideas, but Damore is a self-described centrist, so it didn’t really work.
Although the tone it is written in is reasonable, the reasoning is not. Overall, he uses statistics from a general (worldwide) population to describe the women who work at Google (which is not a random sampling of women in the world), and even I could see holes in the paper he cited. If you are interested in a well reasoned and researched refutation of the memo, look here. A Girls Who Code spokesperson responded to the memo today. There’s a good video at the end of this article, which shows what women in tech experience regularly. This article has a good description of the current science around the topic of gender differences and the different issues women face compared to men. It is clear from his memo that Damore is not aware of the uneven playing field that women (and other minorities – heaven help you if you are a woman of color) face.
I think, though, that Damore’s memo is a specific case of something much more pervasive, and something I think we’ll see much more of, especially during the next three and a half years, possibly longer. The general case is this: a privileged class of people (often, but not always white, middle class and mostly male) is not doing as well as they think they ought. They see oppressed classes getting a helping hand to level the playing field and think, “Hey, I made it here myself, and it’s not fair that they’re getting help I never got,” not seeing their own privilege. If you are in the privileged class, it is easy too look around and think everybody has the same playing field. You simply don’t see that other people have different experiences. I know this, because I used to think it. The video I mentioned above shows it perfectly.
Once I became aware that this might not be true (via many discussions with Jennie, my daughter who has studied gender extensively), I held the idea in my head, and began to look for evidence. Slowly, I began to see it – I listened to the experiences of women (and others in non-dominant groups) around me – in tech and out, and it became clear that there really was an unlevel playing field. It’s why I do what I do, both with GWC and at school, and it has meaning for me. I use my privilege to give others a boost.
There’s been some debate (if you ingest a wide enough swath of news) about whether Damore should’ve been fired. From the tone and content of the memo itself, maybe, maybe not. From the implications of the memo, it simply doesn’t make sense to keep him around, even for political spectrum diversity (which was part of his stated goal). It’s hard to imagine how someone who thinks the people (and so many of them) around him are inferior in some unfixable way (i.e. biological) can be a team player. There’s going to be a lot of resentment on that team, from both sides. And teamwork is where things are in the tech industry today. Gone are the days of the lone coder genius sitting in a semi darkened room (a la 1980’s movies – apparently that’s when women stopped coding) (thanks to Katie T. for the reference to the NYT article on loner nerds – “I don’t know what made her send it to me,” he says as he codes in a semidarkened room).
I don’t know if I’ll write tomorrow – I have a friend (JKL) visiting, after which I’m going to see The Great Comet of 1812. I splurged and got a seat on the stage, over in the pit on the left of this picture, but I won’t be home until late.