Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Actually, for reference of why I mentioned those languages in specific, it's because the following scene happened in these interviews:

Interviewer: Could you figure out how to solve a blah blah blah for me in whatever language you prefer?

Myself: By "whatever" language, do you mean whatever language? Is Scala ok?

Interviewer: We'd prefer C++, Java, or maybe Python. Try with one of those.

It's one of those things like the "pieces of flair" in Office Space. If you require an object-oriented, weakly-typed, imperative language whose syntax you've seen a thousand times before, please specify so. Don't put out job ads looking for creative, intelligent professionals who think outside the box and then tell me, when I come to the interview, that I can paint it any color as long as it's black.



A (very naive) friend of mine started programming in Haskell for a job interview because he thought it'd show the interviewer that he was creative, liked to learn things out of the beaten path, etc (after all they said 'your favorite language').

Needless to say the interviewer was very confused and irritated, and asked him to switch to Python/C++/Java after 15 minutes. He didn't get a followup interview (this was with a big major tech company too)


One mistake (of his):

The point of these programming tasks is not to show off your prowess; most of the time the interviewer is trying understand your thought process and maybe some basic programming abilities. Think of it like a sanity-check.

Showing off turns people off because it can lead to negative team behaviors. Being creative to make life better is good, but there's a line between that and being too clever to work with other people.


Yup, that's basically what I told him.

What's sad is that he wasn't really showing off— he's just one of those computer scientists who loves to geek out and doesn't really think how other people could interpret it; and I guess he was hoping the interviewer would just start nerding out with him, that they'd start talking about how GHC handles lazy evaluation, and that everything would be perfect.


And the interview did its function properly - the position isn't a good fit for that person. If nerding out during the interview about lazy evaluation and purity isn't happening, then its probably all for the better that the interview failed, then to have a disfunctional team with the odd language nerd.


I (and some others) once interviewed a guy who had recently started learning Lisp. He wanted to show off and use it on the whiteboard. Not a problem, theoretically - we've had a guy give us Prolog solutions beautifully explained.

He botched it. We laughed and let him retry in C. He solved it successfully - and also more people than myself could read the solution. Since he was a really junior chap, we didn't really have an issue with the botching.

I am OK with someone showing off. But you have to actually make the run successfully, IMO. Personally, if you can write FizzBuzz as a call/cc continuation, more power to you. I really want to see if you can grasp the upper reaches of computational abstraction in our field, i.e., show off. But trying and failing doesn't really win you points, at least with me.


It's only showing off if you think Haskell programmers are better than everyone else ;-).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: