Live data from Hacker News

Hiring Software Developers

hesh.am

11–20 of 30 posts

Re: Hiring Software Developers

#11
post #4

> "Can you even remember when was the last time you had to write an algorithm to traverse a tree?" Fairly often? There are lots of things taught in comp sci classes you could have used for your example here, but traversing a tree is not one of them. Huge amounts of software will have something as basic as traversing a tree and if you can't remember how to do it even 20 years out of comp sci classes, I'm not sure you…

He says "traversing a tree to find the shortest path". Sounds an awful lot like he is confusing graphs and trees. You don't really tend to path find with trees. Am I right? Trees are very useful. Graphs are occasionally useful. But you can't really say what is useful until you know it. One of the sadder truths of education/learning.

[deleted]

Re: Hiring Software Developers

#12
post #4

> "Can you even remember when was the last time you had to write an algorithm to traverse a tree?" Fairly often? There are lots of things taught in comp sci classes you could have used for your example here, but traversing a tree is not one of them. Huge amounts of software will have something as basic as traversing a tree and if you can't remember how to do it even 20 years out of comp sci classes, I'm not sure you…

He says "traversing a tree to find the shortest path". Sounds an awful lot like he is confusing graphs and trees. You don't really tend to path find with trees. Am I right? Trees are very useful. Graphs are occasionally useful. But you can't really say what is useful until you know it. One of the sadder truths of education/learning.

The shortest path in a tree is kind of a pleonasm.

Re: Hiring Software Developers

#13

Nice article, except I disagree on one point: Forget about a general Github account. Even having a Github account/or a Github project used by a billion users - does not prove that one is a great programmer according to me. Perhaps this a Github advertisement? (Python lover + mercurial user + No Github Account = bad programmer :-)

It also ignores anything you've done close-source for work, any projects you've done that didn't use git, any projects you contribute to that don't happen to be hosted on github, anything related-but-not-code that you do (speaking at conferences, etc).

Re: Hiring Software Developers

#14
post #4

> "Can you even remember when was the last time you had to write an algorithm to traverse a tree?" Fairly often? There are lots of things taught in comp sci classes you could have used for your example here, but traversing a tree is not one of them. Huge amounts of software will have something as basic as traversing a tree and if you can't remember how to do it even 20 years out of comp sci classes, I'm not sure you…

I'd think that refusing a candidate who can't work out how to traverse a tree in 5 minutes for an interview isn't a strong candidate for any coding position.

I've found this sort of generic statement ignores the practical aspects of a hiring decision. Maybe we need to qualify the definition of 'coding position', but I'm thinking of my entire devops team. I'm pretty sure I'd get some sideways looks if I asked many of them how they would implement tree traversal. And my devops team kicks ass. I don't know that a filter on tree traversal helps me in hiring more people for that team.

In keeping with the article, what we really care about is whether someone can be productive and learning how they are productive. It's not uncommon to find a disconnect between computer-science competence and acceptable developer output. I've watched candidates execute whiteboard graph traversal & shortest-path exercises quite well, but their actual code output is just silly. We're still working on finding the right way to detect that ideal mix of "smart and gets things done".

Re: Hiring Software Developers

#15
post #4

> "Can you even remember when was the last time you had to write an algorithm to traverse a tree?" Fairly often? There are lots of things taught in comp sci classes you could have used for your example here, but traversing a tree is not one of them. Huge amounts of software will have something as basic as traversing a tree and if you can't remember how to do it even 20 years out of comp sci classes, I'm not sure you…

>Paid 1 month trial of remote work is a good bet, but relies on your candidate not being employed already

Most importantly it relies on the candidate not having any other options. Why would anybody interrupt their job search for a month just for a possibility to fill your vacancy?

Re: Hiring Software Developers

#16
post #4

> "Can you even remember when was the last time you had to write an algorithm to traverse a tree?" Fairly often? There are lots of things taught in comp sci classes you could have used for your example here, but traversing a tree is not one of them. Huge amounts of software will have something as basic as traversing a tree and if you can't remember how to do it even 20 years out of comp sci classes, I'm not sure you…

>Paid 1 month trial of remote work is a good bet, but relies on your candidate not being employed already Most importantly it relies on the candidate not having any other options. Why would anybody interrupt their job search for a month just for a possibility to fill your vacancy?

For a month's income, and a much better shot at a job. In the context of the job search, that's a pretty good deal.

Re: Hiring Software Developers

#18
One problem with "go do a task" interviews is that you can't gauge a company's interest in you, the candidate, before doing them.

I remember doing a task-based interview once, getting an offer, and having it retracted after I asked to meet with the team before accepting (they just moved on to another developer who would accept without meeting the team first). This was a reputable, respected small company. Clearly, task-based interviews let them determine who was competent and who wasn't, but I was the only one who was invested in the interview process.

Payment helps and it's great to see some companies pay for project interview that aren't even directly related to their technical needs. The company invests money and the candidate invests time.

Re: Hiring Software Developers

#19
post #4

> "Can you even remember when was the last time you had to write an algorithm to traverse a tree?" Fairly often? There are lots of things taught in comp sci classes you could have used for your example here, but traversing a tree is not one of them. Huge amounts of software will have something as basic as traversing a tree and if you can't remember how to do it even 20 years out of comp sci classes, I'm not sure you…

I think the source of the perennial confusion over this issue is that some software development is actually engineering, but most is greese monkeying. The software mechanics resent the engineering questions but the engineers can't understand how you could not ask them. In truth the work of both camps is fundamentally different.

Re: Hiring Software Developers

#20

Earlier quoted context omitted.

>Paid 1 month trial of remote work is a good bet, but relies on your candidate not being employed already Most importantly it relies on the candidate not having any other options. Why would anybody interrupt their job search for a month just for a possibility to fill your vacancy?

For a month's income, and a much better shot at a job. In the context of the job search, that's a pretty good deal.

Is it? I can only speak from my experience but I've never been in a situation where I had only one job offer after a couple weeks of search. Neither any of the candidates I'd been interviewing had that interview as their only option.

It could be a way to go if you are hiring in a small town with no competition and the prospective candidates value not having to move much more than possible better offers elsewhere. Same if the candidates are not able to get many offers and appreciate the value of just a good shot for one.

Post reply on HN