Hacker News new | ask | show | jobs
by davetong 5522 days ago
The following are some of the main misconceptions of what's floating around between the blog, TC comments and HN comments.

Misconception 1: answering programming questions tells if the developer is awesome

No it doesn't. When an interviewer asks you a programming language-specific question, they are wanting to know how awesome you are at the language to see if you can hit the ground running on your first day. These sorts of questions only tell you one thing though, that the person you are interviewing has spent a lot of hours in front of the one programming language. I personally do not rate these types of questions for an interview because anyone can learn syntax, data structures and best ways to implement language-dependent code.

Misconception 2: brain-teasers don't tell you anything

This couldn't be more wrong... The reasons why an interviewer throws you a brain teaser or design question is to understand your thought logic and problem solving skills. While you talk through how you would solve your problem, they are assessing your communication skills, your process in solving a problem and also what knowledge you have as part of your experience.

Misconception 3: degrees don't tell anything

There is a lot of "show us your projects" being thrown around. While this is a fair call, one should not dismiss the degree. Simply being, that the degree is a project. It means that the candidate has had to spend three to five years juggling multiple subjects (read as 'projects'), while working part-time (read as 'projects') and managing their social life (read as 'drinking beer' and 'tuning hot people'). A degree is a testament of the students ability to see something through from start to finish... it's an example of their dedication.

Misconception 4: degrees aren't teaching students how to code, so how are they expected to code

Again, this is a fallacy. The degree is teaching students how to collaborate through group projects. How to work unsupervised and be resourceful while working unsupervised. It teaches the fundamentals so they can pick up any programming language (just another tool) and apply the fundamentals they have been taught.

I strongly agree with @marcamillion's statement about "developers being better over time". This is why I disagree with Misconception 1, as all this is doing is showing how much experience the interviewer has with the language they are quizzing someone on.

Overall, give the new coder a break. They most likely got hired because they: - fit into the work culture - possess strong problem solving abilities - can work unsupervised - can work within a team environment - have imagination

And if the new guy is asking you a question, it's because they're wanting to learn, so respect that as they're trying to be awesome like you.

Disclaimer: Sometimes people make mistakes though, and a dud ends up being 'that' coder that can't code ;)

2 comments

    Misconception 2: brain-teasers don't tell you anything

    This couldn't be more wrong... The reasons why an interviewer throws you
    a brain teaser or design question is to understand your thought logic
    and problem solving skills. While you talk through how you would solve
    your problem, they are assessing your communication skills, your process
    in solving a problem and also what knowledge you have as part of your
    experience.
The problem here is that a lot of the brain-teasers I've seen bandied about for interviews are the kind of problems where you either get them via an a-ha insight, or you don't get them at all. That's kind of what makes them good brain-teasers.
Yeah, I've never really understood how you can "talk through your thought process" for a question like "Why is a man-hole cover round?" It seems like you'd either come up with a reason or you wouldn't be able to come up with anything at all.

Perhaps you can say things like "Well, let's see...you need to be able to pick the man-hole cover up out of it's hole, then put it down somewhere, then maybe move it, ..." but I really think these types of ramblings are just stalling for time rather than an actual English narration of what I believe is an inexplicable thought process that would go into coming up with an actual answer to such a question.

I'd hire you if you kept on going with your answer... you've shown the following traits already:

- ability to analyse the problem

- talk about possibilities, thus displaying communication skills

I have probably misled my comment by using the phrase "brain-teaser" when I really meant "design question".

1: I want to see if someone knows language foo, and I want to know that they can implement algorithms and data structures. In short I want to see that they've spent a lot of hours on this platform.

Of course anyone with the hacker nature can learn any language, but that doesn't mean I want them to learn it on the clock. When I want an electrician I call an electrician, not a smart friend who I think can learn it.

2: I don't ask brain teasers because someone who has heard the question before has a tremendous advantage over someone who has not. That's not what I want to test for.

RE: 3 and 4, I don't much care as long as they pass #1.