back
315 comments
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.
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.

HackerRank must have genius salespeople. I can see the whole pitch unfolding on the back of my mind: how it saves valuable interview time, ensures skillset validation, follows best industry practices and only improves as new candidates flow through the system, because BIG DATA.

Toss in a slide crammed with logos for top technical companies who've signed up for a free trial and never touched it again, and you've got a killer pitch for hiring managers at smaller shops who honestly can't hire tech folk to save their own skin.

Was it in lieu of a phone screen? A lot of companies do that now, and it's generally done for the same reasons as a phone screen. My company doesn't do this, but we do phone screens for every developer, no matter how much experience they have. There are just too many crappy "senior" developers out there.
Whenever I see absurd stuff like that, I wonder if the companies are really worth working for. What's your opinion? Do they feel worthwhile despite the silliness of the hiring process?
> The fact that I have worked for several industry leading companies, and had 20+ years of development experience was irrelevant without that score.

This pretty much sums up what I hate about technical interviews that require a white board. You could have a solid resume, good references that can speak to your technical skill, and a discussion about your previous projects could demonstrate technical aptitude.

However, because you can't solve a problem that took people weeks to figure out in an artificial, stressful, and contrived situation, companies won't look at you.

> [...] required me to complete several HackerRank challenges because I did not have a HackerRank score.

I have no problem with this since most of the time it is just 2-3 coding problems. What irritates me is when HR people and even some developers ask me about my contributions to projects hosted on websites like BitBucket or GitHub. I usually tell them that all my public contributions are on personal projects with no relevancy [1] because the interesting contributions are protected by NDAs [2] and I cannot disclose any significant details about any of the projects that I have developed for obvious reasons. Some people consider your GitHub account as your "Resume 2.0".

[1] https://github.com/cixtor

[2] https://en.wikipedia.org/wiki/Non-disclosure_agreement

Good reasons to look elsewhere. What a ridiculous thing.
That sounds like an utter waste of time for everyone involved.
The hiring manager needs you to do that for typical corporate CYA reasons. If you turn out to be a great hire, it's all good. But if not, then the hiring manager can say, "he was top 10% (or 5%, or 1%) at HackerRank, blame it on them", as opposed to, "I incorrectly evaluated his competency/fit/experience/motivation/etc." It's for the manager to have someone to point a finger at, if necessary. Simple as that. Some HR depts may have instituted the policy, same thing just larger scope.
Then flat out refuse. I just landed an amazing gig by writing a relevant blog post with code included. Else they could rely on some of your github code.
Wow that is shocking how much Hacker Rank is being used by companies... it seems experience should count much more than coding challenges.
Is this (https://mistry.io/) you?
thats nuts

the hiring/recruiting culture often looks like a circus run by mad people

As a sr. dev manager, you should be the first to understand the point of HackerRank because you're expected to give interviews yourself.

When 33% of applicants can't write a program to solve 3 numbers, HackerRank becomes a mandatory step.

What score did they want?
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.

I share your thoughts and I think it's many reasons things are the way they are. Main reason being money.

Young programmers are cheaper and easier to boss around.

Quantifying programmer skill is an easy sell, albeit flawed, "look at the score, we should hire or ignore!". Because hiring programmers you don't know is very difficult. This score can also serve as a way of lowering pay.

I think we all want to work with new and cool stuff, so this is pushed as a selling point to get you working for pizza and beer. The pay is not good but you can work with <insert latest shit> here.

How your company looks is important if you want VC money. Better keep your look young and vibrant. This also serves to attract other young cheap workers.

> 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.

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...

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.

TL;DR

Copy/Paste the solutions from the discussions page.

Cached version: http://webcache.googleusercontent.com/search?q=cache:3BXmrLl...

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.

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.
He's not reading between the lines. They are looking for young/green developers.
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.

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.
Ladies and gents, this is the 2016 software engineering world
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

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...

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

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

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

Which coding challenge website do you prefer? HackerRank, LeetCode, TopCoder, CodeFights, Stockfighter, etc.?
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

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.
I guess it would also be trivial to detect copy/pasted solutions and ban/remove those answers from the user.
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/

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 ;)

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.

Well, if you guys know any Wall Street companies hiring "programmers" based on their HN points, please let me know.
This is a very well know thing and this post could have been more interesting if you could have automated stuffs :P
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.
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.

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

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

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.
Did you get any offer from any company?
Validation of my decision to never use HR for hiring data
If the system is stupid, the smart thing to do is find a stupid solution to it. Illustrate the absurdity of the metric.
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)
"The service is unavailable."

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