
An employer asked me to do a HackerRank test. Here's my alternative proposal. - fa
https://gist.github.com/fasiha/496d78a3ce9357cdec0a18f919407d2e
======
s3nnyy
Programmer and owner of a technical recruitment agency here. I forked and
rewrote the thing to make it more appealing to recruiters:
[https://gist.github.com/iwangu/b0d8b8e140afdd4e30bb7e401babc...](https://gist.github.com/iwangu/b0d8b8e140afdd4e30bb7e401babcbbc)
I mainly removed things that sound patronising to me.

I think many HR people will just ignore you if you e-mail what OP posted.
Once, I wrote a blogpost why programmers don't get jobs due to random factors
("Why software engineers don’t get jobs: Four horror stories"
[https://goo.gl/v4PUWV](https://goo.gl/v4PUWV)), but being patronising and
"explaining programming to HR" is one of the things where you just shoot
yourself in the foot by being too demanding too early in the process. You can
be demanding ONLY AFTER they told you that they want to hire you, but not
before.

A tip for e-mailing HR and business e-mails in general: Try to never signal
that you will be hard to work with. Always be kind and even a little bit
submissive. Don't try to teach people something, don't quote authors and don't
do footnotes. Imagine the person will take a maximum of 3 seconds per
paragraph and 10 seconds in total to read your e-mail. There is a chance the
reader is listening to an audiobook or is watching Youtube while answering
e-mails in a cubicle. If you need to discuss something critical, invite the
person for a phone call. Salary, negotiating or deviating from a standard
process (like here) should be discussed in person/in a call.

Hope that helps to get some insight from "the other side".

~~~
bitL
I think your approach would work if there was a shortage of jobs; there is
exactly opposite situation right now and HR should adapt or they would end up
with a very narrow dissection of what is available. You are often asking
accomplished individuals to waste their time on badly compensated job
proposals, just because it makes your life easier. No wonder so many
programmers think recruiters in this industry are a joke and try to actively
avoid them.

~~~
dahart
> I think your approach would work if there was a shortage of jobs

There is always a shortage of _good_ jobs. You can fight the process all you
want, if any job at all will do, and you don't care how long it takes to get
it.

> You are often asking accomplished individuals to waste their time on badly
> compensated job proposals

What do you mean by badly compensated?

Why would you assume someone else knows anything about your accomplishment and
credentials and trusts the skills you list on your resume before you've
demonstrated anything?

Also, if you're good, then why does a low bar for entry scare or offend you? A
screen for basic aptitude is narrowing the field and removing people from
competition who can talk well but don't have programming experience. That
seems like an advantage for anyone who can pass the easy tests.

~~~
bitL
Alright, imagine you worked for top engineering company, have github full of
bleeding edge stuff anyone can observe, wrote books, have patents under your
belt, do public speaking, teaching at universities etc. and some HR person
comes in and wants you to do trivial HackerRank stuff. She basically
interrupted you from working on something benefiting humanity just because she
was lazy to check your CV and ignorant of the industry. Then you see the same
company awarding their good jobs to friends of higher ups and all they have
left are generic jobs they need to fill that would end up with all the work,
complaining "where have all the good programmers gone?". And then you read on
HN post like this and wonder why there is so much resistance to acknowledge
one's qualification from what they provided in their CV. Imagine the same
doing in other areas of industry - we don't care you won these multi-million
law cases in the past, all we care is how the history of US North-East
affected common law between years 1870-1893.

~~~
dahart
FWIW, I have a patent and do public speaking, recently sold a startup, and I
gladly take the coding quizzes for all my interviews.

They are fun, and they give me a chance to shine. The coding quizzes actually
saved me once when I did really badly in another part of the interview. That
company hired me, and gave me what others there thought was the good job.

I also administer coding quizzes to people I hire, and I find them a small but
useful part of the larger interview process. I'm giving an assembly language
coding quiz to someone later today.

> She basically interrupted you from working on something benefiting humanity

That seems a little hyperbolic. Do you want the job? You have to spend time
interviewing. Simple as that. Don't do the quizzes if you don't want the job.

> Then you see the same company awarding their good jobs to friends of higher
> ups

Most companies try to promote from within, and many people think that's a good
thing. The alternative is you hire unknowns from outside the company over
people who've been there putting in the time and know the system.

> just because she was lazy to check your CV and ignorant of the industry

It's both presumptuous and pessimistic, and also likely wrong, to assume that
a coding quiz implies any laziness on anyone's part.

> Imagine the same doing in other areas of industry

Other jobs have it much worse, you have to get bureaucratic certifications for
a lot of jobs that are a lot less fun than Hackerrank, and take months and
months. Or you could be a lawyer or doctor, and you have to raise money and
bring in clients in order to get the good jobs.

What jobs are you thinking of that have it so much better than programmers?

~~~
bitL
It was about accomplished people getting the same treatment as newbies or
wannabes that have no clue what they are doing. You don't see it in other
industries. E.g. I wrote this new language/library everybody uses, but I am
forced to solve some crappy puzzles I probably was solving when I was 14 and
match the current mood/skills/tunnel vision of the interviewer. As a
consequence, I rather start my own company and charge you much more for the
same service you'd get if you employed me with a bit of a good will on your
part, or by simply reading my CV and clicking on the links there.

~~~
dahart
You do know there are a lot of "accomplished" people according to their own CV
who can't actually code their way out of a paper bag, right?

The more senior someone gets, the more expensive. It's worth the company's
time to screen for basic aptitude, _especially_ when someone claims greater
expertise.

> As a consequence, I rather start my own company

By all means, you should definitely do that and stop worrying about job
interviews!

> if you employed me with a bit of a good will on your part

Good will is something you earn. And you earn it by doing things the company
needs without complaining. For starters, they need to be able to _compare_
candidates against each other when hiring. Fighting that, and asking the
company to evaluate something you've done that doesn't allow comparing you
against other people, isn't something that will benefit the company.

> or by simply reading my CV and clicking on the links there.

You're expecting people to spend time reading your projects before they screen
you? If you got the call, it's probably because someone read your CV. That's
all you can expect at this stage. If you want them to click the links and read
the rest, then you take 30 minutes to do the phone screen, and another 30 to
do the coding quiz. _Then_ you get to have a conversation about your projects.

If they never ask you about your projects, then yeah, maybe you shouldn't work
there. The coding quiz is only one small part of a many-part process.

~~~
palerdot
> You do know there are a lot of "accomplished" people according to their own
> CV who can't actually code their way out of a paper bag, right?

Are you saying, the recruiters are just treating everyone (accomplished/non-
accomplished who happened to have a great CV) the same? I think your point
just supports the view instead of refuting it.

------
renegadesensei
It's an interesting idea. Phrased politely I think it's fine to suggest. Still
I can understand why people would refuse your approach. There's an obvious
risk involved letting the applicant dictate the terms of the evaluation. The
point of coding tests is that you can't prepare or easily Google an answer.
The employer wants to gauge your unscripted in the moment programming
knowledge. Also as someone else said, you need a way to compare apples to
apples. Not everyone has an amazing Github to show off.

Still I wish employers would better understand the limitations of automated
coding tests. Pair exercises where I can use my own environment and think out
loud with an interviewer aren't so bad. Fully automated stuff like HackerRank
often make simple things overly complicated because they expect answers to be
written a certain way. I think those sorts of tests are only suitable for
really low level screening - ensuring a sysadmin can use basic bash for
example.

~~~
zaphar

        Letting the applicant dictate the terms of the evaluation 
        

That sounds vaguely biased toward the employer. An interview is a a two way
process. The candidate in this case will likely have no problem finding a job.
In a way, it sounds like he's doing his own pre-screening and the hacker rank
request is a non-positive signal for him.

Our profession is somewhat bifurcated. There are the developers who only ever
do glue code between systems and never progress beyond java 1.4 and work
places where that is a valued trait.

This candidate however is in the other camp. He's creative, and self driven in
his learning. He's also driven to get better. He won't be satisfied at the
kind of place that doesn't look at him as a unique and creative developer.

This was a negotiation not letting an applicant dictate the terms of the
evaluation.

~~~
UncleMeat
How can I, as an employer, provide a fair interview process if every
interviewee gets to pick terms? A uniform process isn't because we think it is
the optimal process, but because it is the best process that ensures fairness.

~~~
zaphar
Picking the terms is a negotiation. I think sometimes we forget that the
interviewee is also interviewing us as a prospective employer. This isn't a
school exam. Hiring is a business negotiation. Pretending that it's not is
counterproductive.

------
tty7
You want a personalized interview, styled exactly for you ?

I would be a 'no' if i were interviewing me. You obviously can program but
this makes you appear to be someone who would be difficult to work with.

~~~
fredley
...If "Tells me when I'm doing something in a way that could potentially be
improved, in a polite, validated way" falls under your definition of
"Difficult to work with", then perhaps he wouldn't want to work with you
anyway.

However if you want to hire people to just complete tickets as fast as
possible, maybe that's a valid reason to reject the candidate.

~~~
nilkn
"Difficult to work with" is perhaps too harsh a statement. But the candidate
_is_ asking for a completely custom treatment at the earliest possible stage
of the interview process. The candidate is also assuming that the interviewers
aren't aware of the caveats mentioned about standard coding screens/HackerRank
exercises. The candidate's proposal also doesn't mirror real-world conditions,
because I doubt the job consists of adding features to their own codebases.
The candidate also doesn't seem to acknowledge that this is not the entire
interview but rather just a low-investment screen to decide whether to perform
the full interview in the first place. The candidate also glosses over the
value of the standard screen, which is that it's uniform across all
candidates.

To be clear, I wouldn't rule out someone for this, but I can sympathize with
where I believe the above poster is coming from.

~~~
StavrosK
> just a low-investment screen

Low-investment on the part of the employer. They still expect me to spend 90
minutes on proving I have seen a REPL before, which is time I, frankly, don't
have. I'm happy to answer/talk about things that relate to my job, but working
on puzzles that just happen to be solved more easily by programming has
exactly nothing to do with it.

> the candidate is asking for a completely custom treatment

What's next? Having to actually _look_ at someone's CV? That's insanity.

~~~
mox1
Why are you looking for jobs if you are too busy to spend 90 minutes of effort
on applying for that job?

Maybe the whole point of the test is not how well you do, but how you react to
being asked to do something you feel is beneath you...

~~~
StavrosK
> Why are you looking for jobs if you are too busy to spend 90 minutes of
> effort on applying for that job?

I didn't say I'm too busy to apply, I said I'm too busy to spend 90 minutes on
useless tests.

> but how you react to being asked to do something you feel is beneath you...

You know what a great test for that would be? Ask the applicant to wash your
car.

~~~
dfabulich
> _useless tests_

These tests aren't useless. Tons of candidates have never seen a REPL before
and are totally unable to solve even a trivial coding assignment.

I suppose your company is too clever to waste their time on such useless
tests? Who at your firm wastes hours interviewing candidates who have no
ability to code?

~~~
StavrosK
If someone has never seen a REPL before, it'll take us less than 90 minutes to
figure it out, so we don't tend to waste applicants' time with those.

Going through someone's Github (or any other project they feel is worthy of
sharing) and asking them questions about why they made the decisions they made
has been orders of magnitude more illuminating than asking them to come up
with an algorithm for solving the subset sum problem without Googling.

~~~
nilkn
But now your process is heavily biased against folks whose work has primarily
been for their current employer, and they don't have any reasonable side
projects to walk you through.

~~~
StavrosK
How so? It's not like I say "oh, that's too bad then, sorry". It just takes
longer to interview those candidates because we don't have that shortcut.

~~~
nilkn
My fear would be that you wouldn't have a rigorous, well-tuned process for
those folks, so there could be a lot of noise or randomness in their
evaluations. And it could be very hard for you to compare them with the folks
with extensive GitHub portfolios and resumes.

~~~
StavrosK
Perhaps, but what's the alternative? Don't look at anyone's OSS projects (and
lose a LOT of valuable information) because it would put the people who don't
have any at a disadvantage?

~~~
acdha
I think the main thing would be consciously correcting for that: the real
value is asking about design decisions — it's my favorite technique — and just
making sure that it's fully normalized that not everyone has those out in the
open.

It's still easy to spot the liars — e.g. I've interviewed people who worked at
the NSA and even they could talk about the skills they used, just not which
projects or data — and the process of deciding which things to talk about is a
pretty good way to explore their communications style, too.

~~~
StavrosK
Yes, that's what I generally tend to do. I present them with a scenario or a
problem and have them walk me through how they'd solve it and what their
tradeoffs would be.

------
ElatedOwl
As someone responsible for hiring developers, these quizzes seem like an
absolute waste of time. As an applicant it's almost insulting.

I've been a part of two great alternatives: a pair programming session with
the lead dev and adding some features/refactoring a sample project.

I'd be curious if anyone here is responsible for hiring devs and finds
hackerrank type tests useful.

~~~
jzwinck
I am responsible for hiring developers, and I do find online programming tests
very useful.

They serve as a relatively simple early-stage screen for applications from
people we've never met. Ours costs each candidate 1-2 hours. But we do not
require cover letters, which in the good old days might have taken about half
that time, and been thrown in the bin.

Some may think no CS graduate would fail a test that let you choose any
popular language to implement some basic string parsing. But in practice about
half the candidates fail this stage of the hiring process, which saves us
quite a lot of time. Yes, it costs each candidate an hour or so, but that's a
feature, similar to the oft-proposed idea that sending email could cost one
cent to reduce spam.

~~~
ElatedOwl
If you don't mind sharing, what size company and how often do you hire devs?

>Some may think no CS graduate would fail a test that let you choose any
popular language to implement some basic string parsing.

I don't see anything wrong with basic screeners like that, but I have
experienced some really silly stuff. Recently I was given a test that asked
~10 questions (some trivia, some paragraph type response), a few small simple
questions (reverse a string, etc.), create a class to handle card games
(poker, blackjack, etc.), and create a user repository... in 30 minutes. I
felt like a dog at a dog show.

~~~
jzwinck
45 person office, hiring developers gradually and continually. But what I
wrote also applied when I was at a 6 kiloperson firm and we hired a hundred
developers a year.

Some tests will seem impossible to complete in the alotted time. Often that's
intentional. It saves time for the candidates and gives a better spread of
scores (very few will get 100% in some test batteries). But it can be
disheartening. For these initial online tests I try to give enough time that
most people won't really run out of time unless they get stuck.

------
codingdave
I think that is a great response. But you also should be prepared for them to
say no, not because your proposal is bad, but because many hiring managers
want to put all applicants through the same hoops, to understand better how
they all compare when having to decide between 5 people who all could do the
job well.

~~~
nilkn
Not just that, but doing a completely custom interview just for this one
candidate is a lot of upfront investment to make in someone you may not even
bring onsite for the full interview.

All the caveats this candidate mentioned about standard coding screens are
true, but they can all also be taken into consideration by qualified
interviewers.

There are flaws in this candidate's proposal too. In particular, their
proposal does not satisfy their implicit criteria that the interview should
mirror real-world conditions, because they chose their own projects with which
they are already intimately familiar but the job most likely consists of
working on a pre-existing codebase that they know nothing about.

~~~
shkkmo
> In particular, their proposal does not satisfy their implicit criteria that
> the interview should mirror real-world conditions,

Real world conditions like these?

>> (1) time limits, (2) forbidding research on Wikipedia or StackOverflow, (3)
forbidding collaboration, and (4) forbidding the use of libraries

~~~
nilkn
Real world conditions like the one that you edited out of the sentence you
quoted. The point is that neither exercise perfectly mimics the job the OP is
being considered for, and they fail to do so in different ways.

~~~
shkkmo
> It asks for small algorithmic coding puzzles

There is no mention of "working on a pre-existing codebase that they know
nothing about" in the description of the HackerRank test... so I don't know
how your point applies?

~~~
nilkn
Sure, it's very hard to fully approximate that aspect of the job in a quick
coding screen. Small algorithmic problems don't come close in the grand scheme
of things. But they still put you in an environment and context where you
don't have the advantage of being an expert ahead of time.

~~~
shkkmo
> But they still put you in an environment and context where you don't have
> the advantage of being an expert ahead of time.

Yet by forbidding the use of external research and libraries they remove the
two main tools I would want some to use "in an environment and context where
you don't have the advantage of being an expert ahead of time"

~~~
nilkn
Sure, that's not ideal. And the more that I read about HackerRank specifically
the more I'm convinced it's a step back from boring old phone screens. We do
the latter with a Google doc, and while it's technologically primitive in
comparison it gives us complete flexibility and ensures the candidate can
always ask any questions they have, either about the problem or about the
company/job/etc.

The problems should be chosen such that external research and libraries are
not needed. For our phone screens, we don't even require the code to compile
or successfully run. For instance, we explicitly tell candidates to just make
something up that sounds reasonable if they need a standard library function
that they know exists but they can't remember its exact name or type
signature.

We've never used HackerRank, so I don't really know how customizable it is.
From the comments here, it sounds like it's designed to be fully automated
with no participation from any developers at the hiring company. I don't like
that at all. When I wrote my original comment, I'll admit I was thinking of it
as a more advanced Google doc for programming, not as a fully automated
platform. That's my bad, and I should have done my research a bit more.

------
maxaf
My regular policy is to ghost any employer who throws a HackerRank test at me.
This is usually a strong indicator that the work environment is incompatible
with my values.

~~~
hashkb
Never ghost anyone. It's so rude.

~~~
jzwinck
US companies ghost candidates all the time. They actually do it on purpose,
partly out of a fear that explicit rejections (especially with reasons given)
may elicit lawsuits.

Our applicant tracking systems won't be upset if you ghost them/us. Your
application will simply expire after a while.

------
nine_k
> _unnatural conditions including (1) time limits, (2) forbidding research on
> Wikipedia or StackOverflow, (3) forbidding collaboration, and (4) forbidding
> the use of libraries_

The above indeed does not make sense, unless you're hiring a solve-puzzles-as-
sports person.

I don't think it's enforced by HackerRank, though. It must be the employer's
requirement. If so, their hiring process does have problems.

~~~
sleepychu
I think this is enforced by HackerRank, colleague recently griped that they
couldn't set the time limit higher or get rid of the messages forbidding
x,y,z.

------
bitL
Many recruitment agencies won't even talk to you until you pass some FizzBuzz
test on HackerRank or similar. Even Facebook strongly suggest you to take
their own training based off similar platform and Google does something
similar. So it seems that even entry level jobs these days require Googlesque
excellence just to get your foot in the door. It's similar to law firms
requiring you to take parts of bar exam during your interview or physicians to
perform autopsy during interview. Even worse situation is with Machine
Learning now, where you are expected to answer PhD exam-style questions for
entry level data augmentation jobs. Unless you are from Top 10 school your
credentials don't matter at all. It's IMO complete insanity and I am throwing
such companies out of the door instantly unless they offer $500k+/year. Then
we can talk that way.

~~~
Arubis
If "Googlesque excellence" is passing FizzBuzz then I am severely
undercompensated.

~~~
bitL
FizzBuzz is a bit of understatement, most of those tests are alike once you
practice a bit and sink into trivial category; some companies actually give
you way more difficult questions than what you get at Google/FB etc. and after
you pass that terror then present you with an offer where you don't know if
you have to laugh or cry. I haven't seen a single company doing that outside
top 5 to compensate you properly for it. Everybody wants the best, everybody
thinks they are the next Google (well, they are far from it), and everybody
thinks coders are stupid and don't value their craft (which they don't it
seems).

~~~
dsacco
_> I haven't seen a single company doing that outside top 5 to compensate you
properly for it._

There are small financial firms which will conduct significantly harder
interviews than Facebook/Google. The offers are also commensurately higher
(significantly so).

~~~
bitL
And that's totally fine. If they offer you 500k or work on space ships/self
driving car core then I am willing to go through a grueling interview process.
If all they offer is 50-80k and a vision of making founders rich, they can go
literally stuff themselves.

------
chadash
As a hiring manager, I personally don't use HackerRank (or anything similar),
but I'm _thinking_ about it. My issue is that many of the people who I come
across (most of whom claim to have backgrounds in CS) don't have even basic
coding skills. For example, "write a function to reverse a string in a
language of your choice" baffles them or takes 20 minutes to write, even
though it was meant to be a quick warm-up question. If I _know_ someone is
strong coming in (for example, someone I trust recommended them), I will
tailor the questions more to them, but otherwise, giving some basic coding
problems weeds out a lot of people and saves everyone some time.

Even a short phone screen where I just ask someone to code a simple question
takes 20-30 minutes of my time (plus however much time I need to get back in
the zone), so HackerRank is appealing if only to weed out the very worst
candidates. I'm not familiar with HackerRank specifically, but I imagine you
have some choice as to how to set it up. If I could set it up to give
candidates plenty of time and ask relatively straightforward questions to weed
out people who don't have the basics down, it would be a huge time saver for
me.

~~~
Darkstack
> Even a short phone screen where I just ask someone to code a simple question
> takes 20-30 minutes of my time (plus however much time I need to get back in
> the zone), so HackerRank is appealing if only to weed out the very worst
> candidates.

But you took 20-30 Minutes of their time too, the only difference is that you
get a compensation at the end of theses 20-30 min, they don't. If someone told
me, "OK , i m gonna waste 3 hours of your time in exchange of a mere promise
of a job", i will simply decline the job.I work 9hr/day , I have better things
to do with my free time...

~~~
chadash
I'm assuming that you don't expect companies to hire everyone who applies and
therefore some candidates are going to have time wasted. What do you think is
a fair amount of time to expect someone to give for an initial screening?

~~~
Darkstack
My longest and latest job interview lasted 3 hours but we talked about the
goals and the visions of the company (that part doesn't bother me), the
technical part (code with a pen + questions) lasted about 15 mins. But to set
a threshold, generally i ask if the test requires more than 1 hour, if yes, I
decline politely.

------
soneca
It seems to me that this is a well-written, polite, non-confrontational
counter-proposal.

My opinion is that the company may have two responses that are both valid and
legitimate: i) _" Sure, go on, nice idea!"_ or ii) _" No, sorry, please follow
our established hiring practices"_.

Now, if the company takes that as arrogance and that email only is reason to
eliminate the candidate, the email still actually worked as a great way for
the candidate to eliminate the company. If a company punishes a polite,
thoughtful disagreement from a candidate, it must be a horrible place to work
for.

------
gstar
I think it's probably a great way to understand the culture of the hiring
organisation and to see if your approach would work with theirs.

It'll probably be relatively unsuccessful at a bigger company with worse
internal comms, with an HR function that's too far removed from the
engineering team.

I'm sure you'll find a job that suits _you_ with this approach, though.

------
jaclaz
Not being a programmer, nor a recruiter for IT jobs, but having some
experience in recruiting in my professional field, it doesn't look to me like
such a great letter/proposal.

Mind you, this might also depend on the specifics of the ad/request Mr. Fasiha
was responding to.

I mean this same letter if received from a senior developer would be received
very differently than if coming from a first time or junior developer.

What strikes me as negative, is - beyond the unneeded citation - is the
sneaky/flattering tone (IMHO) or - maybe - failed attempt at humour in this
sentence:

>I'd never heard of HackerRank, but after you wrote two other employers sent
me their own HackerRank tests. Having worked on those tests first (I
considered them practice, for the real thing with ABC :)

Then right after having confessed an almost total ignorance on the test, and
only two previous experiences with it, the Author goes on at length
enumerating in detail why and how the tests are "wrong".

I would have more liked a sentence to the effect of either "after having gone
through these tests n times I find them inaccurate" or "never heard about
these tests, not being familiar with them I fear they might not reflect
entirely my potentiality".

Pontificating on something you just stated not being fully familiar with
doesn't sound that good to me.

------
rovek
When looking for a new job I typically run a few applications at a time since
companies are so unreliable and, frankly, I don't have the time or inclination
for

* 5 x 45 minute phone screens

* 5 x 2-3 hour coding test (some of which will be the same)

* 5 x 3 hour face-to-face interview

Over the course of 2 weeks while attending my current job. Companies should
consider this when trying to hire "exceptional" candidates who value their own
time.

------
dumbfounder
In their defense, they probably have a very difficult time weeding out
candidates that don't know anything about programming. It seems like this is
the new alternative to a 30 minute phone screen, and I bet a lot of candidates
actually like it. But it's good they have your feedback, and if they aren't
too crusty, they will use your demonstration of knowledge in stead of your
HackerRank score as proof you know your stuff and pass you on to the next
level.

------
tw1010
I doubt being pissy against the recruiter is a good strategy for actually
getting hired. It might score you a few bro points on HN though.

------
jacquesm
You probably might as well have written 'no' for all the difference it will
make, but I have to commend you on the carefully worded and actionable bits in
your reply.

If I were the prospective employer I'd probably write you back that _before_
we will invest into looking at your production we kindly ask you once again to
jump over the low bar that was set for all applicants. Then again, if I were
your prospective employer I'd never have used hackerrank in the first place
because I feel that to expose a potential recruit to a third party service
would be a breach of confidentiality and besides I feel that such services are
- as you correctly identify - ill suited to picking the people I'd want to
work with.

It's akin to a luxury fizz-buzz test.

------
arcbyte
Boom. Hired.

If any of the candidates I've interviewed and hired had this sort of
independent and outside-the-box thinking, I'd have doubled their salaries when
I hired them.

~~~
nine_k
Have you actually made an offer to that person?

Do you have the power to double salaries of people in your org?

~~~
PakG1
The implication seems to be that gp has never interviewed and hired people who
"had this sort of independent and outside-the-box thinking".

~~~
nine_k
If the implication is true, that would be a data point.

If the implication is false, it would be an _exciting_ data point!

HN being what it is, here is quite a non-zero chance to meet a person with
real hiring power who really could have made an offer to the person in
question.

~~~
StavrosK
The GP's sentence was in the conditional perfect (would have), which means he
never met someone like that (otherwise he _would have_ said "did").

------
harlanji
I wonder what happened to human discernment. It’s like people think liars get
away without detection. The only reason a person who bullshits an interview
gets hired is because the interview was a formality to begin with; eg. Friend
of management who the whole interview board knew was BSing but also value
their paycheck too much to object. Yea, we don’t want that situation, and
clamping down on nepotism etc. at the candidate level is just wrong. “Boo hoo,
too many candidates, lets engineer a rube goldberg machine to make us feel
objective.” Just treat candidates as people...

I can’t imagine hiring to scale product development inside such a dirty room.
The most successful businesses I know of simply don’t complain about these
things, nor have personnel problems; people do the work that needs to get done
with a good attitude etc, with little awareness of title... acting more like
“mom and pop” businesses who value relationships.

How is any company building an awesome thing with an awesome team, with word
of mouth not bringing a torrent of personal references from the rank and file?
The good ones have that going on in my experience, there is just a glut of
shit rung employers (and candidates) here shaping our views toward
defensiveness.

------
richmarr
> _Would ABC be willing to work with me to define a better way..._

"Better"

Open source contributions carry a set of particular demographic biases to a
hiring process. They skew things towards comparatively well-resourced white
men.

There's certainly an argument to say that open source contribution is an
indicator of ability, but there are other ways to assess ability which don't
introduce such a heavy skew.

------
DominikD
This tells me that author was never involved in recruiting people. He may be
smart (even exceptionally so) but that can only be validated through a direct
interview. However since a lot of people (and I mean A LOT) cheat in their CV
and even GitHub portfolios, getting upset over "show us that you can do
anything" minimal bar test is something I'd rather not get in my mailbox. It's
polite and well worded, that's true, but shows that he doesn't understand the
realities recruiters are facing. I'd respond to his mail explaining why these
tests are mandatory but inevitably I'd have to treat him like a child that
faces the world for the very first time. I guess he should ask himself: do you
want to be treated exceptionally throughout the recruitment process? If you
think you're that unique, you're probably wrong (and that level of detachment
from reality isn't looking good).

~~~
StavrosK
> getting upset over "show us that you can do anything" minimal bar test is
> something I'd rather not get in my mailbox

A minimal bar test shouldn't take 90 minutes. If you want a test like that,
ask a FizzBuzz question, which is solvable in ten seconds and will be just as
good a discriminator. Asking people to basically solve riddles isn't
productive.

------
mseebach
Evaluating someone based on their GitHub repos isn't trivial at all, and it's
not something a (non-developer) recruiter generally can do effectively. At the
stage when HackerRank is relevant, the recruiter is trying to decide who to
put in front of a technical interviewer.

It's important to keep in mind the big advantage of tools like HackerRank:
They're scalable for the employer, allowing the employer to take a chance on
more candidates.

Without something like HackerRank, recruiters will tend towards lesser
heuristics, such as top schools or top firms on candidates' CVs. While
HackerRank has its issues, it's certainly a vastly superior heuristic than the
alternative for those many of us that don't have that kind of CVs.

It's also relatively scalable for the applicant, because it is asynchronous,
and can be taken whenever convenient. For many people in jobs, taking a phone
interview during business hours isn't easy.

------
collyw
Nice, I wish i had a bit more code to show off on github, as most of my stuff
is in house. Hackerrank is such a crap way to evaluate engineers.

~~~
hashkb
Hiring managers need to be sure they're being fair to everyone. How can they
do that looking at your side projects? They need a way to compare apples to
apples.

~~~
an_d_rew
Regarding the need to compare “apples to apples”:

(Manager, rummaging through an apple barrel)

“... apple ...” (toss)

“... apple ...” (toss)

“... apple ...” (toss)

“... fist-sized lump of uncut diamond ...” (pause... toss)

“... apple ...” (toss)

(Days later)

“Yeah, I found 2-3 decent looking apples... most are pretty bruised,
though...”

------
lettergram
Honestly, HackerRank is a pretty standard and easy test. I really think it's a
reasonable test, at least more reasonable than some. I've been given much
harder take home tests:

[https://austingwalters.com/you-are-given-a-deck-
containing-n...](https://austingwalters.com/you-are-given-a-deck-containing-n-
cards-2/)

However, HackerRank is just a screen on:

1\. Are you going to be difficult

2\. Do you have basic coding skills

Typically, I'd interview at least 10 people before I'd give an offer. Once we
added improved screening we got that number down to 5 people before an offer
(note screening wasn't HackerRank).

I think it's reasonable to screen and HackerRank is just that, it's not about
complexity.

~~~
dragonwriter
HackerRank isn't a test, it's a platform for testing; individual employer
tests on that platform can be more or less reasonable.

~~~
lettergram
Alright fair, I intended my meaning to be "HackerRank type of assessments -
limited time, basic, etc."

~~~
foo101
Your comment with the intended meaning is still incorrect.

HackerRank test can be as standard or as non-standard, and as easy or as
difficult as the individual employer wishes it to be.

------
danaliv
The point of an interview process isn't to find out stuff about you in
isolation; it's to be able to compare you to other candidates. That's only
possible if all the candidates go through the same process. Also, processes
get calibrated over time. The most bewildering thing to do as an interviewer
is to try a new process, because it's difficult to tell how a candidate did
without having collected some other data points.

------
tanilama
This is not going to work because it is unfair to other candidates, who did
the tests. And it is impossible to avoid any coding question later either.

------
dahart
> I'm hoping ABC's recruitment policy is flexible enough to let me offer
> alternative, or at least parallel, routes to quantifying my skill in coding
> [...] Would ABC be willing to work with me to define a better way to check
> my technical qualifications by choosing one of these projects?

It's good to see someone take the initiative to express this, but IMHO, it
would be even better to just take the initiative to contribute to one of the
proposed open source projects and put it on your resume, _and_ participate in
the Hackerrank part of the interview.

I like the proposals, and I'd probably land on the side of impressed if a
candidate I was interested in sent me a letter like this. But, I still need a
quick way to screen people, and I also need a set of standard questions that
all candidates get so I can compare & rank them. I don't use Hackerrank, but I
do ask easy weeder questions in the same style.

Then, after the candidate passes the easy part, I look at their portfolio of
work projects and side projects, and consider everything they have to offer.

------
brooklyn_ashey
It is difficult to believe that the person who knows how to sling slang like
"chops" (technical command and facility in a given domain)is the same person
who is only just hearing of HackerRank through an employer's request. Also
saying condescending things like "cute little" in your response takes away
from your earnestness cred and makes you seem angry. No one wants to start off
angry with a new hire. That said, you have a right to be angry when an
employer chooses to "batch process" you like just another piece of data. While
your proposal is great and it shows you go above and beyond, and employer who
uses HackerRank isn't looking for above and beyond. Use it to weed out
employers who won't meet you halfway as a partner- the way you want to be met.
If you are looking to work with a Willy Wonka, consider the thought and care
that went into his job interview.

------
bootsz
You are not alone in your frustration, and I suspect most people here will
sympathize with you as this topic comes up quite often in the software
community. Just be aware that drawing this kind of line in the sand is going
to greatly limit your options.

If you want to be evaluated in a more holistic manner (including side
projects) you'll probably have better luck with very small companies. When the
people in charge will actually be the ones working with you every day, and
they are only filling a small number of positions, they will be more likely to
find it worthwhile to get to know you as a whole person during the hiring
process.

Unfortunately, once a company is beyond a certain size this just isn't
possible because it doesn't scale. They have to fill hundreds or thousands of
positions and also maintain a universal set of hiring standards. Things
degrade into a game of numbers. This makes cookie-cutter tests almost
inevitable.

While frustrating in their own right, for me what makes things worse is that
you have to do one of these screens for every single company you apply to. And
most companies have the same evaluation goals for the phone screen stage
(e.g., do you actually understand data structures & algorithms).

What I'd really like to see is the emergence of something like a "common app"
for software hiring. Outsource technical screening to a reputable third-party,
and once you've proven yourself by obtaining a good enough "score" you can
move immediately to on-sites (what constitutes a "good" score would vary by
company). This doesn't solve the problem of the efficacy of technical screens,
but it at least cuts down on all the redundant effort.

Two services I've tried so far that are doing something like this are
Interviewing.io and A-List. Unfortunately it seems these services merely make
it easier to _get_ a phone screen, rather than replacing them. But it seems
like a step in the right direction.

------
KhanMahGretsch
In general, I find that assuming that other players will act rationally or in
their own best-interests (according to my subjective definitions) is
inadvisable. If OP has a major problem with the quality of their hiring
process then, by extension, he _could_ also have major problems with his
potential co-workers and the organisation's culture.

The value proposition of investing time and effort into interviewing with this
company appears to be less than, say, interviewing companies whose priorities
are well-aligned with OP from the get-go. That being said, these kinds of
"coding puzzle" screeners aren't going anywhere, and may lock him out of great
opportunities at great companies.

 _" I'd rather have it and not need it, than need it and not have it."_

------
xianshou
Evaluating side projects is a perfectly valid way to document a software
engineer's potential value to a company, but that's not really the point of
HackerRank. The purpose of HackerRank is to be a coding _screen_ \- that is, a
test of basic ability to code simple algorithmic problems under moderate time
pressure.

I have taken a number of HackerRank screens myself, and I have never seen one
that either (a) tests beyond the coding level that would be expected of a
fresh CS graduate or (b) is not vastly exceeded in scope and complexity by the
coding challenges given during the onsite, which do allow considerably more
flexibility and relax some of the artificial constraints.

Why attempt to circumvent a test that is meant as a slightly less trivial
FizzBuzz?

------
hyperpape
I don't think I can find it right now, but I recall a comment by Patrick
MacKenzie
([https://news.ycombinator.com/user?id=patio11](https://news.ycombinator.com/user?id=patio11))
to the effect that companies that have onerous interviews often also have a
"cheat code" path for highly accomplished candidates (well known figures, or
someone who's strongly vouched for by someone highly trusted within the
company) who find the normal interview process unwelcome.

This response seems like an attempt to engineer that path out of nothing. Good
luck, but you can also avoid these interviews if you can make those
connections/build your reputation to the right extent.

------
gedy
I think this is a perfectly valid response if you are
senior/experienced/specialist and asked to do these impersonal quizzes. "We
need to filter out the idiots" is not a valid reason to waste an experienced
candidate's time either.

~~~
chadash
There's no question that some questions are inappropriate for senior hires.
For example, if someone comes in with a lot of open source work, I think it's
probably wise for the hiring manager to devote some more time and personalize
the process a bit since that person has already has signals that they are
probably good (or at least more likely to be good than most candidates).

But most developers (and I'd venture most _good_ developers) don't have
reputations that proceed them. Since it's hard to separate the wheat from the
chaff, I think that a quick coding quiz is fair game so long as it doesn't
waste too much time. For example, if I were interviewing, I'd probably be
willing to devote about 30 minutes to this sort of thing, but more than that
and I'm probably not going to bother unless I'm very interested in your
company.

~~~
gedy
Sure, valid points, and agree there's a place for this type of screening. I'm
mostly referring to when you're experienced, and approached by a company via
an on-site recruiter or employee referral. You are busy and not actively
looking, but then trying to then feed you through hackerrank quizzes or
whiteboards is just so off-putting.

~~~
StavrosK
My experience has been worse: After I'd do all that, they said "great, we'd
like to hire you at 80% your current salary!". It angers me.

Nowadays I say up-front "I just want to mention this because it's generally
been a sticking point and I don't want to waste your time, I'm looking for a
salary in the range of $X". That has saved me a whole bunch of time.

------
alexandercrohde
One the one hand, I agree about the mismatch between hackerrank and
engineering skill. On the other, I also suspect there are many engineers who
can code amazing personal projects who lack the motivation/communication to
handle the kinds of maintenance tickets you'd likely see in a mediocre
codebase for a noname b2b (or whatever the job is).

I tried to build my own coding test that is based on refactoring based on
changing requirements:
[https://alexrohde.com/public/zennish/index.html#/challenges](https://alexrohde.com/public/zennish/index.html#/challenges)

------
dagw
I'll admit my initial reaction to these sort of requests can be pretty
negative, I did find this letter well written and wouldn't have a problem with
it if I received it.

That being said, depending on the type of company and the number of candidates
they are dealing with, I wouldn't be surprised if they simply ignore your
letter rather than trying to deal with it. If you have 60+ more or less
qualified applicants for a single job opening your first job is to get that
down to less than 10 as quickly as possible and throwing out anything that
doesn't fit into your template is a quick and popular first step.

------
justinhj
I worked in a job a couple of years ago with a small team that was hiring
quite fast so it was typical to have to evaluate 10 applicants a week. Since
as leads and seniors we were very busy Hackerrank was a useful way to evaluate
lots of people without much effort and easily compare them by “score”. That
said I regret it because the results were not as good. Every candidate is
different enough that each interview turns out completely different. I think a
better policy is if you’re too busy to give people the attention they need as
they go through the pipeline - just wait until you’re not busy if possible.

------
bobbytherobot
I have no allegiance to the HackerRank or the current hiring process of most
Bay Area tech companies. The basic formula is: first a chat with the
recruiter/hiring manager to establish interest; follow up with a screener that
is a take-home exercise, HackerRank exercise, or phone interview with an
exercise; then a four to five hour on-site. This is a lot of time for everyone
involved.

What are the alternatives?

They need to minimize time, give everyone a fair chance, and improve the
signal. I certainly wouldn't say the current method is great at meeting those
criteria.

------
ajeet_dhaliwal
Good luck but they may just want a robot who shuts up and conforms. Despite
some people here saying the balance of power does not necessarily rest with
the employer, in some cases it does if there are many desperate job seekers
who are willing to jump through hoops. You may want to apply to specific
smaller teams and/or do your own thing. That said, if you do bite, I have
learned a lot from my stints at places who hire like this. The biggest lesson
I learned after several years is doing my own thing is right for me.

------
calvinbhai
Way to go!

IMO If employer is adamant to rely only on cookie cutter first round
interviews, then it’s probably not worth joining such places. It’ll be filled
with people who are great at cracking such interviews and believing that these
cookie cutter interviews are the only way to go.

There will be people on both sides of this debate, pro and anti.

If you don’t believe in solving algorithms/ hackarank type initial interviews,
it’s good to challenge such requests.

If you are fine with it, that’s great. You and the employer have the same
thinking. And it’ll/ May work great!

------
hashkb
No, no, no. They have the job, you want it. That email comes across so
arrogant that I would expect even the newest hiring manager to laugh and
delete.

Without even addressing the sour grapes attitude about coding interviews, the
sheer arrogance with which you try to dictate someone else's process is a red
flag in the first place. That, plus the fact that you're refusing to do what
they want, is really bad for your chances of being hired.

~~~
chrisrhoden
> They have the job, you want it.

By definition, if they have a job, they want to fill it with a qualified
person. Jobs aren't (usually) charities to the person working.

~~~
hashkb
Qualified is something they've defined as "passes this interview process" so I
don't think trying to get out of it will be a "yes" too often.

------
romanovcode
I agree with you on the points that HackerRank actually is not a very good
indicator of how good programmer one is.

However unless they really like your profile they will immediately next you
after that kind of response because companies also don't have time for this
nonsense. They just want a standardised tests for all candidates so they can
rank them and then hire the best.

------
anonytrary
I've done ballsy shit like this to get attention from employers. Once I was
too slow with the programming questions in the screen-share, so I put up a
website with a detailed solution to the last question.

I almost got the job, they randomly canceled the on-site at the last minute.
Needless to say, I think my effort at least got me to that final step.

------
dsr_
One of our hiring managers uses HackerRank as a basic filter. (If you are
applying for a position called Data Scientist and you cannot do a linear
regression, you are applying at the wrong company.)

I think an email like this would be just fine, for them.

I think it would go over badly at companies where HR runs the hiring process.

------
mpetrovich
From both sides as a hiring manager and candidate, I’ve found that a take-home
coding challenge that’s tailored to the company is a far better indicator of
fit.

With a tailored take-home, the company has a chance to evaluate candidates
based on more realistic, holistic challenges than “solve this academic comp
sci problem that you won’t actually encounter on the job”. And candidates can
get a better sense of the type of work and challenges they’d actually be
tackling on the job.

The take-home isn’t tailored to each candidate. The opposite, actually: it
needs to be the same for all so that candidates’ solutons can be compared.

Here’s the tl;dr example of a challenge we give web engineering candidates:

“Here’s our API and API docs: <link>. Create an interactive data visualization
using D3 and any other tools you’d like. Your submission should include
instructions on how to run it.”

By keeping the challenge relatively unconstrained, we allow candidates to show
some creativity and prompt them to make the same feature/quality/speed
tradeoffs that they’d have to make in the role. We look for autonomous
individuals, so this turns out to be a good filter. We encourage them to spend
less than 4 hours on it, but our time limit is a pretty generous 1 week since
they likely already have a full time job and other interviews.

~~~
gedy
I very much agree after adding similar at my last company, it was a great way
to screen the best-fit hires. Ironically the on-site recruiters didn't like it
because it gave better results than their phone screens.

------
fred_is_fred
As reasonable as this seems on the surface it implies a person who will likely
next send me 3 pages about how he should be exempt from the vacation policy
and a treatise on how we are doing our health insurance. I'd be a hard pass
after reading this.

------
fouc
Developers that are in high demand can help guide prospective employers on
what sort of technical interviews are acceptable and which are a waste of time
on everyone's parts.

------
avip
Immediate no hire. Just do the test, excel, then work on improving the hiring
process. HackerRank is imperfect, but it's practical. Like code.

------
StreamBright
I skip all the companies requiring something like HackerRank. Not worth the
effort.

------
mindhash
always thought candidates with side projects could be spared of Hackerrank
tests.

Yes, side projects can be fake but thats why you interview for multiple
rounds. Think even there is no proof a candidate really took the HRank test.

------
rdiddly
In the time it took to write this, he could've finished the test. He might've
even spent _longer_ on this.

Ideas for how to do hiring differently are cheap and plentiful.

------
zbentley
There are very, very many comments here accusing HackerRank and/or
puzzle/algorithm problems in general of being poor tests for how good a
programmer someone is, or that people who use such problems just want "robot"
workers to churn out meaningless code.

These comments are completely missing the point. HackerRank's value is as a
_screening_ process. The point of such problems in the early phases of an
interview is not to find out how _good_ a programmer you are, but how _bad_ a
programmer you are.

There are an ASTOUNDING number of candidates for programming jobs who can
barely code. FizzBuzz eliminates a lot of them, but sometimes you need
something just a _bit_ more difficult. That's where HackerRank comes in.

When talking to people that are "professional programmers actively seeking
work" I find that the majority of them can't do simple tasks. "Simple" isn't
meant in an arrogant way, either; examples include reversing an array (with no
space constraint), iterating a dictionary/map (regardless of understanding map
implementation, a lot of people don't understand that iteration order isn't
predictable), and basic use of nested lists/non-scalar data structures. Those
aren't esoterica that "nobody uses" on a daily basis, they're bread and butter
of programming work.

These people have hobby projects/OSS work, it's just . . . not sufficient, in
many cases, to indicate basic competence on the job. I don't know why that
doesn't correlate. I don't think most of these people are lying and publishing
work that isn't theirs. It might be that they have a very long time to write
the stuff in their GitHubs or whatever and can't do basic things in a hurry
otherwise. It might be something else. Regardless, they turn out to be
unqualified when tested on the basics.

If you find the problems insultingly easy, choke it down and consider it
equivalent to the question of "are you comfortable being asked to show up to
work on time?"\--patronizing, but an easy box to check, and not meant for you.

There are companies that rely entirely on very hard/complex algorithms
problems for interviewing, with the full knowledge of what they're testing for
and why they're using those tests. I'm not talking about those companies;
there are good and bad reasons for doing that. I'm talking about simple coding
challenges presented early on in the candidate's process.

There are also companies that get confused as to what they're using the
HackerRank-equivalent tests for, and give really hard problems (or, worse,
puzzle problems that block all progress and rely on some sort of "gotcha"
trivia knowledge to even approach), but evaluate candidates' performance as if
those problems were FizzBuzz++ basic competence screenings. That's a mistake,
but also not what I'm talking about here.

------
nukeop
In addition to my other projects, I've also added the code of all HackerRank
problems I've solved to a repository on Github. I link that profile whenever I
look for a job. This way the recruiters have an abundant source of code
samples they can look at when making their decisions.

------
spork12
I can see giving a test like this for an entry level job, but for more senior
positions it doesn't really make much sense to me. I'd rather show off a bunch
of projects I have under my belt or code I've written in the past.

For example, I haven't had to write my own algorithm to parse a b-tree or
implement binary search since I left school. I could explain how these algos
work, but to actually implement it perfectly in python or java under timed
conditions with no outside docs, I would most certainly fail and the company
would miss out on a pretty good generalist.

------
foo101
I have had the misfortune of doing a few HackerRank tests where the problems
were not prepared well.

For example, the correct answer does not appear in the list of available
options, or where the problem statement is not precise enough to solve in an
unambiguous manner.

There is no human I can talk to and ask clarifying questions to resolve the
ambiguity because, you know, it is a HackerRank test!

After going through these experiences, I have decided that HackerRank test is
just not worth the time. As a rule, I decline any request to take a HackerRank
test citing my reasons as politely as possible. Surprisingly, more often than
not, the recruiter is happy to setup a telephone round where I can talk to an
actual human.

------
a_imho
Hackerrank is nonsense, question is how desperate the person is for the job.

