I really did like getting interviewed in C. :) But I was also confident using it.<p>It was appealing knowing that interviews were conducted in a language that wasn't really being used. Lots of companies claim they will hire smart people regardless of skills, but then you show up to interview and the guy across the table really expects you to know python and is flabbergasted that you bothered applying without it. I felt Fog Creek really demonstrated commitment to the principle by interviewing in a "useless" language. As someone with a bit of experience looking to make a change, it was a nice touch.
It's a bit hard for me to believe that there are programmers, who dont understand Pointers!<p>Though I am still in school, I feel everyone should understand how Memory works.<p>My assumption is that everyone should at least know about:<p>1. Pointers and their physical meaning<p>2. Difference between Process specific virtual memory and physical memory<p>3. Difference between Static, Stack and Heap Memory.<p>4. Also it is important to understand what happens when a disk access is required, and difference between Random reads and Sequential reads.<p>5. Bonus if you can understand, how swapfs is utilized and L2,L3 cache work.
This blog post seems to have the feel of someone interpreting scripture. Only in this case, the author of the scripture is also the one he's presumably challenging with his interpretation. I assume Joel is ultimately responsible for the existing FC approach to interviewing... (?)
This isn't a C-specific problem; of course people are going to be more relaxed in their comfort zone. If you asked me to write a Web server in Python, I'd be a lot more relaxed about it than if you asked me to do the same in Forth. There's a reason nothing changed when he dropped C (what goes unsaid: is he putting C in the job description?).<p>Joel's observation about pointers is dead-on, but I've personally beat that horse on HN in the past and will spare everyone a greatest hits anthology.
Hmmmm. Given a language X that is not used in actual development in an organization, at what point does interviewing with whiteboard coding in X become just another credential?<p>I like (FTA): "So I’ve picked a question that forces candidates to design a data structure" . . . "I’ll continue conducting my interviews in the language of the candidate’s choice"<p>As an even more general question to hackers here, what would impress you more? A candidate who comes in, whiteboards out an algorithm and data structure in C to solve a problem, or a candidate solves the same problem in Clojure?<p>Particularly if your org uses neither of those two languages :-) Of course, you have to grok the different paradigms you might use in both languages or you'll probably be unable to make a decent judgment.
I interviewed at Fog Creek recently (and I don't think it was with Ben, the post's author), and I actually didn't code in C. I answered my questions in Python, just because I'm more comfortable with it these days. So I don't know if this is a new thing they are trying out, or if internship interviews are different.<p>(I believe I'm allowed to say this about the interview. If Joel or someone at Fog Creek comes across this and takes issue, just let me know and I'll remove the post.)
Really depends on your situation, but do your interviews in pseudo code. Evaluate their ability to translate your requirements into a logical set of events that will satisfy your requirements.