Earlier this year, I attended a job fair at a big tech conference. It was my first time ever attending a tech conference, and my first time looking to get a programming internship. I was nervous but optimistic. I spent a lot of time working on a good CV, printed business cards, and prepared what I would say to recruiters. I thought: at such a big conference, with a variety of companies present — many looking to hire more women — it shouldn’t be so hard to get an internship, right?

But when 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.

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.

Who Gets To Be Self-Taught?

Photo CC-BY Flazingo Photos, filtered.

When people told me it would be hard to be a woman in tech, I didn’t believe them. After all, I studied Catholic theology, and if you’ve ever attended a theological conference or looked at job opportunities for women in the church, you know that it’s a tough business for women.

The paradox is, while there aren’t many job opportunities for women in the Catholic church, it’s fairly easy to find an internship/learning opportunity. On the other hand, there are a ton of tech jobs out there, and statistics say that the demand for good developers will keep growing… but the requirements to find a simple internship or hands-on learning opportunity are ridiculous.

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?

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.

Why don’t I contribute to open source? Because I tried, and people were unwelcoming and even cruel.

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. 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.

Getting the Internship

Photo CC-BY Christian Schnettelker, filtered.

People say one way to break into this industry is by interning. But there are only a very limited number of internships accessible for people like me, and by people like me I mean self-taught women, without a CS degree, who fell in love with programming and are trying to build a career in the field. Many companies only hire local CS students, or just offer summer internships. And with free labor being so normal in the tech industry, it’s rare to find internships that are paid… and that’s sad considering how much revenue tech companies make. For paid internships, the company most likely only wants to hire really good, experienced and talented people, only using the title “intern” to justify paying a lower wage.

If you can find a company that offers internships for non-students, the application process is intensive: Filling out long forms, answering a million questions, creating and uploading videos of yourself to YouTube, phone interviews. Many companies and programs ask you to contribute to one of their projects as part of the application process. Perks for them: they get lots of people to work for them for free. Perks for you: you learned something… if you’re lucky.

If you make it past the first round of reviews, there’s almost always a technical test. Sometimes this means live coding on Skype, sometimes this means doing an online test. One company told me that the test was just a part of their application process and wouldn’t be taken into account much. They also told me to prepare for a certain topic in order to succeed. The test ended up being about something totally different. I failed, and I was out. Recruiters often seem to enjoy playing mind games and tricking you into failing.

If you do make it through the technical test, many companies require you to do a full day of on-site tests, including pair programming, fixing hard bugs, refactoring applications, designing an API, web interface or distributed system, and all of that while people watch you the whole time. Please remember that we are talking about an intern position and that most people who apply for those positions might have never gone through such a testing process. The tests are tough and usually they are the same for interns and full-time employees. Companies even pride themselves with that fact.

Sorry, but that isn’t only unfair, but it’s also nothing to be proud of, that you didn’t take the time to design separate interview processes for different positions. Even more so by doing that, you make people feel inadequate and discourage them from trying again. Nowadays you aren’t interviewing for a simple internship position anymore, you are interviewing to be a future employee. Companies consider it useless to hire you as an intern and mentor you if you are of no value to them and don’t bring them profit later, but they forget teaching people is always of value. The CEOs, CTOs and managers forgot that they started out small too. And the companies who claim to do so much “outreach” and “diversity work” are the biggest liars.

The Problem With Coding Academies

Photo CC-BY Michael Himbeault, filtered.

Coding academies are a new way to get into the tech industry, offering hands-on learning opportunities – meaning not learning from websites like Codeacademy, but from real people. And yes, there are a ton of developer bootcamps but they are ridiculously expensive. I don’t have the $15,000 plus living expenses for three months just so that I can attend. Ultimately, the new market for developer bootcamps just means a new way to make money off people.

Tech jobs are the future and there are a lot of people who pursue them. People say that you should do anything to make it financially possible, because they guarantee you that you will find a job with your new skills. That isn’t true. Some people find jobs immediately afterwards, other people are still unemployed after graduating bootcamp.

There is so much money in the IT industry. It wouldn’t be so hard to establish bootcamps and let people learn for free so you can hire them afterwards or actually hire them as interns and mentor them, turn them into good developers. I wonder if this is all a big conspiracy: Companies don’t hire interns so people are forced to attend a bootcamp if they want to make it in the industry. The bootcamps make profit and the companies don’t actually have to take the time to teach people themselves. Genius!

Even programs that are free to attend aren’t accessible for everyone, and that saddens me. Either they only accept US citizens because they can’t (or don’t want to) provide visas, or it’s something as simple as the requirement to own a MacBook that makes them inaccessible for me. Most programs are only accessible to students: preferably CS students, rich people or people with good connections. The rest of us are left behind.

Conclusion

I recently asked someone who is big in the programming community and teaches programming classes if he offered scholarships for his week-long classes, which cost about $2000. It certainly wouldn’t hurt him to give one spot in one of his classes to someone like me, for free or a lower price. I never got an answer.

Companies keep saying they want diversity, but the choices they make continue to alienate diverse candidates. Stop lying to us! If you really want diversity then take action: change your hiring process, change your ridiculous requirements. Actually think about them, if they are really necessary, if people (and your team!) actually benefit from them. CTOs, CEOs and managers out there: think about how you started out, how much you had to learn and how much you didn’t know, how long of a journey it was to get to where you are today. Create mentorship programs for people like me. Make tech education affordable and accessible to everyone. Hire self-taught women, hire people who are willing to learn. Hire passionate people. Give even those people who don’t have the best coding skills yet a chance.

Only in a diverse environment people can learn from each other and make progress.

I’ve felt like giving up many times, but I’m not going to. This is my dream. I still believe that there are good programs and good companies out there who will see more in me than my resume, who will see my passion for coding and helping other people. I haven’t found them yet, but I will keep on searching.