Live data from Hacker News

Why HackerRank and other coding tests are ageist

news.efinancialcareers.com

91–98 of 98 posts

Re: Why HackerRank and other coding tests are ageist

#91
post #5

Are there any HackerRank-like apps out there that go beyond simple code challenges?

You can contribute to open source projects for another kind of challenge

Contributing meaningfully to a big OSS project is a way bigger time investment. Not only you have to understand a lot about the project, you have to actually work on open issues in it.

And contributions to tiny projects tend to get passed over anyway.

Moreover, certain hiring agreements would consider it breach of contract or confidence.

Making your own Github or such portfolio faces the same problems.

Re: Why HackerRank and other coding tests are ageist

#92
post #54

HackerRank tests are very effective for companies in that they capture candidates who: - Have great problem solving ability. - Low emotional intelligence or self-esteem (don't realize that the kinds of companies that make you do these tests are exploitative and will treat you like livestock). - Don't have specific ambitions and don't place much value on their own time (prepared to spend tons of time studying/practici…

The question is though how the hell do we find companies that don't do these test? It seems everyone and their mom are doing it now days, even immigration officials :)

Most startups and some big companies like banks don't use these kinds of tests - Their process is mostly based around peer-review from other engineers in the company.

Re: Why HackerRank and other coding tests are ageist

#93

Earlier quoted context omitted.

Big companies already spend a lot of time and money interviewing candidates to figure out if they should be hired. Credentialing will turn that into either a standardized test (which is known to be inferior) or simply require a degree (which will exclude too many good candidates).

Under a hypothetical licensure system, companies would be more than welcome to hide rockstar Chad from the local CS department. They would just, for example, be more liable for damages or something. We can think of all types of licensure schemes, with all types of consequences. What makes you think software engineer credentialing will automatically work out poorly? Moreover, have you also considered its benefits? Oft…

Lawyer credentialing exists because individual clients are unable to vet lawyers otherwise. Same with doctors. In both cases, the consequences of getting a quack doctor or lawyer can be disastrous... death or imprisonment, for example. General contractors can cause quite a bit of damage to your home so they often have to be licensed and bonded, electricians can cause fires so they're licensed, and bad plumbers can do plenty of damage to your house too. All of these people are likely to be hired by private individuals.

A bad programmer could rack you up AWS charges, or leak your clients' credit card numbers to an attacker, or other things like that, but these are just financial losses for businesses that don't do their due diligence (nobody's dying, going to jail, or having their house burn down).

> Moreover, have you also considered its benefits?

I don't think the benefits have been adequately explained to me. Maybe I could consider them if you told me what they are.

Re: Why HackerRank and other coding tests are ageist

#94
post #54

HackerRank tests are very effective for companies in that they capture candidates who: - Have great problem solving ability. - Low emotional intelligence or self-esteem (don't realize that the kinds of companies that make you do these tests are exploitative and will treat you like livestock). - Don't have specific ambitions and don't place much value on their own time (prepared to spend tons of time studying/practici…

The question is though how the hell do we find companies that don't do these test? It seems everyone and their mom are doing it now days, even immigration officials :)

There's this list: https://github.com/poteto/hiring-without-whiteboards

Re: Why HackerRank and other coding tests are ageist

#95
post #82

Earlier quoted context omitted.

I thought about this, I thought about this a lot and I still do. Thing is, this attitude can quickly get you tumbling down the rabbit hole. So say I'm a Java developer. But surely in order to be a good Java developer I should know the innards of the JVM, right? To do that I now have to also have to know C++ because that's what JVM is implemented in or whatever. But surely I can't know C++ well if I don't know C, righ…

Scott Hanselman has said a few times that two layers of abstractions is generally sufficient. I'm not sure if he stole it from someone but using your example, that means to be a great Java developer, you should have a good understanding of the JVM, and an adequate understanding of C++. Do you need C++ to be a good Java developer? No. If you've got a decade of experience in both, are you a better Java developer than t…

When your writing C you are usually thinking about how the compiler will translate it to assembly. A lot of C's features don't really make sense without understanding the underlying machine.

You can get away without knowing assembly, but you might as well just use a higher level language at that point.

Re: Why HackerRank and other coding tests are ageist

#96
post #79

Earlier quoted context omitted.

> So if I get assigned, say, a performance problem I might, after some research, come up with the idea to use a different data structure to solve it. Yup. And my feel on that is that (assuming the perf issue is related to a core data structure), that -particular- perf issue shouldn't even have happened in the first place. It should have been obvious given the right background and you could have spent that time doing…

Things evolve. The scale of problems evolve. A data structure that was handling hundred of transactions, crumbles on hundred of thousands. Premature optimizations (and premature abstractions) are the root of all evil.

No argument there, but that's not what I'm arguing.

Do you have to reach out for google or a book to do a simple if/else statement? What about a for loop? Now what about the difference between a map and a set? Likely not, it's the basics used in any app.

Talking about premature optimization here implies there's some work to be done, things to think through, stuff that's not obvious. And that's totally true at a certain complexity level.

But what is "complex" and what is "obvious" isn't objective. It's purely a factor of what the "average software developer" knows.

What I'm arguing is that while at one point the pendulum was swinging too far one way, it's now too far in the other, and it's affecting software quality industry wide.

Re: Why HackerRank and other coding tests are ageist

#97

I'm in my early 50's. I've been getting paid well writing code since 15, and have been employed at (arguably) the top of the industry in my fields. Nobody at my level takes tests; none of us would pass them as they deal with utter bullshit. Work for a few decades, at the highest levels of the intersection of business and technology, and you'll find complex and/or sophisticated algorithms often get removed due to supp…

If a person in the workplace is asked to implement quick search or some sophisticated algorithms on linked lists or binary trees there are only two possibilities: this is a low level and high importance project for NASA/Intel/Lockheed Martin, or one is being teased.

Re: Why HackerRank and other coding tests are ageist

#98
Hello all,

I am a bit late to this discussion, as Sarah Butcher (the author of the article) just informed me about this thread. This is Marc Adler, the person that was talked about in this article. It's great to see the discussion around Hackerank-type coding tests and the hiring process. There are probably some clarifications that need to accompany the article.

First, when I was interviewed for the article, there was no mention of the word "ageism". As something in this thread surmised, it was probably inserted into the title for a bit of "shock value". The article was supposed to be about the correlation of Hackrank tests and the hiring of experienced people who have been coding successfully for a number of years on "real-world" problems. Many of you in this thread fall into that category.

Second, I have about 30 years of experience in the industry. I started out in the mid-1980s as a Windows developer at Goldman Sachs, writing equities trading systems, went on to form my own software company (which I had for ten years and concentrated on programming tools), and then continued as a developer/architect for more Wall Street companies. Among some of my roles were Chief Architect of Citigroup's equities division, and Chief Architect of MetLife (a global insurance company). I am currently CA at another big company that is not on Wall Street. All of this time, I have been coding. Recently, I developed an Uber clone in Scala/Akka/Play.

I am not completely against Hackerank-type tests for hiring junior devs or devs right out of college. But what I am against is the use of these coding tests to hire people who have 10, 20, or even 30 years of experience. When was the last time that you used dynamic programming algorithms in your job? When was the last time that you seriously thought about Big O? In my experience, a lot of apps use linked lists and hash tables. If you want a nice sorting algorithm, there is one that comes with one of Microsoft's C# assemblies. What is more critical is knowing how to find information and how to apply it in your day to day job. And that's the kind of developer I want to hire ... one who is resourceful and productive.

-marc

Post reply on HN