Hacker News new | ask | show | jobs
by schwartzworld 2001 days ago
Personally, I don't mind take home assignments or even live coding challenges as long as they are testing skills I use for my job (front end web dev). I've spent a lot of time getting good at what I do, and I am actually happy to show those skills off to potential employers.

But hackerrank/leetcode don't test for those skills. They test your ability to memorize solutions to trivia questions, typically things you'd never be asked to do in the workplace.

There's enough to learn to be good at software without having to also memorize arbitrary trivia.

2 comments

>But hackerrank/leetcode don't test for those skills. They test your ability to memorize solutions to trivia questions, typically things you'd never be asked to do in the workplace.

That's not really true. Most of them are variations on a relatively small set of techniques. Dynamic programming, back tracking, tree traversal, sliding window, greedy algorithms, and minimal connected tree will solve 90% of them. And those are all techniques that are occasionally useful.

Sure, some of them will have some esoteric math or algorithm that makes the solution trivial if you know it. Or sometimes there will be some confusing wording. But so long as they're not like that it's a pretty fair test.

> And those are all techniques that are occasionally useful.

Shouldn't we be testing for skills that you will be using 90% of the time in your day job rather than skills that are occasionally useful (and thus could be looked up / learnt on demand if necessary).

I love algorithms, but in all my years of coding I've never had to use DP on the job. IMO, it's not useless knowledge or never used, but it's not something I think most developers are going to use at their companies to accomplish their tasks so it feels like a weird thing to test and dismiss a candidate for.

I know developers who have written books on subjects related to development and are 100x the developer I am, but have no knowledge of DP beyond what was taught to them decades ago because they never used it when helping to build systems used by millions of customers.

HackerRank is a platform. You can design and implement your own exercises on HackerRank. We do this at our company; we design real-world problems and even test our own engineers to make sure “we” can pass our own evaluations.

I understand that at many companies, they just use pre-canned questions and all the above criticisms apply. But I don’t think this is the fault of the platform; it’s a conscious choice of the company to do so.