News for hackers. Stuff that matters.
Re:Hiring Is Broken – My interview experience in the tech in... by jmaley on Wednesday April 27, 2016 @09:44AM (#11580346)
Consider a scenario where the developer is required to write a custom directory tree. Each row contains a caret and a checkbox. When either of these are clicked, you'll need to perform some sort of tree traversal to ensure integrity of the view -- for example, checking the checkbox on a row may require that all children as selected too. Additionally, you may need an upward traversal to the root to ensure the parents are either in a mixed or unchecked state.

If the developer doesn't understand performance (or at the very least, basic tree operations like searching/sorting/traversing), they're going to write some horrible code. Google and Bloomberg have their pick, they don't want a shitty developer.

Re:Hiring Is Broken – My interview experience in the tech in... by kkapelon on Wednesday April 27, 2016 @10:39AM (#11580787)
In my example I did not say that the first developer is ignorant about performance. I only talked about knowing data algorithms by heart.

So let me rephrase this. Isn't it possible that a developer knows about computer performance but at the same time does not know <insert your favourite algorithm here> by heart?

Do you really think that "knowing BFS by heart" equals "knowing everything there is to know about computer performance"?

In your scenario, a developer might just google BFS if that is really needed (when a custom component is needed). Is this so important that he/she has to know BFS by heart beforehand during the interview?

Re:Hiring Is Broken – My interview experience in the tech in... by jmaley on Wednesday April 27, 2016 @11:25AM (#11581221)
BFS is a 4 line algorithm that doesn't need to be memorized. I wouldn't trust a developer who can't even reason this out with understanding runtime order complexity.

  bool bfs(int x) {
    q = new LinkedList<Node>;
    q.push(root)
    while (q.size != 0 && q.peak() != x);
    return q.size ? true : false;
  }
Re:Hiring Is Broken – My interview experience in the tech in... by kkapelon on Thursday April 28, 2016 @03:52AM (#11587121)
I just said "<insert your favourite algorithm here>". BFS is just an example.

Oh, well...

Re:Hiring Is Broken – My interview experience in the tech in... by beeboop on Wednesday April 27, 2016 @10:30AM (#11580720)
From a front-end developer perspective, I would google "navigation tree jquery", download some library that does this for me, and be done with it. If all children of a checkbox need to also be selected, that's like a single like of jQuery. Worst case scenario, something custom is written, and yeah it's not the best way and yeah it takes 100 milliseconds instead of 4, but who cares?
Re:Hiring Is Broken – My interview experience in the tech in... by dagw on Wednesday April 27, 2016 @10:35AM (#11580756)
Worst case scenario, something custom is written, and yeah it's not the best way and yeah it takes 100 milliseconds instead of 4, but who cares?

The person who has to try to understand what the hell is going on and how to add new features after the original developer has moved on to other things probably cares quite a lot. The difference between a good programmer and a mediocre programmer is not that one can solve the problem and the other can't, but that the good one can solve the problem in an easy to understand and easy to maintain way.

Re:Hiring Is Broken – My interview experience in the tech in... by Apocryphon on Wednesday April 27, 2016 @02:43PM (#11583332)
And the difference between a good organization and a mediocre one is if a crappy custom solution is caught during code review.
Re:Hiring Is Broken – My interview experience in the tech in... by to3m on Wednesday April 27, 2016 @07:12PM (#11585369)
4ms vs 100ms is instant response vs detectable delay...