The future of programming interviews

October 2, 2004

Everyone else is talking about the Google Labs Aptitude Test, but I’m wondering something a lot more simple-minded: now that CS students typically learn high-level languages first (or only), where are programming interviews going?

A lot of the classic programming interview questions are actually sort of stupid in themselves, but supposedly test whether you have a reasonable CS background and/or have memorized one of the cram books available. Exhibit A is reversing a singly-linked list, a thing that very few people actually have to do in life but which still shows up in programming interviews (generally, in my experience, those given by people who haven’t actually programmed since the 1980’s).

In C, there are some little subtleties in the implementation, like remembering to pass a pointer to the head pointer inside a function. But in Java, anyone who does not do it this way:

import java.util.*;
List mylist = new LinkedList();
Collections.reverse(mylist);

is a moron. This is the Java way to accomplish the stated task. Any other way is artificial, wasteful, and distasteful. But what does it prove about a candidate?

Anyway, bad hiring managers could at least get away with stuff like this while C/C++ were still the standard in CS education. But now that Java and C# seem to have completed their takeover, and may even be giving way to Python and Ruby, it will be interesting to see whether the dinosaur managers have to rethink their interview tactics.

4 Responses to “The future of programming interviews”


  1. “Any other way is artificial, wasteful, and distasteful. But what does it prove about a candidate?”

    The idea is to see if a candidate can create new code because they have a grasp of concepts, a required skill when the pre-existing libraries won’t do. I agree, though, that most managers testing for this *don’t* need it, they’re just following some guideline established by a previous manager. If you’re a PHB and have no way of evaluating someone’s actual competence, you have to fall back on the tests.

    “But now that Java and C# seem to have completed their takeover, and may even be giving way to Python and Ruby…”

    Don’t give up on C yet. C is going to be around 50 years from now, something that can’t be said about C#. I heard Java just went open source, so maybe it’ll last. At the risk of sounding like a Republican or Master Po or somebody, I’m a traditionalist. I don’t spend much time on anything but C and Perl. They’ve passed the test of time and have profound and venerable support in the community.

    All of which is cold comfort when you’re out there trying to pay the bills. Sorry. I hope things go better for you soon. 🙂

  2. Andy Says:

    I think Java will probably go the dist now that is becoming a bit more open. Especially if it goes full open source yet remains under the direction of a controlling body like Sun or the ISO. C and C++ will like the other poster said be around for at long time. They are still the systems level languages that technology is advanced with. Then things like C# solutions are built on top of those new advances. In some cases the same can be said about Java although doing systems level advancments with Java will require more support from the major OS vendors than it currently has. MS has already stated that C++ will be it’s system level language for the forseeable future. Linux and Unix are both C and C++ systems also. I think you will see a the people with strong CS backgrounds doing system level work or embedded work in C and C++ and the C#’s, and Pythons of the world will be used in the Marketing dept’s CRM app. So as a hiring person you would need to know which type of development you are going to be doing and target your interviews accordingly. I know I do when I hire people.

  3. Troutgirl Says:

    Uh, guys, my claim is not that C/C++ are dying suddenly… it’s that CS students don’t learn those languages as much any more. All the CS students I’ve talked to recently say Java and C# are the main languages taught in schools now. So sure, C/C++ will have a niche in 50 years, but that wasn’t my point … it’s about a certain kind of interview question that is commonly used at companies that look at a lot of recent grads.

  4. ejournalist Says:

    Hi. I am a French journalist preparing a story for Les Echos, which is a daily business newspaper in Paris. I am preparing a story on corporate blogs. And I’d like to speak with you about your firing.
    Thanks for your help. Caroline Talbot Crosdale, tel: 718 796 3571, email: ejournalist@hotmail.com.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: