Programming Techincal Interviews: Why bother?

You know what’s awesome besides me? Technical interviews. Nothing beats being asked obscure questions about things that are rarely used while on the phone. I’ve been through enough of these stupid things (20+? over a short 7 years) to have a certain feeling about them. And just in case you are wondering, I don’t think I’ve ever failed one. (Even the online ones where I’ve consistently been above 80% of the country since the first one I took 5 years ago) I’m not bragging that I’m exceptional at programming, because I’m not. Probably average. What I am getting at is that I might have a decent view on how pointless these things are in the current state.

Insert Question Here

I can’t tell you how many times I’ve been asked things like:

“What is protected internal?” (Something I’ve never seen a company use)

“Is string an object or a structure?” (It thinks it’s a structure, so who cares?)

And my personal favorite:

“Which is better StringBuilder or String Concatenation?” (Yes?)

I get tired of these questions because everyone asks the same damned ones to the point where I feel like I could pre-record my answers on a tape recorder (Or whatever the kids use these days) and play them back while doing something more fun like washing my hair. (RUN ON SENTENCE!!!!1171) It almost puts me into this weird trance like state where my mind is off getting coffee while my body just churns out answers. Or even worse, when I try to discuss certain answers (Say the inevitable StringBuilder question) I’m met with the phone’s equivalent of a blank stare. AND IT NEVER CHANGES. I’ve heard at least these three questions at probably 90% of the ones I’ve done including at least two just within the last 4 months. Seriously, enough with difference between a datareader and a f—ing dataset. I think most people know this by now or could be informed in 10 seconds of getting the job. Or better yet, use a f—ing ORM.

The Google Era

The fun part about this is these interviews can pretty much be found in 5 minutes of a little searching. I am willing to bet if you take down the 30 most popular ones found and memorized, you’d be in the door. In fact, I pretty much know this since I’ve kind of sort of done a little studying before the interview (IE read parts of a book) to look good. And it sure worked. Now I have to admit there were other factors (Like my stunning good looks) but there were loads of people who bombed out on the technical interview due to missed answers. Even better, next time you have a technical interview, look up Microsoft Programming Interview C# and find the simple questions. One by one you mark off every one that is asked like those stupid car games that you mark off every state you see on a license plate. It will at least keep you interested. Hell, share with your friends and see who marks them all first. Put money on it.

The Recruiter Issue

Another problem that adds to the eh problem is that recruiters will tell you what you’ll be asked (Or at least point you in the direction) so that you can be ready for what’s coming. Why would they do that? Well it’s their job to make money and they make money by getting people in the door, especially if you have ANY personality. (Another thing that can completely override this precious technical interview.) I would say this is bad practice and companies should be made, but like actors and tabloids, this is a symbiotic relationship. How do I know this? Because I’ve actually had recruiters give me a list of questions the company SAID THEY WOULD ASK. What the f— is the point of asking me stuff I already know is coming? Yeah good way to make sure I don’t know what I’m talking about.

I’m just a programmer.

Here’s a though, next time your company does a technical interview, get someone who isn’t in the middle of a 70 hour week. In my experience, the one giving the interview really has better things to do, which is probably why the form letter questions are so popular. Can’t say I haven’t been in the situation when someone comes to me and says, “Hey we’re interviewing someone right now, could you get some technical questions together?” At which point there are two options, get questions off of the intarweb or put your head through your monitor to get out of it. And trust me, the second choice rarely works. Product? The same technical interview you went through last week… and last year…

Out with the old, Outsource with the new

The best so far though was a company that does these “technical interviews” (Read, they are technically an interview). Really? Outsourced interviews? I guess when I found out about this I thought that maybe MAYBE since someone was getting paid to do this, it might be interesting. Yeah not so much. For a long time I thought the prerequisites were:

  • Knew some programming.
  • Would rather be doing something else.

Turns out they can completely eliminate the first and keep the second. I honestly was asked questions like, “So you program in the c#?” and “So you have been using the object oriented programming?” This is a horrible situation for two reasons. One, the person taking the notes has no idea if you’re right or wrong and therefore could easily misquote you. Two, you will have to be put on suicide watch during the interview since at some point you’ll decide chewing your heart out is the only feasible way to escape.

Sigh, I mean honestly why do companies still bother with these? I mean if there’s any constant in the programming world, it’s that tools get hired no matter what and the rest of the company has to deal with them. Why is this? Because in the end, money is what matters. Recruiting companies will keep helping these guys through because it increases the chance of getting someone to fill the spot. Companies keep hiring them because usually they are about 1-2k cheaper per year. So in one word: Brilliant.