Friday, 29 March 2013

To duck or not to duck

About a week ago, I gave a lunch-and-learn talk at my office on Robert C Martin’s Clean Code—it’s considered “highly suggested” reading in the office, so, as I do when that happens, I read the thing cover to cover. I’m inclined to believe that most, if not all, of the other developers on staff who had been hired by this point did as well, but one of the topics that Martin brings up in his chapter on error handling is whether or not developers should be using checked or unchecked exceptions. Martin comes down on the side of preferring unchecked; there’s no good reason, he says, to use checked exceptions that you have to keep declaring every layer up until you actually catch it—it violates the Open/Closed Principle, and it creates leaky encapsulation.

He’s got a really good point. Having to constantly redeclare your exceptions (or, God forbid, catch and rethrow) is a pain in the ass, unnecessarily exposes your code’s structure, and makes it really difficult to refactor changes to your exceptions (if, of course, you don’t use a magical IDE like IntelliJ IDEA). So there’s certainly some benefit to be gained from preferring unchecked exceptions, both in purely internal code and if you intend to publish an API.

Ultimately, though, I disagree. Unchecked exceptions, to me, should really only be used to handle completely avoidable situations; this is why the stock set of unchecked exceptions in Java includes things like NullPointerException, IllegalArgumentException, and ArrayIndexOutOfBoundsException. An unchecked exception is something that the programmer could, and should, have prevented through better care. As an aside, this is also why I feel ripped off that throws a checked exception—the likelihood that the encoding is being specified by anyone other than the programmer is practically zero, so making me catch an UnsupportedEncodingException that will never be thrown is ridiculous:

I also don’t believe that simply switching from extends Exception to extends RuntimeException does anything meaningful in terms of application structure when the catching method is four or five stack frames below the thrower, beyond preventing throws MyException from showing up in your method signatures. If we’re really adhering to the Law of Demeter, writing software on the assumption that a method should only know about the methods of its own variables, of its own class, and of its class’ fields, then most exceptions have no earthly business falling down the stack, particularly across class boundaries. If a method, m, throws an exception, e, then e should be an exceptional circumstance that arose while m was performing its task, not one that arose while m was waiting for a called method in another class to return. I’m willing to grant leniency to private methods, treating the class as a whole with respect to error handling, but simply put, classes should not duck exceptions.

Here’s a facile example:

Clearly, the class designer is a jerk, who deals with NoResultException in the Service but not DatabaseConnectionException.

SomeService knows that there’s a possibility that the call to SomeDao might get rejected if the database connection has failed, because SomeDao declared that this might happen (this is why this is a facile example; any persistence layer worth its salt wouldn’t even throw that), but the getEntities() method is the wrong place to deal with that—it’s really just supposed to be focussed on handling Entitys, not errors. So it says one of two things:

  1. I can’t deal with this; somebody above me will, or
  2. this is crazy enough that the JVM should be able to unceremoniously terminate.

Neither of these options is particularly good. In the second case, application’s users don’t get meaningful error (unless they’re developers), and in the first case, a layer too-far-removed from the database has to deal with the database’s problems. SomeController shouldn’t know that there’s a database, or any kind of socket connection involved at all, when it asks SomeService to getEntities. All SomeController ought to know is that it can call a service that provides a List of Entity instances. That’s it; if something goes wrong in retrieving that List, it shouldn’t be up to the controller to handle that. Realistically, SomeDao should deal wih it, but, like I said earlier, the class designer was a jerk.

This architecture is bad in an extreme way, but it still shows that these classes are tightly coupled. The controller is not only tied to the data-access layer, but to that particular implementation of the data access layer… and all because the service layer ducked the exception, trusting that its caller would handle the problem.

There are certainly less insidious and less ridiculous examples that can be thought of, and probably a lot of counterexamples of occasions when it sort of makes sense to duck across a class boundary. However, I think that these can probably be programmed around with careful (re)architecture that ensures that each class and each method is concerned with doing exactly one thing.

In case you thought this was just about the rules...

Reading up on the wider response to Mackenzie Wilson’s Kickstarter is a really lonely feeling—it seems like the general consensus is that Susan Wilson is a terrible person, possibly a fraudster, ought to have just paid her daughter’s fees, and certainly shouldn’t have used/encouraged her daughter to use Kickstarter to fund it. The more I read, the more I begin to doubt my own point of view, but it’s not out of any sense of actually having been incorrect, but simply that the voices who oppose my viewpoint are incredibly overwhelming.

But then I catch sight of one of the worst of the replies, and I remember just what my viewpoint was.

I’m not passing judgment on the legitimacy of the Kickstarter. I’ve already pointed out that at least one of the arguments against the project itself is clearly unfounded. The fundraising part of the project isn’t even over; if you want to call foul about the project just being about tuition, you really have to wait until it’s clear the finished product—the video game—will never be delivered.

But the active hate and misogyny that’s being unleashed against the Wilsons is, frankly, sickening. Let’s say, just for the sake of argument, that the Kickstarter is an outright scam. The camp doesn’t exist (or Mackenzie isn’t going), and no one will ever see the game or any of the associated swag. Even if that worst-case scenario were, true, it doesn’t change the fact that I want one of those “I code like a girl” mousepads for the office. It doesn’t change the fact that the project is inspiring me to be even more vocal in my support for women in tech.

And it sure doesn’t justify some of these comments. I’ll grant that what’s visible on the Kickstarter thread, as well as the more carefully moderated news articles, is fairly civil. In fact, it’s mostly an argument between various commentors at this point. There’s a great deal of condescension and ad hominem attacks toward Susan, don’t get me wrong, but the actual insults… well, those appear in spades on Reddit. Huffington Post mentions in their coverage that there have been death threats. I grabbed a fairly representative sample. I started out on Kickstarter, then went to Huffington Post, Destructoid, and ended it out on Reddit. Mercifully, I never found the death threats.

What is heartening, however, is this deconstruction of all the arguments against the project, which follows 100% with my line of thinking:

I think some people need a few points clarified.
Point one: This project is not a violation of Kickstarter rules, if you actually read them. According to the KS guidelines:
“A project has a clear goal, like making an album, a book, or a work of art. A project will eventually be completed, and something will be produced by it. A project is not open-ended. Starting a business, for example, does not qualify as a project.”
Mackenzie has proposed a goal of creating a game, and has worked out the project budget based on the training and equipment that will help her do so. Not just for the sake of the training. So clearly, this is not a “fund my life” item.
Point two: the fact that Kenzie is under 18 does not make the project ineligible. According to the KS eligibility guidelines:
“Parents and teachers can launch projects in collaboration with children under 18 only if the adult registers for the Kickstarter and payments accounts and is in charge of running the project itself.”
So, not breaking the rules there either.
Point three: anyone who has been complaining about Susan & Kenzie not ending the project early once the goal was met clearly didn't bother to check this part of the rules:
“If a project reaches its funding goal before time expires, projects continue to accept pledges until the funding deadline. There is no option to end a project early.”
Cancel, yes. End early, no. And really, why should they cancel the whole project just because a few noisy people tell them to? Especially since those same people have already made it clear that they only pledged to be able to post rude, disrespectful and inconsiderate comments, and do not plan to honor their pledges. Perhaps it's worth reviewing what a pledge entails?
Point four: According to the KS Backer Questions section:
“By pledging, you are committing to supporting that person’s project; canceling that commitment is discouraged. If you must cancel, visit the project page and click “Manage Your Pledge.” At the bottom of the next page you’ll see the “Cancel Pledge” button.”
Enough said on that.
Point five: If you are truly still worried about whether this project violates Kickstarter rules, even though they state that projects are reviewed at the start to be sure they meet guidelines, here is what KS says to do:
“If you see a project that you believe violates the Project Guidelines or Terms of Use, the best way to let us know is with the "Report this project" button at the bottom of the project page.”
Funny, I don't see anything in there about faking a pledge in order to post endless comments nagging at the project creator to cancel it, and nagging at backers to cancel pledges.
Point six: because clearly it bears repeating - right below where you need to type in your comment:
“Be respectful and considerate.”
Does anyone need definitions of those terms as well?
And in case anyone is actually wondering:
I am not Susan.
I don't know Susan. Or Mackenzie. But she sounds like a fun kid to know.
I don't plan to cancel my pledge. Because it's a pledge. As in, a promise to support Mackenzie's goal. Not because I desperately wanted to buy a new RPG (though I look forward to seeing what she creates), but because after reading through the project goals & information, and looking at the website for the camp, I felt it was a project worth supporting. I still do.
And if I'm going to be suspicious of anything, it is links to websites that have lots of nasty, hateful information and no actual references except to OTHER websites with nasty, hateful information.
So, please - if you're actually concerned about the project, why not follow the actual Kickstarter policy and contact them directly?
Let's all play nice, shall we?
– Angela Reese

Trigger warning: open misogyny, anti-feminist sentiment, bog-standard MRA bullshit, idle vague threats, comparisons to child prostitution, violent fantasies

  • “This KS was set up by Susan Wilson to cash-in big time USING the dream of her daughter, and by turning it a pseudo-feminist sob story that resonates with naive whiteknights. People fund this KS not because they want the product, they think by throwing money at this KS they fight sexism (when it is actually detrimental to the feminist cause in this case” –Henrik
  • Kenzie is 9 years old and it's against the TOS for someone so young to use this website. The mom is the one in charge of this project and is outing her sons behavior online. To strangers mind you. What kind of parenting is that? She's shaming her own children online and worst of all, profiting off of it!
    The mom is being attacked for multitudes of reasons, all of which are just. Anyone who defends her/supports her behavior is just as guilty as she is for being a scammer/horrible parent.
    Go back to your basement, adults are talking (for the record, white knights never get laid).” –Quellcrist Falconer
  • “I fully expect Susan to go full Anita Sarkeesian now by e-mailing media outlets telling them that she had to take down the Youtube video because of mean comments towards her daughter. That'll skyrocket the amount of money coming to her because internet feminists eat that sort of thing up. It's sad that this is the thing that finally gets me to sign up for Kickstarter which is a great tool for the gaming industry but is getting bogged down by blatantly obvious scams like this. I've been following along at neogaf and a lot of this stuff is just appalling.” –Justin
  • “This was not about it being a worthy cause it was about playing on misandrist hatred of men to make a buck. The bar was set low so that she could pocket all the left over money. She was most likely thinking to clear 100k free with her heinous selling pitch of making her sons demons to get the radical feminist to push her project. As much I like the idea of her scamming non thinking femanazi drone bots its still wrong and should be called out. Let alone the way she is publicly shaming her children over a common children's fight, and for profit at that. This kick-starter is disgusting on so many levels it should make you wretch that this women thought to even try it.
    NO her original paln was to give hats and shirts and mouspads to people. The charity stuff only came when media started to ask questions. She never planned that, it was cause she was getting negative press all the sudden.
    The problem is everything with this project. From how she sold it, to even doing it, to using her children in a disgusting abominable way, without care for the fact she was making her boys out to be monsters with such a charged situation.
    That you cant see that these were wrong speaks volumes about you as a person.” – Brad Donald Lannon
  • “This family is a riot.
    Here's an indiegogo (another kickstarter-like organization) fundraiser from Susan's husband to get his kids off of video games:
    Isn't that precious? One fundraiser to get off games, one fundraiser to make them.
    The mother is successful (glorified debt collector) but exploits her children, throws her boys under the bus (PR stunt) under the guise of gender issues. Her daughter has a facebook (violates facebook terms for not being at least 13, but then again this family is no stranger to violating terms) and plays Mature rated games with strong violence sexual themes (great parenting!).
    This family scams. And this article doesn't even scratch the surface of how shady they are.” – Sof Akins
  • “Susan wins. Internet can't win this fight.
    This woman is not an amateur. She knew how to manipulate the system and get all the media attention she needs.
    This is not about the money, it never was. This is about a woman getting tons of media attention and creating a platform to market from in the future. Look at her stretch goal Keep It Up gear. She's playing this for the long haul.
    She's good at it too, she's smart. Who wants to argue against a 9 year old girl? Even KS doesn't want to touch that. Now she gets to look like a hero for women everywhere and a heroic mother.
    She won. I'm sorry internet, we lost this fight.” – frankderr
  • “Wait what? So because you don't know how to raise your children or even control them after you realize you fucked up bad during their adolescence you decide to do this? Judging by every word you have said about your sons it sounds like they should not live with you because you nor your daughter can live with them.” – prettycoolstory
  • “Sadly, if Kickstarter yanks the "project" now, every crazed feminist on the internet will be beating down Kickstarter's doors with torches and pitchforks.” – Ryanne Cross
  • “More to the point, the industry is not sexist, it never has been, the jobs are there for those who want them, men are just sometimes to willing to sacrifice damn everything to achieve it, hell the owner of Obsidian says his resume ratio is 10 men for every 1 women.
    Honestly this whole crap makes it sound like women are being held down in some insane way when women have never had more rights, more than that and like you said, some of the most important positions and jobs in the world are held by women. This whole women in games, women in tech shit is getting really out of hand, its just a tool now for websites desperate for page hits, ironic that much like feminism the message has become distorted as well.” – Kyousuke Nanbu
  • “It's not the point, but she is super duper ugly.” – Phil Hasenkamp, Iowa State U
  • “I wondered who the fark Susan Wilson is, so I clicked to CNN's profile. “Her 10-year-old company finds out where debtors bank, work and own property--and gets 20% of its targets to pay up.” A farking collection agent is one of the most powerful women entrepreneurs. I don't know whether to be afraid of comforted.” – BarkingUnicorn
  • “I'm going to do a kickstarter to fund a marketing campaign to ruin this woman's life. TV ads in her home down, internet ads, etc. At $500 you can help design ads with me.” – m00
  • “I can see her pimping our her daughter to the highest bidder, if the price was right.” – WhippingBoy
  • “saturn badger: And she is a coont.
    I just want to choke this biatch.....” – shortymac
  • “That whore should have never been allowed to squat to make millions.” – FeminismSucks
  • “We have Anita Sarkeesian to thank for these copycats.She demonstrated that there's money in crowdfunding misandry. Now every unemployed feminazi cunt is jumping on the bandwagon.” – stupefyingly
  • “This is sickening. I have never wanted to punch a woman in the face so badly. Not that I would, this lady is just delusional and sexist as hell” – Nimrod41544
  • “This is really an embarrassment to women.
    That gender is the reason why the request received such an enthusiastic response suggests that feminism has succeeded in convincing society that women and girls just don't have what it takes to overcome obstacles facing us on our own... and that a woman who had the mental resources to reach millionaire status felt entitled to use that system instead of funding her own effort to train her daughter in the area of project creation and presentation shows that even some highly successful women aren't completely divorced from the entitlement mentality that abuses the good will of others to fund their lives... taking it even when they don't need the money. How can we expect to be perceived as independent and self-sufficient when people can point to incidents like this?” – oneirosgrip

Like I said, this has been a really lonely feeling, because in order to try to properly understand what’s going on, I’ve had to wade through a whole lot of crap, and the sheer volume of it has left me doubting myself in a few places. I’m glad there are people like Angela who are fighting the good fight.

Tuesday, 26 March 2013

What's wrong with youth interest?

I wanted to write about ducking exceptions and proper coupling tonight. I really did, but I spent all afternoon (while trying to debug an issue with TeamCity) reading about the Internet Hate Parade descending on a nine-year-old’s Kickstarter.

I’m still reading analysis of the shitshow that was Adria Richards’ firing, and then my Twitter firehose starts getting flooded by reports of further asshattery inflicted upon a nine-year-old girl who wants to be a video game developer and her mother. I try not to read the comments when it’s pretty predictable where the threads will go, but I had to read them tonight. I had to find out exactly what was being said; what was being glossed over by the larger media outlets—and I found that it’s unprintable.

So here’s Mackenzie Wilson, a young girl who’s really into role-playing games, Magic: The Gathering, video games, and wants to learn more about how make them herself. Her brothers, like so many other men, have been shitting all over her abilities and intelligence (though, just to play Devil’s Advocate, I recall how much my own older brother did this to me simply because he was older than me). The Kickstarter is asking for enough money to cover her fees at a game-making camp put on by Towson University, and promises a copy of the game to anyone who kicks in more than $10. The original aim was just the $829 single-week fee (which, I might add, doesn’t include the $519 overnight fee), and as of the time I’m writing this, has already come up with $21 910, since the evening of 20 March. Six days, and she can now afford to go to camp all summer, and then some.

The Internet Hate Brigade has descended on this kid and her mother. Between calls to report the project to Kickstarter (which are going unheeded; her mother has said in a couple of updates that the project has Kickstarter’s full support), the following points are being trotted out to fuel the fire:

  • Kickstarter doesn’t permit “pay my tuition” projects.
  • Her mother is, allegedly, a multimillionaire serial entrepreneur who chills out with Warren Buffett and periodically buys $1500 pairs of shoes, and shouldn’t be asking for money to pay for her kid’s camping trip
  • Her mother has been spamming Twitter with retweet requests (this is actually verifiable)
  • There’s no explanation of what will happen with the overflow.

Of those four points, only the Twitter one is actually, specifically, against Kickstarter’s Terms of Service. The first is kind of academic, I feel—the project is clearly titled, “9 Year Old Building an RPG to Prove Her Brothers Wrong!” When you create a Kickstarter project with a given target, you’re estimating what your costs are. In this case, she knew exactly what her costs would be, and clearly declared what they were. Is it going to tuition? Yup. But if you created a Kickstarter for a project, and knew you’d need to learn some more to pull it off, surely you could use the funding to pay for textbooks, as long as there’s a finished product at the end of it… which there will be in this case.

The second point is a series of allegations that have either all been disproven (Warren Buffett photo was a photo op at a meet-and-greet thing, and the shoes were purchased with roulette winnings) or don’t really hold water against reasoned consideration—being a serial entrepreneur doesn’t mean you have a huge bank account; just that you enjoy the thrill of starting something from scratch and are comfortable taking the inherent risks. As to whether or not she should be helping her daughter create a Kickstarter project… what would her daughter learn if everything she asked for, she got? Instead, her mother is teaching her 21st-century entrepreneurship—come up with a cool idea, go to where microinvestors hang out, talk it up, and see what sticks! This is fantastic!

As to the eventual fate of the overflow money, I have two things to say: first of all, there are a collection of material items you can get for different contribution values, and these material goods have costs. So some of the money will go to this overhead. Second, when you give money to any other Kickstarter that has a given target, and it blows past the original target, do you ask for your money back? Hell no, you understand that it will go to the project runners, to be used for the project. Now this girl has the option to not only learn more about video game design, but also, maybe, pay for professional artists and musicians. Who knows? Maybe it will seed her college fund.

But none of this has been considered by the boys’ club that can’t stand that people want in. Everybody seems to be intent on shutting this girl’s dream down, to what end? I’m sure the most likely justification would be something about “honesty” and “fairness”, but Goddamn it, she has been honest, she’s really not breaking the rules, and the way that the software community treats women is anything but fair. Here’s a girl who’s really keen on a lot of traditionally geeky things, and even though $22K is a pretty cool incentive, the words that have been sent her way are by far the cruelest she’ll have to face until she gets interested in sex (at which point, of course, the full force of our misogynist culture will come to bear on her). If you want to encourage kids to get interested in technology, this isn’t the way to do it.

There’s a cynical part of me that wonders what the response would have been if, all else being equal, it had been her father’s Kickstarter account instead of her mother’s, and if Mackenzie had been a boy. I wonder if the project would have faced nearly the same kind of invective and abuse. While I’m not a psychic, somehow I doubt if there were more boys involved, the Internet wouldn’t be shitting nearly so hard on the project.

Thursday, 21 March 2013

The bullied have become the bullies

I’m willing to give SendGrid a pass in this fiasco. A small pass, only, but Daily Dot is reporting that their hand was forced. Beyond the DDOS attack that they, and Richards’ blog, were suffering, Anonymous is/was threatening the utter destruction of the company if she wasn’t removed, and publicly.

I knew there was something strange about publicly firing her, if even just to try to pacify the trolls.

The threat from the Internet’s favourite band of vandals and vigilantes includes the following details of the plan:

“You [sic] client list has … been obtained by Anonymous. They have already begun harassing your customers. These include obnoxious phone calls, emails, denial of service attacks, online vandalism and defamation, and even real-life harassment.”
“Your financial backers have also been targeted for the same harassment. …If any of your backers have something embarrassing or illegal to hide (sexual misconduct, tax fraud, etc), Anonymous WILL find it (they are good at doing this) and make it public.”
“Real life harassment is an escalation that comes into play based on how long this situation is allowed to play out. It is not affected by the effectiveness of the previous forms of harassment. Even if your customers and financial backers are dropping like flies (or the opposite, entirely unaffected), this will still happen if Anonymous still maintains an interest in this situation. …If some of the more talented members of Anonymous take an interest into [doxing], every employee of Sendgrid becomes a target, starting at the top. For your reference, this is already happening to Ms. Richards as per standard protocol. There are also some interesting information about her dentist that was dug up in the process.”
“However, you do have a choice to make at this point: Do nothing, or publicly announce that Ms. Richards will be fired. The opportunity to stop this growing mob in its tracks before it tries to tear Sendgrid apart is as simple as publicly announcing Ms. Richards' firing. Now, you also have the opportunity to be sneaky about it and just publicly announcing the firing but not actually do it. But if Anonymous ever finds out, they will bring the full fury on you and your company. To put it in perspective, not even secure government websites are safe. If you believe you can tough it out, by all means, do nothing.”

I think it’s safe to say that Sendgrid didn’t have a choice in the matter.

They did, however, have a choice in what words to use when they announced Richards’ dismissal, which means that despite the reality that they had to sever their relationship with her, writing the following in their public blog continues to send much of the same message that I decried earlier:

“A SendGrid developer evangelist’s responsibility is to build and strengthen our Developer Community across the globe. In light of the events over the last 48+ hours, it has become obvious that her actions have strongly divided the same community she was supposed to unite. As a result, she can no longer be effective in her role at SendGrid.”

I don’t believe for a minute that Adria Richards divided the developer community. The developer community is already divided, because large numbers of men think nothing of making sexually suggestive jokes in a crowded conference hall. Large numbers of men think that a person who’s been offended by sexually suggestive commentary at a professional event should discuss the issue quietly, and not make a fuss. Large numbers of men believe that Human Resources department policies regarding indirect sexual harassment in a professional setting are stranglings of their free speech.

The software developer community is rife with sexist comments, and sexist thinking. Richards didn’t create a divide, her actions exposed it. The CEO of SendGrid “supports the right to report inappropriate behavior, whenever and wherever it occurs”… but clearly, only as long as it’s kept quiet.

To say that the Internet has exploded with hatred really doesn’t quite do the reality justice.

Let’s review:

  1. A woman—a woman of colour, at that—embarrasses a man for making sexually suggestive comments in a professional setting.
  2. The man is chastised, and apologises, presumably in earnest.
  3. His employer fires him for making these comments.
  4. The public isn’t told specifically why (perhaps this wasn’t his first offense, perhaps it was, we’ll never know, and his employer isn’t accountable to any of us), but he publicly accuses his accuser of getting him fired.
  5. Men across the Internet rally around his cause, and begin attacking her for daring to publicly call out inappropriate comments made in public. Every terrible word you can think of to describe women, and women of colour, is used.
  6. /b/ hears about it, and begins a campaign of harassment, demanding that she be fired in retribution for, ultimately, an HR policy violation firing.
  7. Vigilantes get in on the campaign, and attempt to destroy the woman’s employer, and everyone associated with them, unless she is fired.

This is not the behaviour of an inclusive, welcoming group.

This is the behaviour of a group of misogynists, who are frightened by the thought that the power relationship that they have historically always enjoyed over women (and over people of colour—the English-speaking software development community is not only overwhelmingly male, but overwhelmingly white) is in jeopardy.

I don’t recall where I originally encountered the thought, but it’s becoming more and more clear how true it is, the longer I look around—the nerd community wasn’t born out of a spirit of inclusivity. The community was born in an effort to exclude those who had previously excluded its members—a spirit of “fuck you, now we’re the cool kids.” The community at large claims to be more evolved than the cool kids who rejected them, but that simply isn’t true.

We’re a tribe of hurt little boys, who only ever learned to hurt. When we were overwhelmingly in the minority, it was a support group, and there was no one to hurt. But we never got over the pain of rejection, and we never learned how to rise above the hatred that forged the community.

But now we’re a pop culture, and we don’t know how to deal with that, other than the only way we know how—by lashing out at those who say they don’t like what we’re doing. And those who are most inclined to lash out have the means to do much more damage than a playground fistfight.

This week has dealt a huge blow to the feminist cause in IT, because the public perception of developers being misogynists, and of the community being a boys’ club, has been dramatically reinforced. I’ve seen all kinds of comments confirming that the comments made at PyCon are by no means unusual, or that Richards is alone in finding them highly inappropriate. But for men to demand that women interested in STEM fields simply accept that ribald comments are just part of the environment only serves to keep highly talented women out, because they don’t think having to put up with their colleagues’ shit is worth it.

Regardless of what you think of Adria Richards, or of the picture she tweeted, I would like to think that we can all agree the technical community as a whole needs to stop the cycle of revenge.

Wednesday, 20 March 2013

This is not a meritocracy


An hour ago, SendGrid publicly announced Adria Richards’ termination. They say,

While we generally are sensitive and confidential with respect to employee matters, the situation has taken on a public nature. We have taken action that we believe is in the overall best interests of SendGrid, its employees, and our customers.

In other words, they heard the thousands, if not millions, of people calling for Richards’ termination, and delivered. In an effort to do… what? Save their customer base? This is a hell of a message to send—if you embarrass a man for making tasteless jokes at a technical conference, and he gets fired and complains about it, we’ll throw you to the wolves.

The joker’s behaviour at the conference earned him disciplinary action (whether or not he should have been fired or given sensitivity training is academic)—he was acting as a representative of his company, at an event they had sponsored. Necessarily, he should have been on his best behaviour. Richards was probably representing SendGrid as well, insofar as SendGrid probably paid her to be there, and it was probably all over her nametags—and she may have been wearing company gear too. However, what was Richards’ offense? Saying “that’s not cool” loudly, really.

Rather than go to bat for Richards, and say, “we believe that the software industry is best served by a culture of universal respect, and we don’t condone anyone making inappropriate sexual commentary in the workplace or at a technical conference,” SendGrid has sent the message that they don’t have their employees’ backs. That they either don’t believe that the industry is rife with misogyny, or perhaps that they don’t think it’s a bad thing, or maybe just that it can’t be fixed.

I don’t hold with any of this. I believe that the misogyny that pervades this industry must be confronted head-on. New hire sensitivity training that says little more than, “don’t make dirty jokes around girls” is staggeringly insufficient, and if Human Resources requires this training, then everything that company does in public must reflect the beliefs that that training espouses.

SendGrid has told the world that they believe offensive jokes are okay in the workplace, and that if you call it out, you will be silenced.

Is my calendar right? Is it 2013, or 1963?

This week is a bad week for how I feel about my gender.

We got an early start on Sunday with shockingly insufficient sentences for a pair of teenage rapists, followed up by horrifying apologia from, well, all the major news outlets, CNN included. I’m not going to comment on it here, but I will suggest that you read I Am Not Your Wife, Sister or Daughter, a fantastic article (that my wife Anne wrote) that’s getting a fantastic amount of coverage. She’s absolutely spot-on when she points out that we, as a society, really need to stop trying to humanise rape victims to rape apologists by suggesting, what if it was your wife? Your sister? Your daughter?. It’s not just objectifying, but it also reinforces your audience’s misogynist worldview.

I could really get into it, because it makes me mad… but the way that the professional software community is treating Adria Richards—and, by extension, every woman in the industry, has got me so upset I can hardly see straight.

You probably know where I’m going with this, but let’s review the facts, shall we?

Richards publicly shamed two attendees for cracking sexual jokes about, among other things, “forking his repo” after a suggestion that forking is the highest form of flattery. I understand the pair of them were going on for quite some time, and the PyCon organiser dealt with the situation privately, and the guys were chastised for their behaviour, and that seemed to be the end of it.

Until when they got back to work, when at least one of the pair of jokers was fired. He then posted a strange apology that suggests that he believes Richards was trying to make that happen. Richards sent her own public apology to him and urged his employer to reconsider their decision.

Regardless of this, the male developer community has worked itself into a mouth-foaming rage. People are specifically calling for her dismissal, and there was at least one suggestion that the guy who was fired should sue her. There’s a whole host of men insisting that “dick jokes aren’t harassment”, as though sexual harassment can only occur through individually-directed comments. I’ve lost count of how many people are suggesting that Richards’ fragile female sensibilities caused her to overreact to a “private joke” (one, I’ll point out, was told in a crowded conference hall, and thus is anything but private, unless it was whispered directly into the other person’s ear).

Virtually every comment I read on the thread following the non-apology is coming to his support, and attacks Richards.

Virtually every commenter seems to believe that a man’s desire to make offensive jokes in a public space, while representing his employer, somehow trumps every other person’s basic right to be in a room without being made to feel uncomfortable because of their race, gender, religion, sexual preference, or even no reason at all. That bad jokes are somehow sacrosanct, and that people who are offended by them should simply “grow up and get over it.”

Look, this isn’t the way adults, and professionals, are supposed to talk to each other. This isn’t the way the developer community constantly tries to describe itself to outsiders. We insist, adamantly, that everyone is considered equal, and that the developer community is a meritocracy above all else.

This is, unfortunately, not the reality. Women have never been afforded the respect they deserve within this industry. RADM Grace Hopper invented the compiler, and assembly language, in order to make programming that little bit easier than having to remember and decipher opcodes, and her male peers couldn’t possibly have taken her less seriously… but because of her, I don’t have to have any idea what the x86 instruction set looks like in order to do my work.

And yet marketers at computing events like CES and E3 continue to hire booth babes—in other words, human furniture to make their booth look good. I’ve read of women who have produced games, who later staffed the conference booth for the game, and tech reporters asked her to get the producer, or technical director, as though the idea of a woman being responsible for creating something as complex as a video game was a foreign concept.

I’ve worked in a variety of companies, some larger and some smaller. But the reality is that I’ve worked with far more men in technical roles than I have with women, and that, invariably, when there haven’t been women in the technical group, it’s turned into a boys’ club.

This is unacceptable. The current software developer community is openly hostile to women asking to be treated like human beings, and this shit has to stop. You wouldn’t make racist jokes at a conference (or would you?), so what makes it magically okay to make jokes that objectify sex, and women?

Right, nothing does, because it’s not okay.

It’s not okay to compare an object to a person’s body. It’s not okay to compare a development process to sex. It’s not remotely okay to tell someone who says, “I’m offended”, that nothing offensive happened, and that they’re overreacting.

And it isn’t fucking okay to make death threats against a person who called out inappropriate jokes. Yes, this happened. Yes, the post has been deleted. Yes, I hope YCombinator does the right thing and assists the police in any investigation that might occur, and yes, I hope that investigation happens.

Finally, it’s not even a little bit okay to attack someone for acting on having been offended. That someone got fired for making inappropriate comments while representing his company at a conference shouldn’t be remotely surprising.

Technologists really need to start showing each other a lot more respect, because right now, it really feels like we don’t show each other any.