Live data from Hacker News

Rant HN: I hate hackerrank

news.ycombinator.com

31–40 of 155 posts

Re: Rant HN: I hate hackerrank

#31
For their own expedience. It's an employer's market. It costs 2.5k/yr to keep an SO posting up and get thousands of resumes in your inbox.

I'd also say a fair share of those in Who's Hiring on HN aren't in dire need of filling seats, but just trying to see how far people with fling themselves through the mazes. Blissfully unaware they're not the only startup and have no way of offering the stability of a large company.

At one of the places I've seen, we didn't read every resume. We overlooked mountains of talent and shot ourselves in the foot.

Instead of hiring coders that had their heart in the right place, we hired streetwise careerists that put their own interests before the team. But they could do palindromes, fizzbuzz, and whiteboard data structures and algorithms.

But when we wanted them to do something generalist or in another language, they'd refuse. One even went so far as saying if they could program X in Y editor, they'd just leave the job. What use is passing all these tests if you're totally inflexible?

We also snubbed people enthusiastically espoused the startup gumption and idea of building, but didn't cope well with the white boarding we thrown at them. Those whose heart was in teamwork and open source, we overlooked ignorantly, while continually putting up walls to see who finally gets past all of them.

There is some toxic cultural thing amidst in startups of insularity and smugness. If I could go back, I'd say screw it with the whiteboard games, come freelance with us for a week. That way I can gauge your temperament, how you work with teammates, your technical skills, etc. in a realistic setting.

And if someone asks for a code sample, and you already have projects on GitHub or your portfolio, don't be afraid to redirect them to that instead. If they don't look, assume the employer is not serious about filling the spot, but just putting in the least effort themselves to see how many hoops people jump.

It's not you OP / other programmers. If an employer doesn't bother to give you a phone call to talk to you as a human being, maybe they're not so eager to have a position filled.

Don't let it effect your self-worth. Always be coding. Don't be afraid to stick your head out there at a meetup and shake some hands, you'll be surprised how much more decency you court when you represent you're a human being, not another resume in a stack of thousands.

Re: Rant HN: I hate hackerrank

#32

> Are we now at a point where an engineer should at all times be intimately familiar with competitive programming and codegolf techniques? Yes, we are. Accepting that trend seems to be better than ignoring it. There is one not-so-bad way to look at these programming challenges. In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something…

In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something entirely new and ship the code for the business. Those challenges are quite enormous with lots of unknowns

I don't think any of these are true. Companies do not fail 'at any time' because of their programmers nor are they saved by them in the nick of time. If there's something you should be prepared to for it's writing code that's less prone to catastrophic failure rather than coding your way out of some disaster. It's not ER Medicine.

Re: Rant HN: I hate hackerrank

#33

> Are we now at a point where an engineer should at all times be intimately familiar with competitive programming and codegolf techniques? Yes, we are. Accepting that trend seems to be better than ignoring it. There is one not-so-bad way to look at these programming challenges. In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something…

[deleted]

Re: Rant HN: I hate hackerrank

#34
post #22

I hire engineers for a living, and find intellectually dishonest any interview practice I wouldn't enjoy myself. Paper coding, whiteboard coding, brain teasers, and algorithmic beatdowns are out. Representative take-home work samples and conversational problem solving are in. My candidates are told throughout the process that what we're looking for is a demonstration of how technical collaboration might work if we we…

>"Representative take-home work samples and conversational problem solving are in."

Exactly. How many times have you reached out to your network and said "HEY! I am trying to solve problemX and I am stuck on Y -- anyone done this before?"

You cant expect everyone to know everything - ESPECIALLY in an interview, and even more-so in a panel interview.

Measure their problem solving skills, not their intimate knowledge of tech/lang X....

and then on-top of that, judge their fit for working well in the team!

only ask that when they come back from a takehome issue, that they say exactly how they solved it:

"I had to call my buddy over at BigCorp and say, hey dont tell me the answer - but lead me to where I might figure out how to solve this problem"

OR

"Hey joe, I did this - but i am not sure how efficient it is - did you do something similar?"

Tell them to get a slack channel of their peers to help them succeed.

I am tired of everyone trying to be the hero - all my contacts try to support one-another, the interview process should be no different.

Re: Rant HN: I hate hackerrank

#35

> Are we now at a point where an engineer should at all times be intimately familiar with competitive programming and codegolf techniques? Yes, we are. Accepting that trend seems to be better than ignoring it. There is one not-so-bad way to look at these programming challenges. In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something…

I accept the trend. If you ask me to invert a linked list, I will also mentally note a big fat minus for company culture. I assume others do as well. So bad interview practice will lead to worse hires in the long term.

Re: Rant HN: I hate hackerrank

#36

> Are we now at a point where an engineer should at all times be intimately familiar with competitive programming and codegolf techniques? Yes, we are. Accepting that trend seems to be better than ignoring it. There is one not-so-bad way to look at these programming challenges. In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something…

On the flip side, now you have no idea if a developer is any good, because all they have to do is memorize a bunch of garbage interview algo techniques / questions.

Dunno about hackerrank, but if you can consistently do well on topcoder algo or codeforces competitions, that's beyond having memorized stuff -- that's being genuinely good at problem solving, and having a broad base of knowledge about important algorithms. I'd be happy to work with you.

Re: Rant HN: I hate hackerrank

#37

> Are we now at a point where an engineer should at all times be intimately familiar with competitive programming and codegolf techniques? Yes, we are. Accepting that trend seems to be better than ignoring it. There is one not-so-bad way to look at these programming challenges. In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something…

On the flip side, now you have no idea if a developer is any good, because all they have to do is memorize a bunch of garbage interview algo techniques / questions.

I think this mentality is actually wrong. I've definitely met good engineers who were rejected for jobs they were qualified for because of these questions, but I've never met someone who was extremely good at these questions who turned out to be a dud after hiring.

I don't disagree with the hate towards the current interview process at larger companies, preferring take homes myself, but I think it's harmful to say that all they have to do is "memorize a bunch of ... techniques" - they're going to have memorize a whole lot to get through the interview process. In the process of memorizing (learning) those techniques, you're likely to learn a lot about the foundations of mathematical problem solving.

I guess I'm biased because I studied math in college, but I think we can both criticize the current interview process without taking away from the hard work of people who are actually passionate about algorithms.

Re: Rant HN: I hate hackerrank

#38
post #13

Went through this a couple times lately. No pain. And the battery of automated tests helpfully written for you saves a lot of time. If the companies you interview with choose problems you don't find relevant, it may be their fault, not HackerRank's. Or even not a fault: they have to screen out a number of applicants who are good at boasting but can't actually code. You obviously can. It can be a bit boring, bit it ge…

The thing I dislike about the automated tests (and this might have been an option specified by the employer maybe?) is the nature of the test isn't revealed to you.

I remember doing one problem for one company, and the automated test suite just gave you "5 out of 6 tests were passed", without revealing what the 6th one was testing for.

I kept on having to think "maybe it's a null safety check here?", "or here?", what if the user passes -1 etc, but to no avail - the test just wouldn't pass.

The worst part was I gave up in the end because I had to move onto the next question, and they don't reveal at the end your performance and where you went wrong.

Re: Rant HN: I hate hackerrank

#39
post #4

This is one of the reasons I'm eyeing management for long term career growth. I've learned that the problems given to sr. and jr. engineers are roughly the same, and that the interview process is biased towards jr.

I think the same way. Mostly biased towards jr. And management seems like a good option for long term career growth.

Isn't it a bad omen for any industry when the most realistic career advancement path is management?

Re: Rant HN: I hate hackerrank

#40
Sort of surprised to see most of the comments on here actually defending the companies that put so much weight on these types of tests.

I think many people assume that interviewers are looking for "thought process" but from my experience as a hiring manager for 6 years, in reality you'll find that most are just looking to "gotch-ya" the candidate. Many interviewers seem to enjoy making a candidate "sweat" as some source of pride. Again, not saying everyone does this, but often times programmer interviewers believe that the harder and more obscure a programming question is the better.

We should all agree that coding tests are helpful in assessing a candidate's programming capabilities, but not all coding tests are equal.

From my experience, bad coding tests that have little relation to whether a candidate will do a good job are these arbitrary ones. For example:

* Implement a merge/quick/radixx sort algorithm that you maybe did 10 years ago in college and have never had to do since.

* Implement a linked list/hashmap/some other random data structure in Java even though you would never write on yourself.

* Write a program to determine whether a string is a palindrome.

* Implement an algorithm to solve this random problem from Project Euler

Ones that have been worked better attempt to be comparable to what they actually might do in the company:

* FizzBuzz - (While controversial, this helps weed out people who just don't know how to code)

* Build a JSON REST API in whatever language you want to manage groceries in a shopping cart.

* Write a web scraper in whatever language you want to count the most popular words on a website

* Here is a random UI framework that you have never used, use whatever documentation you can find on the web and write a To Do list application with it.

Again, YMMV, and depending on your domain certain questions make more sense to ask than others. If you're interviewing as a researcher for Google/Amazon/IBM/Microsoft, then you actually might need to know how to implement some random sorting algorithm because it may be what you will need to implement it in some new SDK/library. But I don't believe that for most companies this makes sense.

If you are a hiring manager, ask yourself this: If you had to run one of your current (positive) team members through your current interview process, would they make it through? Would they say they had a positive interview experience?

Post reply on HN