Wednesday, June 21, 2006

how pipe works

I had a (slightly heated) discussion today on whether one should know "how pipe works". One of my colleagues was very upset after interviewing some supposed to be brilliant candidates who did not know (according to him the "most basic concept" of Unix OS), that "how pipe works". I was not very convinced with him that it was very shameful of him.
I was myself very fearful of these (according to me jargons) of Unix like pipes, fork etc. etc. which make such good interview questions, but one like me always forget them as soon as done with an interview. I always used to hate such interviews. And, used to come out flying colors from them, if and only if, I had read an OS book before them.
If I were an interviewer, I would surely like to have candidates which have these on their tips "without reading a book". But I believe that only people who have done real system programming can have these always current. You cannot expect that from everybody out of college, however good college it might be.
So, what should you see?
I believe the reason why companies prefer to go to "supposed-to-be" good colleges, not just because the students are most well taught, and hence they know-all. But because the students there are supposed to be smart, according to that college's admission criteria. To further that, the students with good CPIs are supposed to be smart by that college's gradation criteria. A company just wants to make sure that whoever it recruit is smart enough. Can learn and can get things done.
So, I believe it's not important to know "how pipe works". But it's important that the person should be able to understand it as and when needed. So, if you are interviewing a person who has done a multi-tasking project with lots of programming, which involves using pipes-and-stuff, and he doesn't know how pipe works, he is surely worth nothing. He did not learn when he was needed to.
But what the hell, pipe is just something which takes an input and put it to a output. I think there will be more to it. Otherwise, it isn't even worth asking. But that was all I ever needed to know. And, thank god nobody asked me this in an interview!