
How I Became HackerRank 1 in Two Hours - abhas9
http://williampross.com/became-hackerrank-1-two-hours?ref=yc
======
gamedna
Over the past several months about 4 out of 10 companies that interviewed me
actually required me to complete several HackerRank challenges because I did
not have a HackerRank score. The fact that I have worked for several industry
leading companies, and had 20+ years of development experience was irrelevant
without that score. As a sr. dev manager, I found this to be an odd
requirement.

~~~
skizm
I'm totally okay with that. I was fresh out of school and was working at a
small consulting company that required us to go work with some larger
companies and lots of "senior" devs - 10+ years of experience all of them -
I'd say 50-60% of them could not code fizz-buzz.

There was one meeting with two devs, both of whom had worked as programmers
for over 10 years at this company and we were looking at code one of them
wrote. The code looped over a string's chars to check for a single char's
existence, and there were 26 IF statements: one for each alpha character. I
had to explain to these two about the "contains" method. 10 years of
programming experience each. And I had to show them the "contains" method...
Since then "X years of programming" doesn't mean a thing to me.

~~~
NotSammyHagar
How are people that can't do fizzbuzz able to function in a programming job?
The thing you describe should lead them to struggle with virtually anything. I
used to do front line interviews, and it was rare even then for people like
that to make it to me. I've mostly worked for large, successful tech
companies. I don't see someone like that getting a job, and definitely not
being able to hang around for a long time.

~~~
prawn
When people say someone "can't do fizzbuzz", do they mean _can 't do it
cleanly or optimally_, or _can 't do it at all_?

~~~
borski
Can't do it at all. About 70% of the people we interview fall into this
bucket. Another 10% can't do it cleanly.

The rest get to continue past the first five minutes.

~~~
sndean
Just to clarify, since I've never done a programming interview:

70% of people can't do fizzbuzz _during_ the interview?

~~~
jwatte
Correct.

For our coding screen, we use coderpad.io, which lets you chose whatever
language you want. Go try it out yourself!

~~~
gumby
Doesn't include Lisp :-(

~~~
firepoet
At least it includes Clojure, which is technically a Lisp...

------
lewisjoe
I like computers. I did when I was 17 & I still do now. But, as a young
developer now, I'm quiet scared of the industry as a whole. The direction it's
heading towards. I don't know the right answers but there is quiet a lot of
things on part of the hiring process & what's considered as value in the
software industry, that feels wrong.

Let me get specific.

1\. Competitive programming is great. But why hold it in direct proportion to
ability to build products?

2\. What happens 10 years from now. I know the 'keep up with the latest'
drill. I'll definitely be doing it & I quiet like it. But why is the trend
unreasonably favouring fresh graduates and quiet unjust to the seniors.
Shouldn't it be the other way around? I don't despise the freshers. I'm quiet
a fresher myself, but it still concerns me.

3\. Why are things changing so fast in the first place? Don't get me wrong.
I'm looking at the JS ecosystem. I like diversification. It's good. In our
industry diversification helps better than anything else. They eventually
converge back. JS is yet to reach that state, but still it concerns me the way
the Javascript ecosystem is diversifying.

We've got an awful lot of things to set right in the industry. Hiring process
is definitely something that needs attention. I personally find short-term
paid contracting as a part of the hiring process, much much healthy than
whiteboard coding & website ranks.

~~~
malisper
> Competitive programming is great. But why hold it in direct proportion to
> ability to build products?

Because it's quick to test how good someone is at competitive programming,
it's easy to grade everyone consistenty, and it (somewhat) correlates with
actual programming ability.

Compare it to other interview techniques. A programming project/trial period
is time consuming. And it's hard to grade everyone consistently when going off
of their resume/github.

~~~
lewisjoe
> Because it's quick to test how good someone is at competitive programming,
> it's easy to grade everyone consistently, and it (somewhat) correlates with
> actual programming ability.

I'd agree. Competitive programming does correlate with actual coding ability.
The category of people who find it satisfying, earning ranks from a website -
that's what bothers me.

Young talents who've got all the time needed to earn score, they do it. What
about the rest of our veterans? How fair is it to keep a website rank as a
baseline for job in the real world.

I don't know many who find competitive programming fascinating, after 5 years
solving real problems for real people. I may be wrong here. Please
disapprove/acknowledge me in the comments.

It's a deep problem. Not a lot of organizations can afford the short-term
contracting method. I agree. But I consider the cumulative star counts of
their github projects, way better a metric than a rank from a website.

There's no one right solution to this. But competitive programming score is
IMO a very wrong direction to go. We are very much capable of coming up with
better solutions. That's what we are good at :)

~~~
poikniok
[http://codeforces.com/profile/Petr](http://codeforces.com/profile/Petr)

------
tedmiston
It should also be pointed on that #1 is not an exclusive position on
HackerRank's leaderboard. It it shared by everyone who got full points on each
Java practice problem [1]. I see 16 full pages + 1 partial page = 166 people
who are tied for "#1 in Java".

Furthermore, "#1 in Java" is not "Hacker Rank #1". Each leaderboard is broken
up by language, topic, or contest. OP is trolling really hard here. There is
no overall ranking across boards, so this claim doesn't make much sense.

(All this aside, I do really like the HackerRank platform and have been
solving quite a few problems there lately.)

[1]:
[https://www.hackerrank.com/leaderboard/java/practice/level/1...](https://www.hackerrank.com/leaderboard/java/practice/level/1/page/1)

~~~
jedmeyers
And HackerRank Java challenges are more like training for the beginners than a
"Master of Java" verification. I know this because I also was #1 in Java and
it was very easy compared to the algo challenges they have (you lose #1
position when they add new questions).

~~~
tedmiston
This is true. I've done dozens of the Python ones which are more or less
mastering the basics of the standard library.

------
MOARDONGZPLZ
tl, dr: The guy just blindly copy/pasted the answers from the discussion
section of each problem to the question itself and passed all tests, without
even really reading the question or answer.

Is having a specific HackerRank meaningful to the outside world? I am
unfamiliar with HackerRank, but solve algorithm questions on a site called
LeetCode for fun. When I get truly stuck, I consult the discussion area and
implement the suggested solutions. But I don't think it would be meaningful
for me to go through all 450+(?) of their questions and paste in the answers.

What's the motivation to achieve Hacker Rank of 1, when presumably everyone
knows you can just copy/paste the answers?

edit: as pointed out below, I jumped the gun on the motivation question. I
guess I assumed the second part of the article expanded on the motivations,
which were that the author heard people hired based off of HR. Hopefully those
companies realize how easy this is to manipulate.

~~~
plandis
He mentioned why he did it. Allegedly Morgan Stanley / other unspecified banks
were hiring people based on Hacker Rank rankings

~~~
adventurer
I believe that article stated Morgan Stanley / Banks were hiring based on
using Hacker Rank to screen candidates with their own unique tests, not
rankings. It didn't involve the default questions William went through, though
similar.

------
jakozaur
I prefer Codility over HackerRank:
[https://codility.com/](https://codility.com/)

They also have lessons:
[https://codility.com/programmers/lessons/1-iterations/](https://codility.com/programmers/lessons/1-iterations/)
and challenges:
[https://codility.com/programmers/challenges/](https://codility.com/programmers/challenges/)

------
curiousgal
TL;DR

Copy/Paste the solutions from the discussions page.

Cached version:
[http://webcache.googleusercontent.com/search?q=cache:3BXmrLl...](http://webcache.googleusercontent.com/search?q=cache:3BXmrLlEVhAJ:williampross.com/became-
hackerrank-1-two-hours/+&cd=1&hl=en&ct=clnk)

------
dev_throw
Companies like HackerRank turn software engineering into a commodity (great
for code copy paste). The HackerRank contests submitted by companies were
quite buggy, verbose (but with confusing English), and like the author, took a
lot of fighting with the website to get the code to pass the tests.

This is in no way a measure of success as a software engineer, where a
significant amount of time is spent in defining problems and articulating
maintainable solutions for deploying features. This means using design
patterns, proper documentation, in lieu of regex type expressions that are
indecipherable a week later.

------
votr
This is going to keep getting worse until we have some sort of guild or
association whereby being a member implies we're already vetted.

------
eternalban
He's not reading between the lines. They are looking for young/green
developers.

------
johanneskanybal
Today in "What happens when nailing the tech interview is impossible for
companies but the incitament for doing so is great and well, there's a lot of
software companies around".

Great read, worked for about 10 years in dev never heard about hackerrank but
it's part of a pattern sure.

------
tgarma1234
I feel like a system like IBM Watson is going to end up writing the code in
the near future. The real action, therefore, is in explaining the business
logic and requirements in a structured way so that the AI can write the code.

------
orliesaurus
Ladies and gents, this is the 2016 software engineering world

~~~
ubernostrum
This is how companies ensure they "only hire the best".

------
codeN
Disclaimer : Developer at HackerRank, however I do not know details about how
Furlong was hired, so I can not go into that. Also this is not an official
response, but a personal one.

So I think the source of misunderstanding is that we have multiple rankings on
HackerRank. The leaderboard Mr. William Ross became #1 was in the practice
leaderboard for the Java Domain[1], which is based on practice problems, and
which is intended to get people upto speed with Java.

This is our global leaderboard sections [2] :
[http://i.imgur.com/2rkgwmg.png](http://i.imgur.com/2rkgwmg.png)

We make the distinction of Contest based leaderboard which are based on your
performance in contests, and practice leaderboard, which is the one Mr. Ross
got on to.

This is based on contests and the forums during contests are monitored for
answers and solutions, and this is what would be considered really hard to get
on to, and I know the #1 there, uwi is amazing.

Our regular domains available at our domains page[3] are meant as a learning
tool, where you can rise up as you solve problems, and yes the solutions are
all available in many places. However since this is a practice area we do not
do many of the things done in contests like restrict forums, look if solution
is available online, run plagiarism(code similarity) matches etc, and
generally we encourage people helping out in forums, although yes we should
keep a watch on direct solutions appearing in forums. This is not intended to
be a competition.

While I do not know how Furlong was hired, I can tell you the common ways that
people do get hired.

1\. Companies conduct contest or sponsor HackerRank conducted contests.

2\. Candidates apply via HackerRank jobs[4] which again has a HackerRank test
that follows.

3\. Candidates practice on HackerRank after which they may be approached by
companies seeing their positions, but generally this involves a HackerRank
test as the first round.

4\. Common test for a LinkedIn placements (currently in India alone)

5\. The regular HackerRank test companies send across.

[1]:
[https://www.hackerrank.com/leaderboard/java/practice/level/1...](https://www.hackerrank.com/leaderboard/java/practice/level/1/page/1)

[2]:
[https://www.hackerrank.com/leaderboard](https://www.hackerrank.com/leaderboard)

[3]: [https://www.hackerrank.com/domains](https://www.hackerrank.com/domains)

[4]:
[https://www.hackerrank.com/jobs/all](https://www.hackerrank.com/jobs/all)

~~~
thebigspacefuck
Well shit, I thought doing the challenges there would actually reflect my
ability. Now it kinda seems like a waste of time.

~~~
codeN
Well in practice areas it would if you take it without cheating it will. We do
not want to make practice areas competitive in nature. If you want to really
get to know your ability or challenge yourselves then I suggest the
contests[1]

[1]:
[https://www.hackerrank.com/contests](https://www.hackerrank.com/contests)

------
exBarrelSpoiler
Which coding challenge website do you prefer? HackerRank, LeetCode, TopCoder,
CodeFights, Stockfighter, etc.?

~~~
guessmyname
I have a list of nine different websites _(see them below)_ that I visit
every-single-day to keep my programming skills in shape. I have no preference
whatsoever since they are all pretty much the same, some of them have better
coding problems than others but nothing special.

However, during the last two months I have been using LeetCode and HackerRank
more than the others because they are used I have been interviewing with a lot
of medium and big sized companies, the big ones usually ask medium/hard
questions from LeetCode while the medium sized companies prefer to filter
people via HackerRank.

\- [https://leetcode.com/](https://leetcode.com/)

\- [https://www.codeeval.com/](https://www.codeeval.com/)

\- [https://www.hackerrank.com/](https://www.hackerrank.com/)

\- [https://www.hackerearth.com/](https://www.hackerearth.com/)

\- [https://www.interviewbit.com/](https://www.interviewbit.com/)

\- [https://www.codingame.com/](https://www.codingame.com/)

\- [https://www.codewars.com/](https://www.codewars.com/)

\- [https://open.kattis.com/](https://open.kattis.com/)

\- [https://codefights.com/](https://codefights.com/)

~~~
exBarrelSpoiler
I thought Code Fights was the current hotness, people have been hyping how
they feature real AIs (testbots) created by actual companies or note. Isn't
its format at least distinct from the other sites, which are mostly the same
Top Coder format of "here is an algorithmic problem, solve it and we'll grade
it?"

~~~
guessmyname
CodeFights is more like a play environment like CodingGame, I am yet to find a
company that requires me to write the algorithm for a robot in order to
demonstrate my programming skills. This is why I prefer LeetCode and
HackerRank, not because they are better but because they are what companies
are using to interview people. CodingGame has a Machine Learning exercise so
it is not like the other websites are not innovating, it is just personal
preferences.

------
tedmiston
The author is breaking the rules of HackerRank and should (hopefully will) be
banned.

Anytime we share challenge problem solutions in the open there is an ethical
issue about it. HackerRank specifically even does plagiarism detection.

I some of my own solutions to challenge questions in a public repo on GitHub
[1] for educational purposes. I recently slapped a big disclaimer on that for
people like this.

> Disclaimer: These solutions were developed by me individually unless
> otherwise stated and are shared for education and curiosity. Please do not
> use them as your own. If you're working on the same problem, please do not
> view my answer until you've solved it on your own. If you're working on a
> related problem, it's generally okay to cite a solution to another problem
> as a reference.

[1]:
[https://github.com/tedmiston/challenges](https://github.com/tedmiston/challenges)

~~~
stale2002
What ethical issues?

This is imaginary internet points we are talking about here, not your PHD
thesis.

The internet points on these websites really don't matter, what matters is the
skills you learn while doing them.

~~~
tedmiston
The ethical issue of pretending you thought of and wrote code that you didn't.
Not much different than plagiarizing in academia.

Internet points aside, HackerRank is a technical recruiting platform.

~~~
kamaal
There is already an ethical issue, anyway you look at it. Even if you do not
copy paste the answers.

Its not like participants on forums like hackerrank invented those algorithms.
Every single data structure and algorithm question asked on sites like
hackerrank has solutions invented by some Computer Scientists, participants
are just using them.

The only question we are asking from the where do those participants replicate
the answers? Do they replicate it from a book? Webpage? Memory? You could
replicate the answer from anywhere, as long _you didn 't invent the data
structure or the algorithm you are essentially plagiarizing._

>>HackerRank is a technical recruiting platform.

If you use irrelevant tests to measure capability of the candidates, why cry
when they match up to it in their own way?

~~~
tedmiston
Writing your own algorithm or data structure implementation from a description
of the algorithm is considered fair game in every programming challenge
competition I've ever seen. This includes the national level ones like ACM.

------
lonelyw0lf
A developer who has so much time in hand that he spends his time playing
challenges all day is likely to not be "good" or "great" anyways. I've always
found these challenge sites to be stupid and would never wanna work for a
company who demands a good HackerRank or a good karma score on StackOverflow.

------
dorianm
I guess it would also be trivial to detect copy/pasted solutions and
ban/remove those answers from the user.

~~~
ktRolster
It's a game of cat-and-mouse. A user can modify some variable names and get
around naive algorithms.

If you eliminate too many 'pre-made' answers, then you get into a situation
(especially for shorter problems) where you start flagging people who
legitimately solved the problem, and just happened to write an answer similar
to someone else's.

~~~
sdenton4
Homework: Write an adversarial ML model in which one model modifies source
code to produce equivalent output, and the second model tries to determine
whether the output of the first model is 'original' or not...

~~~
ktRolster
It's hard for even a human. In some cases, the copied material can be
equivalent to original material, thus, literally impossible to distinguish
(disclosure: I've worked on a system to detect this sort of thing in academic
settings).

------
welder
People should start using real world coding as a measurement of skill. My
personal website shows real-time graphs of my programming in each language
I've used.

[http://ahamlett.com/](http://ahamlett.com/)

~~~
achikin
It's offtopic but the urge to ask is too high. I have an idea of how wakatime
works, so on Tuesday you've been coding for almost 13 hours? No planning, not
committing, not reading docs, just typing into your editor for 13 hours?

~~~
welder
Yep, I had a backlog of things to work on and no distractions that day.
However, it's also counting the previous day's coding that spilled over across
midnight.

------
master_yoda_1
Hackerrank is a great site for solving problems and learning. If you want to
do fraud you can do anywhere. But fraud won't go very far. You would be
caught.

One example: I quit my last job because one co worker (c++) try to set a flag
in destructor and checking that flag in member function to fix a segfault.
Even though the person was having an ivy league degree and 10+ year of
experience I don't want to work with them. Couple of other guys also left the
company.

So it won't last long and a fraud would be caught. A fraud might end up
working in sucker jobs and always wonder why they ask algorithmic question in
interviews ;)

~~~
dimino
3 people left their jobs rather than work with the novice to make him better?

You're never going to find happiness that way, friend.

~~~
master_yoda_1
The guy has 10+ years of experinence. There is a fifferenve between fraud and
novice.

~~~
dimino
I just... never see "quit" as the response to a bad colleague. I could be
wrong, I guess.

~~~
amorphid
There's no guarantee you won't have a bad colleague in the next place, too.
That said, if a bad colleague makes your work exceptionally difficult, that's
a tough position to be in.

------
dunkelheit
On a related note, I've observed that some of the solutions to tough problems
just perform matching on the input and print out hard-coded expected output.
How utterly pointless.

I don't see the point in hackerrank-bashing though. The site's UI is nice and
it has got a good selection of problems for brushing up coding interview
skills. Also, I think that most companies that "hire based on hackerrank
ratings" use it to feed their pipeline and do additional interviews on their
own.

------
finid
Well, if you guys know any Wall Street companies hiring "programmers" based on
their HN points, please let me know.

------
prashant10
This is a very well know thing and this post could have been more interesting
if you could have automated stuffs :P

------
hacktank123
imo hacker rank is bad since it commoditizes developers. Ive in the past
refused to take a hacker rank quiz. I always offer the alternative to take a
live phone screen. Some agree some don't. But in the end I refuse to have my
reputation in the hands of some random company.

------
matchagaucho
HackerRank seems ideal for apprenticeships, internships, and other low-risk
onboarding programs that provide candidates with opportunities to perform in
real-world situations.

Those who "game" the system are easily filtered out.

------
0xmohit
Another recent discussion about HackerRank [0]. (It was flagged.)

[0]
[https://news.ycombinator.com/item?id=12667174](https://news.ycombinator.com/item?id=12667174)

------
danielrm26
Not likely to get a programming job out of this, but perhaps a job in
information security where the game is to figure out how to abuse systems.

------
laxk
Did you get any offer from any company?

------
edoceo
Validation of my decision to never use HR for hiring data

------
douche
If the system is stupid, the smart thing to do is find a stupid solution to
it. Illustrate the absurdity of the metric.

------
johnwheeler
You earned it as far as I'm concerned. It doesn't sound like you're breaking
any rules so much as taking advantage of a flaw in the system. That's hacking
in it's most sublime form. If it were a blackhat operation, you'd be exposing
yourself to punitive damage. You're not here (unless the mods take retribution
on you)

------
almata
"The service is unavailable."

It seems no algorithm there taught you more useful things though.

~~~
__s
whoosh

~~~
almata
Nah. It was just a (bad) joke. Should have added a :p

