Tag Archives: programming

Quick Hit: Toward a !!Con Aesthetic – new essay at The Recompiler

Over at The Recompiler, I have a new essay out: “Toward A !!Con Aesthetic”. I talk about (what I consider to be) the countercultural tech conference !!Con, which focuses on “the joy, excitement, and surprise of programming”. If you’re interested in hospitality and inclusion in tech conferences — not just in event management but in talks, structure, and themes — check it out. (Christie Koehler also interviews me about this and about activist role models, my new consulting business, different learning approaches, and more in the latest Recompiler podcast.)

Intersectional Types: a new mailing list for programming languages researchers and research-curious

This is a guest post by Chris Martens, a programming languages researcher who recently got her Ph.D. at Carnegie Mellon University; she research-blogs at lambdamaphone.blogspot.com.

STEM academia falls behind the broader “women in tech” movements in several respects, most notably in the sense that we don’t have many spaces (i.e. backchannels) to discuss, organize, and seek advice in situations that are unique to academia, while still arising from the usual structural oppression systems. In recent years, the Lambda Ladies group for women in functional programming has been a great example of a group that serves this purpose for participation in industry and open source, which opened my eyes to what academia has been sorely missing.

Meanwhile, from where I stand within programming languages (PL) research, I am seeing more and more women showing up (though usually white, cis women), more trans people coming out, other queer people speaking up, and people of color (who sometimes inhabit several of those identities) struggling for a voice. While each of these groups and intersections faces their own challenges to integrating with a largely white/cishet/male academic community, I believe the time is ripe for us to organize and talk to each other about those challenges, to build a space of our own for social as well as research discussions.

As a starting point for our field, I started a mailing list back in May of this year, called Intersectional Types.

Currently, the mailing list traffic is very light (averaging less than one message per day), and thread topics have been things like approaching organizers of conferences about diversity issues, calls for participation and service on committees, dependently-typed programming, and favorite female role models.

In general, the list has the following purpose, as summarized at the above link:

In some ways, this list should be considered just another research list, such as the TYPES forum. This space can be used for research questions, literature guidance, starting collaborative efforts, introductions and updates to current research projects, open-ended philosophical questions about grand research visions, links to blog posts/papers, announcement of CFPs and job postings, announcements of achievements and breakthroughs.

In addition, this list is a response to a problem: that PL research communities have a really hard time attracting, retaining, and especially *valuing* people who are marginalized in society. This problem is in no way unique to PL, but the purpose of this list is to bring together folks with similar enough research interests that we can provide each other support that’s meaningful within the context of our specific field.

Some specific examples of activity we encourage, but don’t see on traditional research fora, are: requests for career mentorship and advice (especially along an academic career track); requests for feedback on papers and blog posts; giving (remote) practice talks; organizing local meetups and events; posting about mentorship programs, fellowships, summer schools, and other opportunities; venting about the ways our environments are unwelcoming and dysfunctional; and discussing how we ourselves can create more welcoming and supportive environments when we are in positions of leadership.

Other details, such as who’s welcome to join, moderator contact information, and the code of conduct, can be found on the list description page. In particular, we encourage new members who have some degree of experience with PL as a topic (e.g. a course or self-instruction) but may not work formally within the academic system, whether that’s a “not yet” situation or a “probably never” situation, especially if structural oppression systems influence that situation.

Finally, I want to add a call to other academic feminists to consider searching for and starting explicitly political backchannels like this one within your field. There may be more people out there who are like you, frustrated in the ways you are frustrated, or merely different in the ways that you are different. The first step toward change is often feeling less alone in wanting it.

Libraries’ tech pipeline problem

This is cross-posted on Coral’s blog. There has been some discussion on Metafilter and on Twitter (link goes to a Storify of tweets).

“We’ve got a pipeline problem, so let’s build a better pipeline.” –Bess Sadler, Code4Lib 2014 Conference (the link goes to the video)

I’ve been thinking hard (for two years, judging by the draft date on this post) about how to grow as a programmer, when one is also a librarian. I’m talking not so much about teaching/learning the basics of coding, which is something a lot of people are working really hard on, but more about getting from “OK, I finished yet another Python/Rails/JavaScript/whatever workshop” or “OK, I’ve been through all of Code Academy/edX/whatever”—or from where I am, “OK, I can Do Interesting Things™ with code, but there are huge gaps in my tech knowledge and vocabulary”—to the point where one could get a full-time librarian-coder position.

I should add, right here: I’m no longer trying to get a librarian-coder position*. This post isn’t about me, although it is, of course, from my perspective and informed by my experiences. This post is about a field I love, which is currently shooting itself in the foot, which frustrates me.

Bess is right: libraries need 1) more developers and 2) more diversity among them. Libraries are hamstrung by expensive, insufficient vendor “solutions.” (I’m not hating on the vendors, here; libraries’ problems are complex, and fragmentation and a number of other issues make it difficult for vendors to provide really good solutions.) Libraries and librarians could be so much more effective if we had good software, with interoperable APIs, designed specifically to fill modern libraries’ needs.

Please, don’t get me wrong: I know some libraries are working on this. But they’re too few, and their developers’ demographics do not represent the demographics of libraries at large, let alone our patron bases. I argue that the dearth and the demographic skew will continue and probably worsen, unless we make a radical change to our hiring practices and training options for technical talent.

Building technical skills among librarians

The biggest issue I see is that we offer a fair number of very basic learn-to-code workshops, but we don’t offer a realistic path from there to writing code as a job. To put a finer point on it, we do not offer “junior developer” positions in libraries; we write job ads asking for unicorns, with expert- or near-expert-level skills in at least two areas (I’ve seen ones that wanted strong skills in development, user experience, and devops, for instance).

This is unfortunate, because developing real fluency with any skill, including coding, requires practicing it regularly. In the case of software development, there are things you can really only learn on the job, working with other developers (ask me about Git, sometime); only, nobody seems willing to hire for that. And, yes, I understand that there are lots of single-person teams in libraries—far more than there should be—but many open source software projects can fill in a lot of that group learning and mentoring experience, if a lone developer is allowed to participate in them on work time. (OSS is how I am planning to fill in those skills, myself.)

From what I can tell, if you’re a librarian who wants to learn to code, you generally have two really bad options: 1) learn in your spare time, somehow; or 2) quit libraries and work somewhere else until your skills are built up. I’ve been down both of those roads, and as a result I no longer have “be a [paid] librarian-developer” on my goals list.

Option one: Learn in your spare time

This option is clown shoes. It isn’t sustainable for anybody, really, but it’s especially not sustainable for people in caretaker roles (e.g. single parents), people with certain disabilities (who have less energy and free time to start with), people who need to work more than one job, etc.—that is, people from marginalized groups. Frankly, it’s oppressive, and it’s absolutely a contributing factor to libtech’s largely male, white, middle to upper-middle class, able-bodied demographics—in contrast to the demographics of the field at large (which is also most of those things, but certainly not predominantly male).

“I’ve never bought this ‘do it in your spare time’ stuff. And it turns out that doing it in your spare time is terribly discriminatory, because … a prominent aspect of oppression is that you have more to do in less spare time.” – Valerie Aurora, during her keynote interview for Code4Lib 2014 (the link goes to the video)

“It’s become the norm in many technology shops to expect that people will take care of skills upgrading on their own time. But that’s just not a sustainable model. Even people who adore late night, just-for-fun hacking sessions during the legendary ‘larval phase’ of discovering software development can come to feel differently in a later part of their lives.” – Bess Sadler, same talk as above

I tried to make it work, in my last library job, by taking one day off every other week** to work on my development skills. I did make some headway—a lot, arguably—but one day every two weeks is not enough to build real fluency, just as fiddling around alone did not help me build the skills that a project with a team would have. Not only do most people not have the privilege of dropping to 90% of their work time, but even if you do, that’s not an effective route to learning enough!

And, here, you might think of the coding bootcamps (at more than $10k per) or the (free, but you have to live in NYC) Recurse Center (which sits on my bucket list, unvisited), but, again: most people can’t afford to take three months away from work, like that. And the Recurse Center isn’t so much a school (hence the name change away from “Hacker School”) as it is a place to get away from the pressures of daily life and just code; realistically, you have to be at a certain level to get in. My point, though, is that the people for whom these are realistic options tend to be among the least marginalized in other ways. So, I argue that they are not solutions and not something we should expect people to do.

Option two: go work in tech

If you can’t get the training you need within libraries or in your spare time, it kind of makes sense to go find a job with some tech company, work there for a few years, build up your skills, and then come back. I thought so, anyway. It turns out, this plan was clown shoes, too.

Every woman I’ve talked to who has taken this approach has had a terrible experience. (I also know of a few women who’ve tried this approach and haven’t reported back, at least to me. So my data is incomplete, here. Still, tech’s horror stories are numerous, so go with me here.) I have a theory that library vendors are a safer bet and may be open to hiring newer developers than libraries currently are, but I don’t have enough data (or anecdata) to back it up, so I’m going to talk about tech-tech.

Frankly, if we expect members of any marginalized group to go work in tech in order to build up the skills necessary for a librarian-developer job, we are throwing them to the wolves. In tech, even able-bodied straight cisgender middle class white women are a badly marginalized group, and heaven help you if you’re on any other axis of oppression.

And, sure, yeah. Not all tech. I’ll agree that there are non-terrible jobs for people from marginalized groups in tech, but you have to be skilled enough to get to be that choosy, which people in the scenario we’re discussing are not. I think my story is a pretty good illustration of how even a promising-looking tech job can still turn out horrible. (TLDR: I found a company that could talk about basic inclusivity and diversity in a knowledgeable way and seemed to want to build a healthy culture. It did not have a healthy culture.)

We just can’t outsource that skill-building period to non-library tech. It isn’t right. We stand to lose good people that way.

We need to develop our own techies—I’m talking code, here, because it’s what I know, but most of my argument expands to all of libtech and possibly even to library leadership—or continue offering our patrons sub-par software built within vendor silos and patched together by a small, privileged subset of our field. I don’t have to tell you what that looks like; we live with it, already.

What to do?

I’m going to focus on what you, as an individual organization, or leader within an organization, can do to help; I acknowledge that there are some systemic issues at play, beyond what my relatively small suggestions can reach, and I hope this post gets people talking and thinking about them (and not just to wave their hands and sigh and complain that “there isn’t enough money,” because doomsaying is boring and not helpful).

First of all, when you’re looking at adding to the tech talent in your organization, look within your organization. Is there a cataloger who knows some scripting and might want to learn more? (Ask around! Find out!) What about your web content manager, UX person, etc.? (Offer!) You’ll probably be tempted to look at men, first, because society has programmed us all in evil ways (seriously), so acknowledge that impulse and look harder. The same goes for race and disability and having the MLIS, which is too often a stand-in for socioeconomic class; actively resist those biases (and we all have those biases).

If you need tech talent and can’t grow it from within your organization, sit down and figure out what you really need, on day one, versus what might be nice to have, but could realistically wait. Don’t put a single nice-to-have on your requirements list, and don’t you dare lose sight of what is and isn’t necessary when evaluating candidates.

Recruit in diverse and non-traditional spaces for tech folks — dashing off an email to Code4Lib is not good enough (although, sure, do that too; they’re nice folks). LibTechWomen is an obvious choice, as are the Spectrum Scholars, but you might also look at the cataloging listservs or the UX listservs, just to name two options. Maybe see who tweets about #libtechgender and #critlib (and possibly #lismicroaggressions?), and invite those folks to apply and to share your linted job opening with their networks.

Don’t use whiteboard interviews! They are useless and unnecessarily intimidating! They screen for “confidence,” not technical ability. Pair-programming exercises, with actual taking turns and pairing, are a good alternative. Talking through scenarios is also a good alternative.

Don’t give candidates technology vocabulary tests. Not only is it nearly useless as an evaluation tool (and a little insulting); it actively discriminates against people without formal CS education (or, cough, people with CS minors from more than a decade ago). You want to know that they can approach a problem in an organized manner, not that they can define a term that’s easily Googled.

Do some reading about impostor syndrome, stereotype threat, and responsible tech hiring. Model View Culture’s a good place to start; here is their hiring issue.

(I have a whole slew of comments about hiring, and I’ll make those—and probably repeat the list above—in another post.)

Once you have someone in a position, or (better) you’re growing someone into a position, be sure to set reasonable expectations and deadlines. There will be some training time for any tech person; you want this, because something built with enough forethought and research will be better than something hurriedly duct-taped (figuratively, you hope) together.

Give people access to mentorship, in whatever form you can. If you can’t give them access to a team within your organization, give them dedicated time to contribute to relevant OSS projects. Send them to—just to name two really inclusive and helpful conferences/communities—Code4Lib (which has regional meetings, too) and/or Open Source Bridge.

 

So… that’s what I’ve got. What have I missed? What else should we be doing to help fix this gap?

 

* In truth, as excited as I am about starting my own business, I wouldn’t turn down an interview for a librarian-coder position local to Pittsburgh, but 1) it doesn’t feel like the wind is blowing that way, here, and 2) I’m in the midst of a whole slew of posts that may make me unemployable, anyway ;) (back to the text)

** To be fair, I did get to do some development on the clock, there. Unfortunately, because I wore so many hats, and other hats grew more quickly, it was not a large part of my work. Still, I got most of my PHP experience there, and I’m glad I had the opportunity. (back to the text)

 

Code release: Spam All the Links

This is a guest post by former Geek Feminism blogger Mary Gardiner. It originally appeared on puzzling.org.

The Geek Feminism blog’s Linkspam tradition started back in August 2009, in the very early days of the blog and by September it had occurred to us to take submissions through bookmarking services. From shortly after that point there were a sequence of scripts that pulled links out of RSS feeds. Last year, I began cleaning up my script and turning it into the one link-hoovering script to rule them all. It sucks links out of bookmarking sites, Twitter and WordPress sites and bundles them all up into an email that is sent to the linkspamming team there for curation, pre-formatted in HTML and with title and suggestion descriptions for each link. It even attempts to filter out links already posted in previous linkspams.

The Geek Feminism linkspammers aren’t the only link compilers in town, and it’s possible we’re not the only group who would find my script useful. I’ve therefore finished generalising it, and I’ve released it as Spam All the Links on Gitlab. It’s a Python 3 script that should run on most standard Python environments.

Spam All the Links

Spam All the Links is a command line script that fetches URL suggestions from
several sources and assembles them into one email. That email can in turn be
pasted into a blog entry or otherwise used to share the list of links.

Use case

Spam All the Links was written to assist in producing the Geek Feminism linkspam posts. It was developed to check WordPress comments, bookmarking websites such as Pinboard, and Twitter, for links tagged “geekfeminism”, assemble them into one email, and email them to an editor who could use the email as the basis for a blog post.

The script has been generalised to allow searches of RSS/Atom feeds, Twitter, and WordPress blog comments as specified by a configuration file.

Email output

The email output of the script has three components:

  1. a plain text email with the list of links
  2. a HTML email with the list of links
  3. an attachment with the HTML formatted links but no surrounding text so as to be easily copy and pasted

All three parts of the email can be templated with Jinja2.

Sources of links

Spam All the Links currently can be configured to check multiple sources of links, in these forms:

  1. RSS/Atom feeds, such as those produced by the bookmarking sites Pinboard or Diigo, where the link, title and description of the link can be derived from the equivalent fields in the RSS/Atom. (bookmarkfeed in the configuration file)
  2. RSS/Atom feeds where links can be found in the ‘body’ of a post (postfeed in the configuration file)
  3. Twitter searches (twitter in the configuration file)
  4. comments on WordPress blog entries (wpcommentsfeed in the configuration file)

More info, and the code, is available at the Spam All the Links repository at Gitlab. It is available under the MIT free software licence.

Learning How to Hack in a Bro’s World: A Women’s College Student Perspective

A skewed image of the interior of a building with interior brick walls, concrete catwalks, and stone staircases

Image courtesy of Cali Stenson.


This is a guest post from Cali Stenson and Karina Chan. Cali Stenson is a sophomore at Wellesley College majoring in computer science and minoring in math. She’s the co-hack chair of Wellesley’s Computer Science Club, a member of the Wellesley Whiptails Ultimate Frisbee team, and an avid believer in learning and sharing knowledge with others. Karina Chan is a junior at Wellesley College. She is majoring in Computer Science and minoring in math. She tweets all things technology and cat related.

The first hackathon we went to was PennApps over Valentine’s weekend in February of 2014. We thought it sounded really fun; who doesn’t want to spend their weekend making a cool app or website?

It wasn’t exactly what we expected. Hackathons are glorified as centers where people build life-changing and legendary projects; however, most of the students at PennApps seemed to just end up tired, dirty, and a little defeated. What went wrong? Is it the perpetuation of the no sleep/shower/brogrammer stereotype? We do know that we were two of the few women within an entire group of 1,200 hackers.

We didn’t have a great time, but we learned something. We found ourselves in an environment that unconsciously shuts women out, and even worse, women who are beginning hackers. We felt like we did not belong; we could not possibly be competent enough to compete with the guys who seemed so much better than us with their aggressive energy drinking and loud bragging. Not to mention, some unconscious aversion to showering. There is no moment where you have more impostor syndrome than when you meet brogrammer after brogrammer with a successful app/gadget at the end of a hackathon where you did not even get a basic website up.

This might seem like a surface-level and exaggerated assessment, but from what we’ve seen, getting that feeling of acceptance at a hackathon needs to begin at the ground level as well as the top level. Even with the plentiful conversation flowing about gender inequality in tech and the beginning of forced gender ratios at hackathons, it is important to change the “brogrammer” culture of hackathons. One of the major problems for women interested in hackathons is that it is intimidating to throw yourself into an unfamiliar environment, only to feel different and rejected. Why is this even a problem? In its purest definition, hackathons are havens where people who like to build things have time to build things. Impostor syndrome is distracting and needs to be addressed based on what women are looking for in hackathons and on how teams interact with one another. Are the needs of women different from men? How do we appeal to both audiences? Hackathons should foster an environment friendly to all skill levels and all people that encourages learning for the sake of it, and this is should be enforced not just by creating a magic ratio, but by changing how the internal culture is run.

Over the weekend of April 17-19th, Wellesley College’s CS club along with a group of CS students at Simmons College will be hosting a hackathon that aims to change the internal culture. We want to create a pure space that supports learning and developing while also creating opportunities for networking with current members of industry, i.e. alumnae of Wellesley college and professionals in the Boston area. We’re focusing on the target audience of undergraduate women in CS (will not exclude men), and we encourage students who do not thrive in the typical hackathon environment to come learn to hack with us. Our aim is to focus on the ground up and to address these questions: how do we get women to participate in the hackathon scene, and how do we get women (+ men!) to stay?

Editor’s note: For more information on attending the hackathon, sponsoring the hackathon, or being a mentor, please fill out this contact form, which sends email directly to the Wellesley CS Club.

Let’s do the linkspam again (25 July 2014)

  • Why Captain America Should Stay Black Forever | E.Knight at Boxing With God (July 19): “Comic book fans born today should grow up knowing this is Captain America. There should be no doubt.  The idea that a black man could represent the ultimate patriot is only ironic if our society continues to insist that White is America’s default race.”
  • New Thor Will be a Woman! Five Other Heroines Who Have Taken Up a Man’s Title | Mey at Autostraddle (July 22): “Although there’s absolutely nothing wrong with feminizing a name, there is a lot of clout that comes with the name Thor. By not adding “She-,” “Lady” or “Ms.” to the name, they are saying that this character isn’t a sidekick or partner to Thor, they’re saying that she isn’t “inspired by” Thor, they’re saying she simply is Thor. […] While Thor is the most high-profile example of this, it’s not the first. Here are some of my favorite examples of this happening before.”
  • How Big of a Problem is Harassment at Comic Conventions? Very Big. | Janelle Asselin at bitchmedia (July 22)[warning for discussion of harassment] “It’s not difficult to see why conventions can be rife with harassment. People in my survey report being harassed by fans, journalists, publishing employees, and comics creators, so there are issues at every level of the industry. Conventions involve cramming a lot of people into one space where ideally everyone gets to move around. This means there are a lot of brush-by maneuvers, awkward running into people, and a lot of general closeness. […] This is the first time ever that SDCC has made a specific anti-harassment policy so prominent and offered a clear course of action for fans who are harassed.”
  • Killing the Messenger at Mozilla | Tim Chevalier at Model View Culture (July 21) (disclosure: Tim Chevalier contributes to geekfeminism.org): “In 2012, it was nearly taboo at Mozilla to question the individualist narrative: the story that says that Eich, like any other employee, could spend his paycheck in whatever manner he chose. In 2014, Mozillans had no choice but to engage with a more structural narrative: that it’s impossible to lead a diverse organization when you have openly and obdurately expressed animus towards members of a protected class. […] If we take [the Mozilla leaders] at face value, they did not understand why anyone would think that queer people’s rights were relevant to an open-source software project — surely they must have been aware that LGBTQ people worked for them.”
  • WisCon…This is How You Fail | The Angry Black Woman (July 20): “Race, gender, and class have all been issues at various points for me at WisCon. Most incidents fall into microaggression territory, and as a personal philosophy I tend not to let those dissuade me from things I want to do. That is an eminently personal choice, and should not be construed as telling anyone else what to do or how to feel. If my friends stop going, then so will I.”
  • The Pay-for-Performance Myth | Eric Chemi and Ariana Giorgi at Bllomberg Business Week (July 22): “An analysis of compensation data publicly released by Equilar shows little correlation between CEO pay and company performance. Equilar ranked the salaries of 200 highly paid CEOs. When compared to metrics such as revenue, profitability, and stock return, the scattering of data looks pretty random, as though performance doesn’t matter. The comparison makes it look as if there is zero relationship between pay and performance.”
  • Coder livetweets sexist remarks allegedly made by IBM executives | Aja Romano at The Daily Dot (July 22): “Note to IBM executives: If you’re going to openly discuss why you think young women make bad hires in the tech industry, you might want to make sure you’re not having lunch next to a young mom who’s also a coder. […] According to [Lyndsay] Kirkham, the executives listed off a number of women who are currently employed at IBM, all of whom apparently have kids, and listed the amount of time the women were expected to take off in the next few years for anticipated pregnancies.”
  • #iamdoingprogramming made me feel more alienated from the tech community | Christina Truong at Medium (July 21): “In the eight years that I’ve been in the tech industry, I’ve worked with one Black person that was in a tech role and a handful in non-tech roles (project managers) and that’s a damn shame. […] Diversity doesn’t mean pushing those that are already there out of the group. It simply means making space for different kinds of people, different opinions and opening up the culture instead of spotlighting and finding the same kind of person over and over again. It’s about showing people that there are different ways to be successful in this industry. It’s about telling everyone’s story.”
  • Numbers are not enough: Why I will only attend conferences with explicitly enforceable Codes of Conduct and a commitment to accessibility | Jennie Rose Halperin (July 22): “I recently had a bad experience at a programming workshop where I was the only woman in attendance and eventually had to leave early out of concern for my safety. […] What happened could have been prevented: each participant signed a “Code of Conduct” that was buried in the payment for the workshop, but there was no method of enforcement and nowhere to turn when issues arose.”

We link to a variety of sources, some of which are personal blogs.  If you visit other sites linked herein, we ask that you respect the commenting policy and individual culture of those sites.

You can suggest links for future linkspams in comments here, or by using the “geekfeminism” tag on Pinboard, Delicious or Diigo; or the “#geekfeminism” tag on Twitter. Please note that we tend to stick to publishing recent links (from the last month or so).

Thanks to everyone who suggested links.

Linkspam and a bag of chips (18 February 2014)

We link to a variety of sources, some of which are personal blogs.  If you visit other sites linked herein, we ask that you respect the commenting policy and individual culture of those sites.

You can suggest links for future linkspams in comments here, or by using the “geekfeminism” tag on PinboardDelicious or Diigo; or the “#geekfeminism” tag on Twitter. Please note that we tend to stick to publishing recent links (from the last month or so).

Thanks to everyone who suggested links.

To my daughter’s high school programming teacher

This is a guest post / cross-post from Rikki Endsley who tweets as @rikkiends and is community manager for USENIX in addition to being a tech writer. See also the original post for other comments and the follow-up: What could possibly go wrong?

Trigger Warning: mentions of threats violence and rape

Dear sir,

I’m not writing to complain about your choice of programming languages (Visual Basic? Seriously??) or about the A my daughter earned in your class. And, actually, my daughter had no specific complaints about you as a teacher. I, on the other hand, have plenty of feedback for you.

First, a little background. I’ve worked in tech journalism since my daughter was still in diapers, and my daughter had access to computers her entire life. At the ripe old age of 11, my daughter helped review her first tech book, Hackerteen. She’s been a beta tester (and bug finder) for Ubuntu (Jaunty Jackalope release), and also used Linux Mint. Instead of asking for a car for her 16th birthday, my daughter asked for a MacBook Pro. (I know, I know … kids today.)

My daughter traveled with me to DrupalCon in Denver for “spring break”, attended the expo at OSCON 2012, and even attended and watched me moderate a panel at the first Women in Advanced Computing (WiAC ’12) conference at USENIX Federated Conferences Week. Thanks to my career, my daughter’s Facebook friends list includes Linux conference organizers, an ARM developer and Linux kernel contributor, the creat, open source advocates, and other tech journalists. My daughter is bright, confident, independent, tech saavy, and fearless. In fact, she graduated high school last May — two years early — and is now attending high school in India as her “gap year” before heading off to college.

So what’s the problem?

During the first semester of my daughter’s junior/senior year, she took her first programming class. She knew I’d be thrilled, but she did it anyway.

When my daughter got home from the first day of the semester, I asked her about the class. “Well, I’m the only girl in class,” she said. Fortunately, that didn’t bother her, and she even liked joking around with the guys in class. My daughter said that you noticed and apologized to her because she was the only girl in class. And when the lessons started (Visual Basic? Seriously??), my daughter flew through the assigments. After she finished, she’d help classmates who were behind or struggling in class.

Over the next few weeks, things went downhill. While I was attending SC ’12 in Salt Lake City last November, my daughter emailed to tell me that the boys in her class were harassing her. “They told me to get in the kitchen and make them sandwiches,” she said. I was painfully reminded of the anonymous men boys who left comments on a Linux Pro Magazine blog post I wrote a few years ago, saying the exact same thing.

My September 8, 2010 post, Inequality, Choices, and Hitting a Wall, discussed illegal gender discrimination in tech. The next day, comments started popping up on the post. Sure, the sandwich comments were easy enough to shrug off at first, but within a few minutes, the comments increased in numbers and intensity. And then the threats of violence started: “The author of this article is a whiny bitch and needs a good beating to be put in her place.” Ten minutes later, the rape threats began, and I shut down our comments site-wide. And then the emails started…

So, you see, I was all too familiar with what my daughter was going through, but I was unprepared for the harassment to start in high school, in her programming class.

I consulted with friends — female developers — and talked to my daughter about how to handle the situation in class. I suggested that she talk to you. I offered to talk to you. I offered to come talk to the class. I offered to send one of my male friends, perhaps a well-known local programmer, to go talk to the class. Finally, my daughter decided to plow through, finish the class, and avoid all her classmates. I hate to think what less-confident girls would have done in the same situation.

My daughter has no interest in taking another programming class, and really, who can blame her.

For her entire life, I’d encouraged my daughter to explore computer programming. I told her about the cool projects, the amazing career potential, the grants and programs to help girls and women get started, the wonderful people she’d get to work with, and the demand for diversity in IT. I took her with me to tech conferences and introduced her to some of the brightest, most inspiring and encouraging women and men I’ve ever met.

Sadly, you only get one chance to make a first impression, and you, sir, created a horrible one for girls in computer programming.

Did you not see her enthusiasm turn into a dark cloud during the semester? Did you not notice when she quit laughing with and helping her classmates, and instead quickly finished her assignments and buried her nose in a book? What exactly were you doing when you were supposed to be supervising the class and teaching our future programmers?

I’m no teacher, so forgive me if you think I’m out of place when it comes to telling you how to do your job. But I am a mother, and I’ve spent years encouraging girls and women in IT, so perhaps my perspective will help you. After all, you didn’t mean to create a brogrammer-to-be environment, did you?

Here are seven suggestions for teaching high school computer programming:

  1. Recruit students to take your class. Why was my daughter the only girl in your class? According to her, she only took the class because I encouraged it. My daughter said she wouldn’t have known about the programming class, otherwise. (I’m adding this to my “parenting win” page in the baby book.) Have you considered hanging up signs in the school to promote your class? Have you asked the school counselors to reach out to kids as they plan their semesters? Have you spoken to other classes, clubs, or fellow teachers to tell them about why programming is exciting and how programming fits into our daily lives? Have you asked the journalism students to write a feature on the amazing career opportunities for programmers or the fun projects they could work on? Have you asked current students to spread the word and tell their friends to try your class?
  2. Set the tone. On the first day of class, talk about the low numbers of women and lack of diversity in IT, why this is a problem, and how students can help increase diversity in programming. Tell students about imposter syndrome and how to help classmates overcome it. Create an inclusive, friendly, safe learning environment from day one. I thought this was a no brainer, but obviously, it’s not.
  3. Outline, explain, and enforce an anti-harassment policy.
  4. Don’t be boring and out-of-date. Visual Basic? Seriously?? Yes, I know I said I’m not writing to complain about your choice of programming languages, even though I’m still scratching my head on this one. The reason I mention your choice is that it doesn’t help you make a good first impression on new programmers. I have no idea what my teen learned in your class because she wasn’t excited about it. Without touching your minuscule class budget, you can offer a range of instruction with real-world applications. With resources like Codecademy, for example, students could try a variety of programming languages, or focus on ones they find interesting. Have you considered showing kids how to develop a phone app? Program a Raspberry Pi? Create a computer game? Build a website? Good grief, man — how were you even able to make programming boring?
  5. Pay attention. I don’t know what you were doing during class, but you weren’t paying attention, otherwise you would have noticed that my daughter was isolated and being harassed. Do you expect girls to come tell you when they are being harassed? Well, don’t count on it. Instead, they pull away, get depressed, or drop out completely, just like they do in IT careers. You want to know what happens when women speak up about verbal abuse or report harassment? Backlash, and it’s ugly. Best case, she’ll get shunned by classmates or colleagues. And hopefully she won’t read any online comments…ever. But it can get much worse, with the vulgar emails and phone calls, and home addresses posted online, and threats of violence. Sadly, this isn’t rare; this happens all the time, from high school on up into our careers. Don’t believe me? That’s because you aren’t paying attention.
  6. Check in. Talk to your students in private to see how class is going for them. Talk to other teachers or school counselors. Had you talked to my daughter’s counselor, for example, you would have known how class was going. The counselor worked closely with my daughter to help her graduate early, and she would have had no problem getting an honest answer about my daughter’s unpleasant experience in your brogramming class. Did you expect me to call you? Believe me, I wanted to, but I also respected my daughter’s request to let her handle the situation. And see number 5. Had I told you how class was going for my daughter, her situation would not have improved, and might have gotten even worse.
  7. Follow up. At the end of the semester, take a survey. Allow students to submit anonymous online answers to questions about the class material, your teaching methods, and their experience with other students. Allowing anonymity will help you get honest answers and, hopefully, you can improve your programming class for your next round of students.

Look, you don’t have to tell me how hard your job is or how underpaid and overstressed you are as a high school teacher. I’m a single mother working in tech publishing — believe me, I get it. I like to think what I do is important, but what teachers do has the potential to change the world. No article I write will ever do that, but the daughter I raise might.

I spent 16 years raising a daughter who had all the tools and encouragement she needed to explore computer programming as a career. In one short semester, you and her classmates undid all of my years of encouragement.

I always told my daughter that high school isn’t real life. Unfortunately, your programming class proved otherwise. In one semester, my daughter learned why there are so few women in IT, and no amount of encouragement from me is going to change that.

EDIT: Rikki has posted this update:
As I said, my daughter is in India for a year, so she didn’t see this article until Wednesday, September 11. I wasn’t sure how she’d feel about me sharing her story and all the attention it received. Luckily, my daughter thanked me for writing about her experience. I asked her whether she had any corrections for the article. “Um, maybe tell them that I did actually talk to the teacher and I tried to tell the guys to quit being jerks,” she said. “He told the principal, and it was really embarrassing, which is probably why I didn’t tell you. And I gave up after that,” she explained. My daughter said that, after bringing the problem to the teacher’s attention several times, she finally asked him whether she could talk to the entire class about sexual harassment, he told her he’d think about it, and that’s when he reported the situation to the principal. “And a couple days later I was in the principal’s office being explained to that it wasn’t my place to do that, and I just mumbled answers to get out of there as soon as possible because I was really, really embarrassed and fighting back tears.” Before my daughter signed off our online chat, she asked me why I wrote about her story now. I told her about Alexandra, the nine-year-old girl who presented her app at the TechCrunch Disrupt hackathon, and the titstare app developers who shared the same stage. “Well, I’m sorry that crap happened … to both of us,” she said. I am, too.

Book Club: Coding Freedom, Part II: Codes of Value

In Part II of Coding Freedom, Biella begins the vital work of problematizing the meritocratic ideal.

“Hackers will publicly acknowledge… acts of “genius” and are thus fiercely meritocratic – in ideology and practice. Yet given that so much of hacker production is collective, a fact increasingly acknowledged and even celebrated in the ethical philosophy of F/OSS, a commitment to individualism, meritocracy, and independence is potentially subverted by the reality of as well as the desire to recognize their fundamental interdependence. The belief in the value of individuality coupled with the constant need for the help of other hackers points to a subtle paradox that textures their social world.”

Who among us picked up any technical skills whatsoever without the help of someone more skilled who helped us out just because, in the spirit of paying it forward? Patient friends, lucid documentation, gentle answers on mailing lists: these are the familiar stepping stones from n00b to basic competence. Depending on your point of view, they exist in dynamic tension with, or in stark contrast to, the Romantic hero, powered only by genius and Mountain Dew. You know, this guy:

The Wanderer Above the Sea of Fog

There is for sure a seductive aspect to the idea of meritocracy, an aspect that’s maybe especially potent for adolescent people – or nations – who are trying to separate their identities from their progenitors in order to individuate and develop their potential. It’s understandable, but it shouldn’t survive contact with the real world, which is nothing if not More Complicated Than That.

“The United States is often thought of as a living embodiment of meritocracy: a nation where people are judged on their individual abilities alone. The system supposedly works so well because, as the media myth goes, the United States provides everyone with equal opportunity, usually through public education, to achieve their goals. As such, the hierarchies of difference that arise from one’s ability (usually to achieve wealth) are sanctioned by this moral order as legitimate.”

You’ve got to love the strategic deployment of qualifiers in the above passage, especially if, like me, you have come late in life to the conviction that meritocracy is bullshit. Yeah. I said it. The single biggest flaw in the idea of meritocracy is the proposition that there are people who are without merit. This is, to put it mildly, not the case.

The second biggest flaw in the idea of meritocracy is that it’s just a recursive modern gloss on the Divine Right of Kings. Leaders in the (ostensibly-meritocratic) open source community are entitled to exercise power because of their merit. The proof of their merit? Is their exercise of power. The word “meritocracy” is an ungainsayable defense of the status quo. It’s conservatism in a nutshell. As Alexander Pope once, infuriatingly, put it: “Whatever is, is right.”

This week, in which Linux kernel developer Sarah Sharp advanced the revolutionary notion that programming could be carried on without ad hominem attacks, has added special piquancy to this passage from Biella’s book:

“When Torvalds and Murdock developed their own projects (the Linux kernel and Debian, respectively), they did things differently than the earlier cadre of Unix hackers by fostering a more egalitarian environment of openness and transparency. Participation was encouraged, and recognition was given where it was due. Accepting more contributions was also, of course, seen as a way to improve and encourage technical efficiency.”

Biella acknowledges that Linux and Debian grew up to be very different projects, and goes on to discuss Debian’s Social Contract, Free Software Guidelines and Constitution. She has some sharp observations on the fear within the Debian community that the “meritocracy” will be “corrupted.”

I’d like to propose that the notion of meritocracy is itself corrupt. Ideas may have, or lack, merit. People have worth, and every person is worth more than we can possibly imagine. Inclusive communities are likely to write the best software because in them, ideas can compete on their (yes!) merits; and because software written by the other communities has exclusion coded into its very DNA.

But, y’know, I’m not a kernel coder, so who the hell cares what I think? ;) More to the point, dear readers: what do you think?

Syntax error: unexpected linkspam (16 April 2013)

  • Science needs more women: “The bottom line is that many excellent female researchers across Australia do not encounter a set of sequential career rungs to be climbed, but rather need to navigate a complex game of snakes-and-ladders.”
  • Signs of Change: “Not everyone is on the same page, and there is still a lot of progress to go on all fronts, particularly with regard to the players themselves who congregate in gaming communities; it’s often these folks who will engage in the most abuse against advocacy for inclusivity, diversity, and equality. For the first time though, I feel that things are actually changing, that minds are being opened, and that the advocacy, the blogging, the speaking out that people have been doing for so many years-that all of this exhausting work is bearing fruit. There is a cultural shift happening in games, and I hope it continues to shift to a better place.”
  • ABA TechShow Has a Diversity Problem: “TechShow is a very good conference, even with all the white guys on stage. It is like a huge workshop, with something for lawyers who are still trying to use Word properly to lawyers trying to figure out how to gain an edge at trial. It would just be a lot better if there were a greater variety of voices on the presentation stages.”
  • Taking out tokenism: Why some people are changing their minds on quotas: “Lindy Stephens was convinced that quota systems were the wrong way to increase the number of women in positions of power. But three years after adopting a system of positive discrimination, the managing director of IT consultancy Thoughtworks Australia has changed her mind.”
  • MAKE | Where Are the Women?: “In our workshop, Hacking the Gender Gap, we present a brief overview of the published research on the gender gap and women’s history in computing. Then we pass out two different colors of large Post-Its and markers. On one color, we ask participants to write a story of a negative experience they’ve had with technology. On the other color, we ask them to write a positive experience… As a group, we read the stories and discuss the themes that emerge, and what could be done to encourage more of the positive experiences and prevent the negative ones.”
  • Girls Who Code: “The first GWC program launched in the summer of 2012 with 22 girls in New York City. Courses covered not only coding but pitching and presentation skills. At the outset, only one participant was considering a major in computer science; by the end, the entire class planned to major or minor in the subject.”
  • What we talk about, when we talk about fake fangirls: “The fake geek girl meme depends on the narrative of invasion. The particular battle at stake is women entering male space, and demanding that it change.”
  • The Last of Us Female Characters: “So here we see a pretty serious effect of how the assumption “women don’t play video games” becomes a self-fulfilling prophecy. If we assume that women don’t play, then we’ll never ask them what they think of a game, and it becomes far more likely that we’ll create a game that presents gender in a limited way, from a limited perspective, or even an offensive one. And then women will be less likely to enjoy playing our game, but that’s all right, because we know that women don’t play games anyway.”
  • Feminist Pax Enforcers: “My experience with PAX East enforcers is that they have created a self-perpetuating image: everybody believes that they’re competent and on top of things and so should be treated with respect, which allows them to be maximally friendly, calm, helpful, and communicative to attendees… which allows them to be completely on top of things, which means that everybody believes they are on top of things… and so on. So it does not surprise me one bit that some of them have gotten together, in the wake of a well publicized incident of a disruptive media attendee, to reassure female cosplayers and attendees that they’ve got your back. With a nerdy meme.”
  • Gail Simone Brings First Transgendered Character to DC Comics in Batgirl #19: “I’m sure it’s controversial on some level to some people, but honest to God, I just could not care less about that. If someone gets upset, so be it; there are a thousand other comics out there for those people.”

You can suggest links for future linkspams in comments here, or by using the “geekfeminism” tag on delicious or pinboard.in or the “#geekfeminism” tag on Twitter. Please note that we tend to stick to publishing recent links (from the last month or so).

Thanks to everyone who suggested links.