[A picture of private offices at Fog Creek Software] Alert! This ancient trifle retrieved from the Joel on Software archive is well-past its expiration date. Proceed with care.

Joel on Software

Processing Internship Applications

by Joel Spolsky
Friday, February 10, 2006

The senior developers at Fog Creek are spending much of this week evaluating the 400+ applications we received for our five available summer internships.

We got about half as many applications as last year. This is mainly because we were careful to keep our job listings off of Monster.com and eRecruiting. I'm not 100% sure of this, but it seems like when you post an internship to Monster or eRecruiting, candidates can apply for that job simply by clicking one link. As a result, last year we got flooded with seriously unqualified candidates. This is not just Joel Being an Elitist Snob. I'm talking about people whose only experience was working at Dunkin' Donuts and who had no programming experience.

We did get a lot more good applications. Really good applications. Not just kids from Indiana. Students from all over. Illinois. Missouri. Well, OK, maybe not Missouri. Missouri is crazy talk.

During the first stage of evaluating resumes, we go through looking for six objective things (I won't tell you what they are) that we think are good predictors of success. Each candidate gets a letter code indicating which of these six things they have, for example, ADF or BCF or ABCDEF. Again, these are all just things that you can tell objectively from a cover letter and resume, so there's not too much controversy at this stage.

The system is designed to be flexible, so we don't just rule people out because they didn't go to the right school or get the right grades. When we find a candidate who is officially missing something, but who looks like a great candidate for some other reason, we add some + signs... someone who doesn't have E or F but who has a really good excuse and looks "smart/gets things done" might get ABCD++.

That said, we're not going to tell a student with perfect grades from MIT or Stanford or Rose Hulman to take a hike just because "grades aren't everything."

When we finished that process this afternoon it looked like we had 60 candidates with either 5 or 6 scores (which we consider "equivalent within a margin of error"). So the next stage is whittling down that list of 60 to about 30 that we can phone interview. For this whittling phase, each cover letter and resume is scrutinized by three senior developers. They assign a score of +1 ("I want this person"), -1 ("Unlikely to work out"), or 0 (indifferent) to each candidate. Here it's a lot more subjective, but when you're looking at a small pile of resumes sometimes you just know who the great ones are and who the good-on-paper ones are. When we add up all the scores for each candidate, they end up with a number between -3 and 3 and we simply sort by that number and then work down the list in numerical order until about 15 have passed a phone screen.

The phone screen stage takes between half an hour and an hour. Anyone who gets through that gets flown out to New York City, all expenses paid including up to three nights in a luxury hotel, and goes through the wringer in person.

Elitist, Arrogant Bastard

Some people feel like our process is elitist, or arrogant, or overkill. I've heard comments along the lines of "why do you need such superstars for writing a [holding nose] bug tracking application?"

Well, part 1. It's not my fault that 400 people applied. Well, OK, it is my fault: we have free housing, lunches, Broadway shows, unlimited free subway passes, high salaries, a boat trip, a Yankees game, two parties and a walking tour. But once all those students applied, it's the least we can do to consider each application with the utmost care and fairness, and give the internships to the people we think have the best chance of working out well, for them and for us.

Part 2, if you think Fog Creek is still about bug tracking applications, you've lost the plot somewhere. Last summer's interns developed Copilot.com, pretty much all by themselves. Copilot is our fastest growing business.

Our FogBugz team spends a lot of their time these days doing Ajax development. Our newest hire Stefan is developing a pretty shockingly sophisticated automatic testing system and actually needs Don Box books to get his work done. When you work on FogBugz you're just as likely to be working on Thistle, our Java-based VBScript compiler (which now emits two things: PHP and a form of VBScript with tracing information built in for testing code-coverage tracking).

And finally part 3, when you hire superstars you make a lot of money in terms of revenue-per-employee. That means we can have cushy private offices and high-end workstations and Aeron chairs without running out of money.


... I'm still not happy with the traditional "cover letter/resume" system, because it discriminates against the non-traditional, and many of the most brilliant programmers and software developers I know just look awful on paper. Adam Bosworth likes to make fun of me, because he majored in, oh, I don't remember, History? Whatever, and he says to me "you never would have hired me, or Anders Hejlsberg, etc..." because supposedly Adam and Anders are lacking in the "ABCDEF" qualifications on my list, but actually, that's kind of absurd, because of course we would hire Adam and Anders to work on our stinkin' bug trackin' application if they wanted to, and in fact, when we started Fog Creek, one of our actual real-life business goals was "to create a company where someone like Adam Bosworth would want to work."

He's at Google, now, by the way.

I don't really think we can reinvent the application process. A couple of years ago we asked interns to submit writing samples (like a paper from any class), recommendations from professors, and transcripts, but we found that they gave us no additional information we didn't already have.

Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.

About the author.

I’m Joel Spolsky, co-founder of Fog Creek Software, a New York company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make Trello, easy web-based collaboration software, FogBugz, an enlightened bug tracking and software development tool, and Kiln, a distributed source control system that will blow your socks off. I’m also the co-founder and CEO of Stack Exchange. More about me.

© 2000-2014 Joel Spolsky