Technical recruiting is broken.

Sigh.

Three weeks ago, I went to a UC Berkeley career fair and dropped off a copy of my resume with a certain startup. I’d put a lot of effort into selling myself with this particular resume, and trying to stand out from the crowd (most of the attendees were undergraduate CS majors–most probably with better technical chops, but little to no real-world experience, sense of design, or communication skills). While I was at the fair, I had a nice chat with the startup guy there about the company and web development and Python and I figured I had a pretty good shot.

Payoff! The next day, I received this email (a few bits redacted):

Hi Karen,

Our engineers really enjoyed meeting you at the career fair yesterday! (Also, I have to say that I love the graphics on your resume, and the “But wait! There’s more!” :))

You definitely stood out from the crowd as one of the most talented engineering students and we think that you would be a fantastic contribution to the future of (Startup).

I would like to schedule you for a 45-minute Skype interview with an engineer next week. What is your availability Monday, 9/26 through Friday, 9/30 from 10:00am – 5:00pm PST? What is your Skype user name?

I will forward your availability to our recruiting coordinators, (John) and (Jessie), as soon as I hear back from you and you will hear from one of then them shortly after confirming the date & time for the interivew.

If you have any questions regarding the interview process or (Startup) work life, please feel free to contact me at (Jane)@(Startup).com.

I look forward to following up with you ASAP after your Skype interview next week!

Thanks & have a great interview!

(Jane Smith)
(Startup) Technical Recruiter

“One of the most talented engineering students”. What. I suspected that they were just mistaking pretty-and-organized for competency, but even so, my ego was fit to burst. Huzzah! Maybe I could get a job I’d actually enjoy, with a cool company, that could pay me enough money to pay back my student loans! I was super excited.

But then I actually had the Skype interview. Despite the fact that I was applying to do front-end web development work, my interview was with a backend engineer. And instead of talking about the web projects I’d worked on in the past, or anything relevant or interesting, I got grilled with the so-standard-it’s-frickin’-trite Computer Science questionnaire.

Things I was asked about that have little or nothing to do with being an actual web developer:

  • Red-black trees.
  • Multithreaded processing in CPUs.
  • Different types of sort functions. (I was like “I sort of remember learning about that stuff seven years ago, but I program in Python. I just use the sort() method and assume Python knows what it’s doing.”)
  • Lots of Big O questions.
  • The difference between a linked list and an array.
  • SQL queries. (Well, that could be relevant, but I’ve always used Django or another ORM so I don’t really know any raw database stuff.)

One of the questions seriously started with “In a language such as C++ or Java, how would you…?”. If you read my resume, or know anything about me, you know I don’t *do* Java. (Well, I did some Java when I took a couple CS courses in college, and hated it, and notably chose not to major in the subject. But that was seven years ago.) I do *Python*. (And HTML/CSS/JS/RoR/BBQ.) Which I mentioned, and then answered the question Pythonically.

It wasn’t that I couldn’t answer the questions. It happens to be the case that I *have* taken a couple traditional CS courses, so most of them I could at least fudge by on what I remembered from seven years ago and from INFO 206 last year. But answer or no, none of it had anything to do with the actual, real web apps I’ve coded and contributed to over the last two years, and yet it was the standard by which I was judged.

I emailed back the startup today to ask what my status was. Five minutes later I got a rejection email. In that phone interview, I went from “A fantastic contribution to the future of (Startup)” to useless reject in forty minutes flat. Because I don’t remember hardly anything about bubble sort or merge sort and frankly don’t give a rat’s ass.

So now I don’t even know whether or not to bother applying for other web developer jobs. I’ve seen this perfunctory pop quiz on CS canon before–I got another version of it when I interviewed with Google and another (stealth) startup last year. It’s likely that *anywhere* I apply, I’m going to be subject to that test, and more importantly, companies will judge my ability to do the job based on it. Not on, say, my documented open source software contributions or web app projects for class or PyCon speaking or experience teaching Python and web programming to newcomers. That would be silly.

Maybe I should just discount all my technical experience and re-enter the job market as some “UX/interaction designer” / “web designer” / “product manager” weenie. Then it’d be easier for companies to classify me. (And also pay me ~$20k less to do nearly the same damn job.)

I am a *programmer*. I am not a fucking computer scientist. It’s utterly disheartening how many Bay Area tech companies can’t tell the difference.

If you believe that there’s a shortage of programmers and other technical workers right now, consider to what degree your recruiting process assumes that the “best” applicants fit the stereotype of a dorky computer science major who’s been coding since he was 10 and solves Rubik’s Cubes for fun and thinks that job ads calling for “rockstars” and “ninjas” aren’t utterly puerile and inane. (And let’s not even get into how age, race, gender, and culture stereotypes feed into this.)

  • Alan

    Sigh. I’m sorry to hear that they paid so little attention to your resume.

    I am becoming more and more of the opinion that doing well on a technical interview and doing well at a day job you can only get from a technical interview are unrelated skills that aren’t well correlated with each other. I don’t know how to structure the interviews differently, though.

    If you’re set on doing Python and web stuff, perhaps you’d have an easier time with the interviews if you focused on companies that only do python and web stuff. I don’t know how easy those are to find, though.

  • http://www.nosve.com Karen

    Alan: The company in question is a well-known web/mobile startup, and nearly all their code is Python (though not Django-based, alas).

    And I even told the engineer I interviewed with that I was interested in doing front-end development, and he was like “Yeah, the front-end team is really fun and close-knit. I don’t work much with them, though.” *facepalm*

  • http://Jlzych.com Jeff

    Yes! This has happened to me numerous times and really pisses me off. I’m not a fucking computer scientist and don’t give a shit how to implement merge sort. Sort() is all I need, because I fucking get shit done. Like you said, it’s so frustrating because these questions have absolutely no relevance to whether you can actually perform the duties of the job.

    I’m having this same marketing issue – yes I have coding chops but I dont need to be subjected to your fucking CS quiz to prove I have the talent to work for you. Why do most employers seem to not understand this?

  • Kyle

    Interviews, especially screening interviews like that one, are a crapshoot. There’s no guarantee that you’ll be talking to someone who shares the specialty you’re trying to sell, and the smaller the company, the less likely that is. I’m the sort of geeky computer science goon who would have loved to answer the questions you had, and the process of applying for a suitable job sometimes ends up just the opposite. “How much do you know about Joomla?”, “If you were a household appliance, which one would you be?”, or my favorite all time interview question, “We tend to have a lot of problems with Outlook around here, do you–”

    That cuts off about halfway because that’s the point at which I politely interrupted to run screaming into the night, discarded Rubik’s Cubes and desperate wails of dismay trailing behind me.

    As for the reason you get a pop quiz no matter where you go, Jeff, the reason is that CS/MIS education is still ridiculously new and notoriously unreliable. It’s a significantly better scene than it was, say, ten years ago, but a lot of people in the industry remembers hiring candidates with Bachelor’s and Master’s degrees who had absolutely no idea what they were doing. Portfolios are no better a confirmation of your skills than degrees, since they have no way of knowing that’s actually your work. They’re worried you’ll waste their time and money. One way to bypass this problem is to offer to work for free for a month, which has worked for me before. They didn’t take me up on that offer, but they hired me outright, noting that the confidence had impressed them.

    Anyway, don’t give up just yet. You’re obviously capable, so it’s just a matter of time before you land a solid interview (or bypass them altogether–recommendations are so much better than screening interviews, if you can get them).

  • http://www.nosve.com Karen

    Kyle: Hah — oh God, Outlook.

    I mean no disrespect to actual computer scientists–a large proportion of my friends were CS majors, and my sister’s a math major and also likes that sort of thing. I just lack the patience for it. :P

    I can imagine it being equally frustrating for a CS major to be asked to e.g. write a simple CRUD web application who had never done any web programming… “Well, I could easily build one that works locally on the command line, in three different languages, in the fewest lines of code possible…”

  • http://www.jessicaledbetter.com Jessica

    +1

    I have a CS degree but graduated about 10 years ago. I’ve used Big O in my web development 0 times but have been asked about it in interviews. Also, I’ve been asked to build [insert data structure here that I last used in undergrad for a programming contest]. And a score of other things that I feel would be easy for someone just graduating.

    I have had some amazing interviews though. Some were about what I’ve done with open source and some seemed to like that I’m a generalist with <3 for front end.

    Let's get amazing jobs and rewrite the interview process!