
HackerRankX Wants To Kill The Resume - draker
http://www.fastcolabs.com/3031839/hackerrankx-wants-to-kill-the-resume-once-and-for-all
======
gopher1
Great, so now I have to maintain an updated LinkedIn profile, contribute to
various open source projects on GitHub, sustain an active StackOverflow
profile, and complete coding challenges on HackerRankX.

I hope the employer who hires me doesn't mind if I do all that on the clock!

~~~
bitJericho
Don't forget you'll also need to know Ruby, PHP, Python, Node.js, all .net
languages, Javascript, HTML5, CSS3, Nginx, Linux, Nosql, MySQL, Photoshop, Art
and Design, among other skills.

~~~
incision
In my experience, the interview process for jack of all trades job
descriptions plays out the same way every time.

1.) The candidate shows up with a effectively all the required skills.
Predictably, logically, the candidate has a roughly average level of skill
across the range on average.

2.) The interviewers decide the candidate won't do because he/she is 'only'
average in some area that should have been one entry on a _short_ list of
_required_ skills in the first place.

Either hire for the skills you actually need and be specific about it or hire
the smartest, hungriest people you can find and be honest about what they'll
be expected to learn.

~~~
angersock
You forgot:

3.) Applicant is hired, and paid criminally below-market with above-market
stress, because the types of people who explicitly hire "jack of all trades"
are generally trying to save money.

------
ultimatedelman
I feel like coding challenges like these are contrived and really prove
nothing. Cool, you can create a "palindrome index." Can you effectively lazy
load assets in an app on demand? Can you architect your CSS in a way that only
the relevant styles show up on a page? Do you know _why_ a standard for loop
is faster in most cases than a for in loop? Tests like what this site is
trying to do don't really prove anything other than you're good at solving
puzzles with code whereas as an employer I'm more interested in the quality of
your applicable code and architecting thought processes.

I'm not saying these tests are _totally_ useless. Obviously it demonstrates a
dev's ability to code within one or more languages, but they're hardly enough
to make a hire off of. When it comes to building actual product, these tests
always fall short.

~~~
opendais
If your core business is built around a specific CS problem [e.g. Uber would
be the traveling salesman, Google is searching with NLP], picking candidates
that demonstrate they can solve that sort of problem effectively [not
perfectly, just 'good enough'] is pretty relevant. [e.g. Code Combat's Greed
tournament would be a good recruiting platform for finding developers for Uber
that worked on the backend since the traveling salesman problem seems really
relevant to them]

However, I think you are right in that most of them are useless because they
don't focus on that sort of detail.

EDIT: Okay, I had a bad example. Sorry.

~~~
Punoxysm
I guarantee the amount of time spent on traveling salesman problems at Uber is
a miniscule fraction of all development time.

~~~
opendais
Oh, I'm sure. But it would be _relevant_ which was my point. Someone at Uber
at some point had to solve that sort of problem.

Many of the questions I've been asked in interviews are more or less, "Someone
had to do X at some point as part of our product, how would you do it?"

The goal is to figure out if you are competent at solving business problems
logically that are relevant to the business in some way.

~~~
potatolicious
Would it be though? Amazon spends a lot of time on the traveling salesman
problem too, but only the extreme high end architect level people, on a _very_
tiny number of teams.

99.9% of engineers at Amazon are writing, well, downright normal code.

It seems silly to test someone on something they will never, ever run across
in the course of their duties, and which you reserve for only a tiny, select
portion of your workforce.

It'd be like requiring all the waiters in a restaurant to also be qualified
chefs. Yeah, cooking is the core of your business and highly relevant to the
organization as a whole - but not to this position.

~~~
opendais
Proving people know how to implement an algorithm [even one that is a pretty
bad solution to TSP] seems relevant to me. It doesn't to other people.

Think of it as a more relevant FizzBuzz.

> It seems silly to test someone on something they will never, ever run across
> in the course of their duties, and which you reserve for only a tiny, select
> portion of your workforce. > It'd be like requiring all the waiters in a
> restaurant to also be qualified chefs. Yeah, cooking is the core of your
> business and highly relevant to the organization as a whole - but not to
> this position.

Is a naive solution to TSP really that hard?

~~~
potatolicious
> _" Is a naive solution to TSP really that hard?"_

Why do we want a naive solution to TSP? The naive solution to TSP has no
applicability to anything - it's purely a thought exercise in the same vein as
"why are manhole covers round" and "how many jelly beans are in this jar".

Remember that 10 years ago we thought _those_ questions were "predictors" of
programmer ability. Turns out that was full of crap.

So your notion of testing someone's suitability for a job is to ask them to
solve a problem unlike any they will encounter in the job, expecting them to
generate a solution that would be wildly insufficient even _if_ the problem
was relevant to their job?

In the mean time I rarely see companies testing for abilities that _are_ used
on a regular basis in these jobs: the ability to architect, knowledge and
familiarity with best practices and design patterns, writing testable code,
etc etc. All of these skills are far from universal, but yet we spend no time
ensuring they're there. No, we blow the valuable 45-60 minutes we have with
candidates twiddling around with TSP.

We ask candidates simplified things from what goes in IRL, because we don't
have all day. That can't be helped - the least we can do is make sure what we
ask is actually a simplified version of what the candidate will be responsible
for, instead of simplified versions of things the candidate will never touch,
ever.

> _" Proving people know how to implement an algorithm [even one that is a
> pretty bad solution to TSP] seems relevant to me."_

It doesn't to me. More accurately, it doesn't seem relevant to the majority of
coding jobs out there.

In reality the number of jobs that _ever_ involve implementing real algorithms
is really low. Even in research-heavy companies like Google it's limited to a
small subset of employees in a small subset of teams.

The vast majority of everyone will not write a substantial algorithm from
scratch in their day job. Ever. So why are we testing for this ability?

------
iamthepieman
I was recently interviewing for a new job. One company asked me to solve a
coding challenge. I had one free evening to do it and managed to get it mostly
done but didn't feel comfortable submitting it as there was still a few issues
and I didn't have time to clean it up like I wanted to.

The other company asked for some code samples of work I had already done and
then I walked them through it to show that I understood it and what design
decisions and trade-offs I had made and why.

The company that asked for code samples ended up making me an offer and due to
lack of time and the fact that another company was already interested in
hiring me, I never even continued the conversation with the coding challenge
company.

It seems that if a coding challenge is trivial then it doesn't really prove
much. There's probably an answer for something close to it online and even if
the candidate did solve it on their own it's still too trivial.

If a coding challenge is complex enough to actually test a candidates range of
knowledge then it's often not worth it to complete the challenge for a
possible job opportunity.

------
vicbrooker
I think I prefer Gild's approach (I've only superficially skimmed their site,
no actual experience of their product). They're analysing existing data points
to predict the right applicants - StackOverflow, Github etc.

Seems more elegant to use what exists than to ask recruiters to come up with a
custom challenge. If they can't make realistic asks at the moment it's
unlikely they can create realistic tests on HackerRankX either.

I'm still waiting to see the first job that requires 5 years + experience in
Swift. Shouldn't take more than a few months.

------
yalogin
Even with all these metrics I still have to write code even for the phone
screen and then have a 6-8 round coding interview where I have to algorithms
that I will not use in my job. I don't see that going away.

Also I don't see bigger companies adopting these anyway. They will have their
own way of hiring and is usually more relaxed. All these hurdles just make an
experienced candidate cringe more applying to a startup.

------
masterjack
I was into HackerRank for a while (in a previous life I did a lot of
TopCoder/CodeJam/ICPC/USACO/etc) but it just wasn't the same. Programming
competitions have a long history and high standards, and there were just too
many repeated failures on both the side of execution and problem selection. An
objective function that immediately allows a trivial solution for record
points. Lack of compiling with optimizations. Changing what libraries are
allowed partway through (more accurately, some server instances allowed the
library, but they all went away by the end). Too basic algorithms. That said,
I did have a lot of fun, especially having free reign to use ML and NLP and
math libraries. But even that just made me realize that ML competitions tend
by nature to be less about the "Aha" moment then they are about getting all
your ducks in a row and doing the appropriate due diligence, and I might as
well spend that time consulting for hedge funds.

------
iamthepieman
How is hackerrankx.com different than hackerrank.com? They use the same logo
but require different logins.

~~~
anilgulecha
One is a general programming/hacker site, the other is the same product built
as a recruiting tool for recruiters/companies.

~~~
iamthepieman
It seems odd that they don't combine the two. You could have a paid version
for companies that lets them create their own coding challenges and view
candidates who have completed challenges in problem domains and languages they
are interested in.

~~~
anilgulecha
We're figuring out exactly how this could work -- but given the disparate
audience of the two applications, they are separated for now. Like Github
normal, and Github Enterprise.

------
emgeee
For what it's worth, I kinda like the idea. I don't think coding interviews
are going to go away anytime soon and I'd much rather use HackRank's fancy
interface from the comfort of my home than stand awkwardly at a white board
while one or two people stare judgingly at the back of my head.

Despite the somewhat sensationalist headline, the article itself actually
seems to be pretty realistic (aside from the "and in a year from now,
HackerRank will be like that" comment).

To me, it seems like another tool people who are not good at networking can
use to distinguish themselves.

------
4bpp
> "[...] an obscure theory, like graph theory [...]", [founder] says

Even nowadays, no more or less respectable university will let you graduate
with a CS degree without learning at least the basic ropes of graph theory
(more than rightfully so). If this is representative of their priorities, I am
left wondering if their ranking will actually be of interest to any
organisation looking for competent programmers (as opposed to bedroom-trained
PHP/Python hackers).

------
ChrisFingaz
Or companies could just ask for code samples. A resume is just a summary of
experience, not sure how programming challenges would show the person can
maintain a working relationship in a company.

------
jamesbritt
Things like this seem more useful as a honeypot.

------
pacofvf
the functional programming challenges have a very weird selection of available
languages:

Scala, Clojure, Erlang, Haskell, Ocaml, Lisp, F#.

not the most popular languages.

~~~
pekk
functional programming languages are not the most popular languages.

~~~
angersock
Eh, Javascript seems to be doing alright for itself.

~~~
frowaway001
Since when is JavaScript functional?

~~~
_broody
It's not functional in the same vein as Haskell, but it is in the same vein as
a lisp. Essentially, JS is an application of the lambda calculus.

~~~
frowaway001
The family of Lisps isn't functional by definition. There are Lisps which are
as non-functional as one could imagine.

Anyway, where the hell are you seeing the lambda calculus in JavaScript
(ignoring that "it's based on lambda calculus" is probably as useful as
"computers usually work with 0s and 1s")?

------
stuaxo
No.

