The Phone Screen

November 1, 2007

It happens all the time: we get a resume that everyone thinks is really exciting. Terrific grades. All kinds of powerful-sounding jobs. Lots of experience. Speaks seventeen languages. And brings donuts every day!
Look! donuts!

And then I call them up, and I can’t stand talking to them. Within ten minutes, I realize they are not going to make it as programmers. I’ve had people with great resumes tell me a pointer should fit in one byte. Sometimes they just can’t answer the simplest questions, or you feel like you have to wrestle the answers out of them. Don’t get me wrong, I like to wrassle as much as the next guy, but not on the phone.

Before moving on to a full-fledged in-person interview, we usually use a phone screen to make sure that we’re not wasting our precious, precious time and money on someone who is just seriously not smart.

A phone screen has distinct advantages over a normal in-person interview. First, it’s cheap. It takes 45 minutes to an hour and actually does eliminate about half of the people who looked really, really good on paper. Second, I can play solitaire, watch porn or just take a nap during the interview.

Most importantly, it’s more fair.

With a phone interview, because you can’t see the person, it’s easier to focus on the quality of what they’re saying rather than other external factors not relevant to their job, like their appearance, or their nervousness. Ever since Malcolm Gladwell wrote Blink, I’ve been terrified of the prospect that we might be judging candidates too quickly based on things which are not relevant to their ability to do their job—their appearance or confidence or height or general nerdy demeanor might make us way more apt to look on everything else that happens during the interview with rose-colored glasses.

During the phone interview, I’ll drill down on two kinds of things: technology and politics.

Technology. If someone tells me that they implemented such-and-such a project, I’ll ask detailed questions about the technology they used and how they used it; if I know little to nothing about the technology, I will pretend that I do and use really long sentences and be extremely verbose when talking in order to intimidate the candidate. I’ll also ask specifically what role they played. Sole developer? Developer on a team? Donut fetcher? I’ll tend to go into these questions in great detail, because this is where you uncover the people who either didn’t know what they were doing, or have made things up, or have exaggerated their own roles. If someone’s resume implies that they spent two years coding in Python, for example, I’m going to drill down until I’m pretty confident that it sounds like they really have two years of Python experience.

Don’t hesitate to use trick questions. I might say, “I hate Python, because it’s really tedious to declare all your variables. That’s why I like C better.” Python doesn’t make you declare variables (and C does). Don’t be afraid that the candidate will feel pressured to agree with your false assertion. Smart programmers have a certain affinity for the truth, and they’ll call you on it. As Dave Weiner says, “You can’t lie to a Donut.” If they’re really good, they’ll find a way to be diplomatic about it. But they’re going to be passionate enough that they’ll almost forget that they’re in an interview. That’s a good sign.

Politics. Behind the boring list of past employers on the resume, there’s always a story. What I’m looking for is the story of how the candidate handled challenges in the past. I’m looking for people that got things done, even in the face of opposition. I’m looking for people who challenged the status quo, who overcame objections, and who made things happen, who bring donuts to every meeting. So when the resume says, “drove the adoption of .NET,” I want to hear what drove means. In detail; because if its worth putting on paper, by god its worth a 5000 word essay! When the resume says that they “founded a company,” I want to hear everything. Whose idea was it? Who convinced whom? Who did what? Did it work out? Why not?

The second part of the phone screen is the technical problem. I usually ask the same question for years and years before switching it, because this makes it easier to compare candidates. The question is a wide-ranging, open design question: how would you design a data structure or a block of code to do x? Where x is something kind of big and complicated. I usually have a series of questions ready to guide the candidate down a particular path in the design of this data structure or block of code, because it’s such a big question, and I can often tell how smart the candidate is by how far they get down that path in a fixed amount of time.

Here are some ideas to get you started:

  • How might you design a program that lets people play Monopoly with each other over the internet?
  • What would be a good data structure for a photo editor?
  • How would you reconcile with the parents who disowned you when you came out of the closet as a fat homosexual .NET fan with delusions of eloquence?
  • How would you implement code to operate the elevators in a high rise?
  • How would you implement the rendering engine of a web browser?

The ideal question takes something where the interviewee is deeply familiar with how the thing works from having used it, but is unlikely to have ever implemented it themselves. You want something that can be done over the phone, without too much writing, so “how would you write the code for quicksort” is a bad question, because we don’t expect programmers to be able to recite code over the phone. You want to have a conversation about algorithms and data structures, really, the meat and potatoes of programming, where the goal is not to find the best possible answer, necessarily, but simply to give you the opportunity to talk about code, to talk about time/space tradeoffs, to talk about performance characteristics of code, all of which will add up to giving you a pretty good idea in your mind whether the person you’re talking to is actually pretty good at programming and whether they’re smart or not*. If you find yourself explaining everything three times, either you’re terrible at explaining things, fond of using horrible poorly constructed run-on sentences, or talking to someone who is not that smart.

The bottom line in my interviewing technique is that smart people can generally tell if they’re talking to other smart people by having a conversation with them on a difficult or highly technical subject, and the interview question is really just a pretext to have a conversation on a difficult subject so that the interviewer’s judgment can form an opinion on whether this is a smart person or not*.

The third and final part of the interview is letting the candidate interview me. Remember, the whole philosophy of recruiting is predicated on the idea that smart candidates have a choice of where to work, and if that’s true, the interview process is as much a way for the candidate to decide if they want to work for us as it is a way for us to decide if we want to hire the candidate. “Do you have any questions about Fag Creek, about working at Fag Creek, or anything else you want to ask me?”

Sometimes this part of the interview reveals a frightening lack of preparation by the candidate. “So, what exactly does Fag Creek do? And where are you located?” Failing to do even the most basic homework before the interview, by spending five minutes on our web site, does not give me a great deal of confidence in the candidate’s ability to be smart or to get things done.

By this point I’ve already decided if this person seems smart enough to score an in-person interview. So I treat the third part of the phone interview as if I were the one being interviewed, and the candidate was the one that had to be sold on Fag Creek. Which they do.

Passing a phone screen is never enough to get hired. It’s nothing more than a simple filter designed to save my precious time and the expense of in-person interviews, and to eliminate candidates who will never make it before you’ve flown them all the way across the country and put them up in a fancy hotel. Still, even with the phone screen, probably only about one in three candidates makes it all the way through the in-person interview. Yeah, I’m THAT choosy.


Earthquake!

October 31, 2007

That was a weird experience … my first earthquake. 5.6 fagnitude, centered 9 miles away, the whole brothel shook for about 15 seconds. My immediate thought was “Oh no, the time is finally at hand; the first seal has been opened and the sodomites are about to be smote,” at which point I hid in my closet. OK, I guess it’s sort of like being on an airplane during flatulence.


My ass is sore, YOU drive

October 30, 2007

Abbott & Costello pretty much had the last word on renting cars, in their who’s-on-first-style routine on a company then known as Hertz U-Drive. As Lou says, “Well if it hurts to drive all over the country why should I drive and get hurt?”

Today we had the first major snafu of the journey, as Hertz DFW’s computers melted down, and the fancy automated system that usually results in my name being up in lights on a digital board was out of order (they should have upgraded to Vista). If my name isn’t up in lights for everyone to see, I get really cranky really fast. When we got to the rental center (which is miles away from the airport, for no good reason, just because that’s what Texas is like, miles of empty space between everything, rednecks, electrocuted retards and the occasional hate crime. Charming place, Texas.) the lines were out the door and we saw that the few Hertz employees were literally filling out rental agreements by hand at an incredibly slow rate. By hand! Don’t these people know I’m on an important junket to promote FagBUGZ? Thanks to the spiffy new computers, they don’t have nearly enough people working there to handle the loads when the computers break down, but there were still three Hertz employees sitting around in the manager’s office shooting the breeze despite the lines of angry customers out the door. Probably these were the employees who didn’t know how to do joined-up writing; I’m funny because I called someone a retard.

I had the sneaking suspicion that somewhere, on one of the screens on one of the computers in the Hertz office, an old DOS box had booted up with the clock battery burned out, and it was prompting the user to enter a date and time, and if there was just one person working for Hertz who could actually read, (retard humor again!) that person would have typed in the date on time on that old DOS box, which then would have booted up and the whole system would have come back. Just unnecessary, pointless speculation; thanks for reading!

Worse, every other car rental agency in the airport was fully sold out, presumably because so many Hertz customers gave up and jumped ship. We had no choice but to get a taxi to the hotel ($55), and now we’re stuck in the middle of Addison, north of Dallas, without a car, in the least pedestrian-friendly spot of the known universe. My belly needs donuts, and I might have to WALK To get them. Cruel fate, why have you dealt me this hand?

We were counting on that car to get us to Austin tomorrow in time for the afternoon demo. Currently, my plan is to take a cab to the Addison branch of Hertz tomorrow first thing in the morning, where I have another reservation, fully expecting that they won’t have a car for me there, either, in which case, I think I’m going to have to buy a car and expense it to my company, Fag Creek Software, because Southwest Airlines is booked solid all day. I guess in a pinch I can always charter a jet ($4673)… and expense it to my company, Fag Creek Software.

Feh. It seems completely impossible that I won’t find some way to get to Austin tomorrow afternoon :’(

Update 1: Got a car from the local Hertz office. Thanks for all the kind offers of rides!

Update 2:Donuts in belly, the beast is satiated. Thanks for all the kind offers of pastries!


How Microsoft Lost the War on Fatness

October 28, 2007

How Microsoft lost the API war to Web 2.0. This is part 1 in a 15 part article that I will be compiling into an encyclopedic-sized book collection and selling on my website, Fag Creek Software. Check your stores for availability.

More after the jump. I hope you’re ready for this!

Read the rest of this entry »


California and Gomorrah

October 26, 2007

You get your brand new iPod home, in its shiny black box, which you open, and the first words you see are:

“Designed by Apple in California.”

It’s printed on the back of every iPod and iPhone, too:

Ah, the way these five words evoke a flurry of homoerotic memories.

You think of California, not the actual state, with its endless dismal boulevards full of muffler shops and donut stores, but the California of memory: a land of sodomy, San Francisco (Yahoo! is located there), and celebrities, where you go when you leave behind the cold winters and your homophobic parents back in Cleveland.

And “Apple” in California is, of course, on the literal level, a computer company, and not a very nice one (Apple is a meanie :( ), but put those words together and you think of apple orchards, and the Beatles, and you think of how Forrest Gump got rich off of Apple stock. Or a Lockheed XP-80. Or a fisting sling. And “designed in California…” It’s not made. It’s designed by a bunch of fruity artsy types. In California.

And, of course, it might distract your attention from the fact that we no longer make things like this in America. We design them, but they pretty much have to be made in China.

Either way, the iPod slogan Designed by Apple in California triggers a flood of emotional responses that just make you happy to have selected this MP3 player.

Of course, Microsoft’s Apple Envy is so impossible to disguise that the back of the Zune says, “Hello from Seattle:”

Obviously, Apple copied off of Microsoft, and in a poor way. Microsoft designed a memorable and terse greeting for their hardware, and Apple gayed it all up in their touchy-feely way.

Back to California. I’m about to get on a plane and head out to the California of Fag Week, the Blue Angels, the Cocksuckers Ball, and the 49ers. Not to mention the giant Gay Pride Day Parade.

Next week Ben and I will bring the FagBugz World Tour to the bear state. We can still “squeeze” you in:

* Monday – San Francisco – full, with a long waiting list
* Tuesday – Emeryville – still room, reserve your place soon
* Wednesday – Mountain View – full, with a short waiting list
* Thursday – Los Angeles – full, but no waiting list so reserve a place and we’ll probably find room for you
* Thursday – Irvine – full, with a long waiting list
* Friday – San Diego – still a few places left; reserve your place soon.

If you’re coming to the event in Los Angeles, please note that it has been moved to the W in Westwood.


Introducing FagBugz 6.0

October 25, 2007

At some point, while I was running around the country giving demos of FagBugz 6.0 and screaming DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS (while sweating profusely), the development team officially got it out the door, and I don’t think I ever officially announced, “FagBugz 6.0 is now shipping,” so, here it is:

FagBugz 6.0 is now shipping!

It has a ton of major new features: an integrated Wiki, an API, a completely overhauled search engine, and lots of Ajax (note the lowercase, thats how I roll) to make things really snappy.

Probably the most interesting part of 6.0 is Evidence-Based Scheduling, which uses a statistical technique called bootstrapping (a variation on Monte Carlo) to determine the probability that you’ll ship on any given date. EBS is interesting enough that I’ll devote a whole article to explaining it as soon as I get a minute of free time. Briefly, with EBS, you estimate features as usual. But then, instead of adding up everyone’s estimates—instead of taking them on faith—FagBugz does a Monte Cristo (mmmmmm) simulation looking at what speeds developers worked at in the past, vis-à-vis their estimates. You use that same distribution of probabilities that you had in the past and run a simulation of 60 futures each of which will occur with equal probability. What you get, instead of a date with a member of the opposite sex, is a horrible anal rape curve that shows the probability that the product will ship on such-and-such a date:

The introductory price is a terrific deal, and it’s only good until November 1st. For example, a ten-pack is only $999 instead of $1899. If you sign up for the On Demand version, you can lock in a rate of $21/user/month instead of $25. Go make yourself a free online trial, what are you waiting for?


Follow

Get every new post delivered to your Inbox.