Like most of you, I have a job. Like most of you, I had to pass an interview to get that job. Like most of you, I failed many interviews before passing the one that got me here today.
If it were up to me, I’d never go to another interview ever again. I’m sure many of you feel that same way – otherwise we’d never do things like YCombinator.
However, interviews test us. They put pressure on us. Only then, do we find out a little more about ourselves.
I talked my way into an interview with Red Hat in early 2002. Was it the Red Hat that flies you down to NC for a full-on, multi-day interview? Not exactly. This was with the team that had been ‘bought’ by Red Hat from ArsDigita Corp not two months before, and was located on route 495 in Massachusetts. I use the term ‘bought’ loosely, since Philip Greenspun pointed out that it wasn’t really the case in his chapter of Founders At Work.
For this interview, I had to submit a code sample. I forwarded a piece from my last project, a Java servlet which I had slaved over for a few months in the basement of where I worked in 2002, of which I’ll talk about later. (Or never. Imagine ‘The Office’ plus ‘IT Crowd’ plus, oh hell I don’t know, ‘Deliverance’. I’m just kidding, maybe.)
I realize now that this code sucked. It was a Magic Servlet, about as magic as they come, with SQL and HTML and all the rest of the crud mixed in there. I shouldn’t even have gotten my foot in the front door, but I did help one of their engineers move furniture, so I suppose all that back pain was worth something.
So, when I walked in the door that morning, I had about a half-year experience coding ‘in the industry’ and a lot of practice coding all sorts of projects at ArsDigita University. I was not, in other words, a Non-programming Programmer, I could work with it, but there was definitely room for improvement.
There were seven engineers on the team. They needed an eighth. I was interviewed by every single one in one day. On the face of it, this didn’t seem like a bad idea until, oh, after interview number 5. Interviewer #5. I’ll never recall his name, but I’ll never forget him.
Up until him, the interviews had been fairly upbeat – there was the Databases Guy, the Systems Guy, the Internationalization Guy. There had been some technical questions but nothing that really stressed me out. Number 5 had a different beat altogether. Definitely what you’d call ‘down tempo’.
First of all, he wore the Brass Rat. The thing about the Brass Rat in Massachusetts is that, since there are so many MIT grads there already, you can already sniff them out without the extra bling. Most MIT grads I know got their Rat, wore it for a while, and then put it away when they realized a) it wasn’t going to get them laid, and b) it wouldn’t get them ahead in the job market in Massachusetts, because there’s this liberal arts college down the road named Harvard that puts out pretty smart graduates too.
However, Interviewer #5 didn’t get that memo. He seemed pretty proud about that ring. Especially since he started to tap it repeatedly against the table as we were having the interview. To add insult to injury, he pulled out the printout of my code. Marked up. With comments and highlighting.
I don’t remember much about that part of the interview except the tap tap tapping of that ring against the table. Snatches of it come back to me sometimes in horrible dreams: “I see this block of code here…” tap tap tap “…seems purely procedural in nature…” tap tap tap “…could you explain to me why you are accessing the session so many times?”
It was like Chinese water torture. I completely came unglued and couldn’t come up with any concise or confident answers at all. It didn’t help that the interviewer after him was the UML Guy, who was all over me to come up with a correct UML Diagram for my code.
I walked away with some bruised pride, and a wasted day. But it did teach me to get a little better at what I did. I read the Bitter Java book. I started to learn about MVC. More importantly, I kept interviewing. I finally got another job – the job I have now, actually – and I’m still programming,