...[W]hen I asked about internship opportunities, the company representatives said no right away, or, assuming I was a CS student, asked me “What year are you?” When I told them I was self-taught, I was out. Other companies just wanted me to sign up for their newsletters, just a cheap marketing strategy, or a way of being nice. People weren’t interested in reading my CV. Out of thirty copies I had printed out, I gave out two. Some people advised me straight away to try “one of those programs designed for women.” They didn’t even listen to me. They saw that I was a woman, a beginner, looking for an opportunity to learn, and clearly not someone they would want to hire.This first point is an important one, and speaks to how firms find and acquire programming talent. The people at job fairs are infrequently actual hiring managers; such people are too busy doing actual work to be bothered. So who do you find at such events? Human resources types, who are most emphatically not programmers. This is, in fact, a great example of why most of them should be fired: they simply are incapable of their jobs outside filling out checkboxes and keyword searches. (That companies persist in this behavior is utterly baffling.) And determining the difference between a good and great coder can mark the difference between success and failure; the order of magnitude of productivity differential between the merely competent and the genius has been long documented.
From my own experience, good and even great coders can come from a variety of backgrounds, not just people with computer science degrees (although that does help). I've known programmers who were film majors, communications majors, business majors, physics majors, math majors, and some who didn't even have a college degree. The best all had an ability to achieve a state of flow on the job, to see inside problems, an analytical mind married to a creative streak, and the tenacity and discipline to complete projects. And none of this has anything to do with credentials, academic or otherwise.
Which is to say, I have some sympathy for author Anna in this instance; she fights an unseen host, a bureaucracy at odds with not only her own quest to find gainful employment, but with their own companies, as well. The game is rigged against the uncredentialed. The checkbox mentality of human resources is itself a lazy way of distributing the task of hiring programmers — arguably the most important single decision a software shop can make.
But my sympathy for her plight ends there. Apparently, having any kind of requirements at all for programming interns amounts to sexism:
Being self-taught is accepted and even highly respected when you’re a white male. If you are a woman or belong to other underrepresented groups, it’s totally different. Besides being experienced you need to have a blog, website, GitHub account and contribute to open source. A recruiter once told me that if a candidate doesn’t have all of those things, they wonder whether that person is really willing to learn. That statement made me angry – who came up with these requirements? And who benefits from them?I'm guessing, people who actually hire programmer wannabes?
Why don’t I have a blog, or my own website? Because there’s so much harassment going on nowadays that I’m actually scared to put my thoughts on the internet.Hey, newsflash: in an actual working software development shop, you will have to propose and defend ideas from harsh criticism. I know, it's not fair to point this out, but I have had pushback on one issue or another my entire professional career. I did not crumple on the floor like a vase of wilted posies; I argued and won, or lost, and moved on. What this really exposes is an overarching sense of entitlement — hey, I have the right to never be offended or hurt — and a painful lack of resilience.
That is to say, this is not someone you want on your dev team.
Why don’t I contribute to open source? Because I tried, and people were unwelcoming and even cruel.Hm, I think I've heard that before. Yes, it's true that open source is rife with people who refuse to suffer fools (and individual definitions of "fool" can be the subject of much heated controversy), not to mention have a distinct lack of tact. But neither is everyone Richard Stallman or Linus Torvalds. My advice here would be, find an itch and scratch it, i.e. start your own project. (Of course, another possibility might be, you're just not that good. Gross incompetence gets found out pretty quick when it's on public display.)
I do have a Github account. People expect you to have one, so they can see that you can “actually code.” But while your GitHub account shouldn’t be your resume, a lot of recruiters think it is, even though I am more than my GitHub account or resume. I organize free programming workshops for women. I run an interview series about women who code. I try to learn new things every week. Just because I don’t have my own blog, don’t contribute to open source and don’t own fifty GitHub repositories doesn’t mean I’m less driven, can’t code, aren’t talented, aren’t willing to learn nor willing to share my knowledge.There's enough entitlement here to drain a trust fund. First, you should be grateful that a potential employer wants to see your Github code; its presence alone means you've cleared the first hurdle. Second, I thought you wanted to be a programmer, not an organizer of seminars. Who gives a damn about that? I mean, it's nice and all, but what value does it add to a potential employer? They are supposed to hire you to write code, so why do you object to showing that you can? And actually, yes, your Github code is the strongest part of your resume: it is what your employer wants to see. What does your code look like? Is it well structured? Does it contain meaningful comments? How do you approach decomposing a problem? What is your approach to unit testing (and if you don't, what the hell is wrong with you)? There's simply so many questions your code can answer that an interview will necessarily miss, it's outrageous for her to take this tone. I have to conclude that this is a person who simply isn't as into coding as she claims to be. Why so defensive? I think we're about to find out:
And trying to live up to the expectations of recruiters means I mainly do what I would call “resume driven development” in my free (and unpaid) time: I work on things that would look good on my resume, that people would like to see, that “prove” that I can code, not things that I actually really want to do or enjoy.Okay, well, then. Speaking as someone who worked for the better part of a year, uncompensated, on a project that later became an interesting (and remunerative) day job, let's unpack this nonsense: it's really saying I don't like programming enough to do it for free. There are an awful lot of opportunities out there that start as unpaid gigs which later turn into full-time employment. And the fact that she declines to actually work in her free time on skills that would be useful to prospective employers tells me a whole a lot more about her bad attitude than it does about those mean old employers. Her inexperience and apparent refusal to better herself (because the work isn't intrinsically rewarding on its own) are, in her warped view, really manifestations of sexism:
My boyfriend at that time was an experienced software developer, with two CS degrees. He attended the job fair with me — he wasn’t looking for a new job, just supporting me and scanning the market to see if there were any interesting opportunities. His resume was great, he got several job offers, people wanted him. My best shot at scoring an internship would have been if he had made a deal with a recruiter: he would accept their job offer, but only if they gave me a chance as an intern too. It’s a humiliating experience to witness that people have so much respect and admiration for an experienced male developer, but there’s no place for you because you’re female and a beginner.How many years had he been writing code to get to that place? Did he do it for free? In high school and college? (We know the latter is definitely true.) In which case, wasn't he paying for the privilege to write code? Instead of bucking up and learning what employers demand, she insists they should pay her for what she knows now, regardless of whether it's a good fit. Inexperience: it's the new sexism.