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

I think it's funny that people still think walking people through algorithms on a whiteboard is a good way to hire programmers.


Ability to communicate your ideas is an important skill. Why do you disagree?


Walking trees on a whiteboard is a poor test of this ability. I'd much rather hear how somebody would decompose a real world problem into workable abstractions. A knack for designing clean architectures counts much more than algorithmic cleverness in 9 out of 10 actual programming jobs.


I hope it is not excessively elitist to think that programmers should aim to do both. Also, the two skills are not independent.


I honestly think they are to a large extent. Many architects are not mathematicians. And vice-versa.


Well, you'll be surprised how many candidates can't correctly write a function to reverse a single-linked list.


They're probably nervous because you've asked them to solve a weird problem they've never had to solve in the real world. Have you actually written, in shipping code, a single-linked list or an elementary algorithm to operate on one?

Unless you want them to implement a compiler or something, I think you'll learn a lot more about somebody's programming abilities by asking them to turn a list of use cases into a class diagram or write out a few SQL queries given for a given set of tables.


"A compiler or something" huh? Let's see. Would you hire someone who couldn't reverse a linked list, if you wanted to develop...

Google Chrome?

Adobe Photoshop?

Crysis 2?

An IPad?

A self-driving car?

Not all programming is boring business stuff with SQL and class diagrams. And even "boring" apps may be more tricky than they look: Microsoft Excel had its own bytecode interpreter, which definitely qualifies as "a compiler or something" :-)


>Have you actually written, in shipping code, a single-linked list or an elementary algorithm to operate on one?

Yes, I have. Admittedly, I had to do it much more often when STL was a toy.

But this is not the reason for this question, this is simple coding exercise, if a candidate can't do it without bugs in 10 minutes, there is nothing to talk about. Of course jobs not requiring writing C++, Java, C#, or Python code need different set of questions.




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

Search: