News for hackers. Stuff that matters.
Re:The Problem with Using HackerRank as a Programmer Screeni... by zebraflask on Tuesday December 19, 2017 @03:24PM (#15963889)
Nailed it.

Let's not forget companies that send algo-heavy tests for front end roles (my personal favorite). Can't they come up with a front end version? Is it better that they don't?

I'd find it, and similar sites, less objectionable if they were used as interview "extra credit," rather than as gatekeeper screening tools.

Re:The Problem with Using HackerRank as a Programmer Screeni... by contrarian123 on Tuesday December 19, 2017 @05:21PM (#15964974)
I had a math teacher in middle school that put it pretty well: if you have two candidates that are equally qualified, but one knows calculus and the other doesn’t, you may as well go with the one that knows calculus.

From a hiring perspective, it cuts down the size of your candidate pool. Interviewing is expensive, so it’s better to choose from 5 people instead of 30.

From a personal perspective, I don’t want to work with you if you don’t know how to use a hashmap. There’s a difference between filtering duplicates efficiently and validating a binary tree, so it does it some injustice to lump it all together as irrelevant algorithms testing.

Re:The Problem with Using HackerRank as a Programmer Screeni... by johnsonjo on Wednesday December 20, 2017 @12:53AM (#15967359)
In operations management there’s two terms that come to my mind that you are describing. These terms are directed towards consumers’ behavior in whether they will buy a product. The first term is ‘Order Qualifier’ this is the minimum possible feature set (of goods services) that a consumer needs in order to purchase your product. The second is ‘Order Winner’ which differentiates a product from another product once the products have qualified, i.e. met the minimum requirements. You could apply the general principle to recruiting.

To me the way your teacher described Calculus as something that differiantiates two job candidates that are equally qualified it seems more like an Order Winner, but you then went on to say you should narrow your whole group of candidates by that. You shouldn’t cut down your whole pool of candidates by an Order Winner, but by an Order Qualifier. As an example if you’re hiring web developers they may pass an Order Qualifier if they have necessary web development skills. The Order Winner might be that they have good people skills. That may be backwards depending on what you need gaurenteed more. If you feel they can be trained you can certainly do it the other way around. It all depends on what you feel qualifies them and what differentiates them in the final choice.

Re:The Problem with Using HackerRank as a Programmer Screeni... by Jach on Tuesday December 19, 2017 @06:42PM (#15965594)
I'm very careful inferring information I didn't actually test for. If the output of my process ranks two people the same, I can't do anything but flip a coin for one and recommend hiring both. I can't go back to their resumes and see "ahh yes, this person knows calculus, might as well go with them." Because the other person might know calculus too but didn't think it relevant to put on the resume.

If the process is giving equal outputs to multiple candidates, then you might need to fix it to be more granular. There's plenty of room for subjective criteria, e.g. it shouldn't be hard to have a few ranks on "seems nice to work with" metric and so it shouldn't be hard to have a process where equal outputs are unlikely.

On the other hand there's the concept of a journeyman in the craft world, anyone with that level of skill is basically interchangeable for the usual jobs. So you might by design have a test that just outputs "at least journeyman level" or not, and you can just hire the first one you find.

Re:The Problem with Using HackerRank as a Programmer Screeni... by johnsonjo on Wednesday December 20, 2017 @01:00AM (#15967391)
Some people are different and will differentiate candidates by sometimes seemingly unrelated things. I remember hearing a story in my Engineering Communications class that someone was selected for a job over an equally qualified candidate for putting down that they liked to play chess as a hobby. Apparently the person hiring liked chess and thought it stimulated the mind, and I believe they also thought it gave a more human feeling to the candidate.
Re:The Problem with Using HackerRank as a Programmer Screeni... by user5994461 on Tuesday December 19, 2017 @11:43PM (#15967114)
It's impossible to rank two people the same. You will never encounter two people with the same profile, the same experiences in the same domains, who both want to do the same thing next.

Well, I suppose if we only look at first year college grad, there is a lot of duplicates.

Re:The Problem with Using HackerRank as a Programmer Screeni... by drdrey on Tuesday December 19, 2017 @06:08PM (#15965313)
I honestly think this is just going with the easy solution. Doing interviews correctly is hard and time consuming, so the easiest thing is just to do what everyvody else is doing, and that's some form of algorithm problem on a whiteboard.
Re:The Problem with Using HackerRank as a Programmer Screeni... by mindcrime on Tuesday December 19, 2017 @04:11PM (#15964310)
Let's not forget companies that send algo-heavy tests for front end roles (my personal favorite). Can't they come up with a front end version?

Front-end devs don't need to understand algorithms?

Re:The Problem with Using HackerRank as a Programmer Screeni... by zebraflask on Tuesday December 19, 2017 @04:16PM (#15964360)
Plenty will tell you: not very often, day to day. The algo part isn't objectionable because it's algo or a test. It's objectionable because it doesn't test the skill set that would be used on the job.

I'm sure database admins would be less than thrilled to have to duplicate a mock in CSS. You wouldn't judge an electrician on their carpentry. It's a tired subject that a lot of companies still seem to have trouble grasping.

Re:The Problem with Using HackerRank as a Programmer Screeni... by mindcrime on Tuesday December 19, 2017 @05:49PM (#15965181)
Plenty will tell you: not very often, day to day

People will tell you all sorts of things.

It's objectionable because it doesn't test the skill set that would be used on the job.

Maybe they just say that because that's easier than investing the time to develop a good understanding of basic algorithms?

Don't get me wrong... I'm all about specialization of labor and all that, and I'm not saying every programmer in the world needs to be able to write a provably correct implementation of a PriorityQueue from scratch, at the drop of a hat. But I would argue that all developers, front-end or otherwise, benefit from algorithmic knowledge, and that it is reasonable to test front-end devs on that knowledge - to a point.

And given how much more complex "web apps" are becoming with pretty complex SPA's delivered with lots of complex logic executing on the "front end" I think that's become even more true over the past few years. It's not like "Front end developer" means "person who does CSS styling and can add a few neat effects to a page using javascript".

You wouldn't judge an electrician on their carpentry.

No you wouldn't but that analogy really doesn't fit the present discussion at all.

Re:The Problem with Using HackerRank as a Programmer Screeni... by zebraflask on Tuesday December 19, 2017 @07:24PM (#15965868)
I think we're missing a key piece of information. I'm referring to companies that want to hire for a specialized role, do no testing germane to the role, but do test competency for the job solely via a skill set that is tangential to the job itself. A lot of places do this.

I think it must be a relic of the Google-style interview cargo cult approach to hiring.

Re:The Problem with Using HackerRank as a Programmer Screeni... by cdicelico on Tuesday December 19, 2017 @06:00PM (#15965258)
I'm sorry, but I don't care what you do—if you work in tech, you need to be able to demonstrate an ability to think algorithmically in order to solve problems with a computer. It's a) not acceptable to get by in tech without knowing anything about computers and b) not rocket science—anyone can learn!
Re:The Problem with Using HackerRank as a Programmer Screeni... by drdrey on Tuesday December 19, 2017 @06:12PM (#15965341)
What you're saying is true -- but at the same time it is a bit awkward that there are things you need to work on for interviews only. For instance, I have never had to use linked lists in an actual dev job (~6y experience), but they come up so often in interviews that you just have to practice things like loop detection
Re:The Problem with Using HackerRank as a Programmer Screeni... by stmw on Tuesday December 19, 2017 @07:24PM (#15965869)
It's a little awkward, but not so bad if it's within basics, like linked lists - which one may be rusty on but will generally know or re-derive - rather than really specific algorithms. But that's just a starting point, then it's about the interview and the communication and the interaction - exactly like the examples above of talking to real users or colleagues.
Re:The Problem with Using HackerRank as a Programmer Screeni... by user5994461 on Tuesday December 19, 2017 @11:27PM (#15967049)
I have to ask. What roles were you in? and what languages did you develop in?
Re:The Problem with Using HackerRank as a Programmer Screeni... by drdrey on Wednesday December 20, 2017 @12:19PM (#15971584)
I was working on LLVM (C++ compiler) for 3 years and Java server backends the other 3 years. Those were the main products, with a side of Python, Groovy, Bash and JavaScript. In all fairness, I suspect LLVM uses linked lists internally for things like instructions in a basic block, but that was a level of abstraction under me.
Re:The Problem with Using HackerRank as a Programmer Screeni... by stmw on Wednesday December 20, 2017 @02:42AM (#15967780)
Me?
Re:The Problem with Using HackerRank as a Programmer Screeni... by user5994461 on Wednesday December 20, 2017 @08:34AM (#15969300)
the poster who said he never had to use a linkedlist in 6 years.
Re:The Problem with Using HackerRank as a Programmer Screeni... by stmw on Thursday December 21, 2017 @11:52AM (#15980420)
Ah, I see. I guess it all depends on the meaning of "use",
Re:The Problem with Using HackerRank as a Programmer Screeni... by oldandtired on Wednesday December 20, 2017 @05:53AM (#15968584)
This is less useful than you think. What you need is the ability to look at a problem and solve it. Understanding the problem is a lot harder than most people (technical experts) realise.

Far too often, the technical expert solves a problem on the basis of their current solution space tools and not what the actual problem requires. In other words, they cannot think outside of the solution space box they are stuck in.

Knowing that there are all sorts of algorithms available for all sorts of variations of problems and knowing where you can get the information to implement a solution to your problem is a lot better than being able to reel off one or two algorithms and not know that there are other solutions.

Over the decades, I have become involved with various projects that were created by "programming guru's". They knew the systems involved and made solutions that showed off their "guru-bility". The problem - well the systems were a nightmare to make changes to. They used "industry standard" practise and supplied a solution that forced people to change how they did their business, without actually considering the business at hand.

One such system was built using dynamically generated SQL. Had the original "guru" actually thought more carefully about the problem in hand, no dynamically generated SQL would have been needed and making changes to the system would not have been difficult. In that particular case, I was there doing "after the fact" technical and functional specs. As part of my package of documentation, I included a specification for rebuilding the entire system so that it would be very easy to maintain and change and the runtime for each system run would have been (on my estimates) reduced to about 5% or less on then runtime of 25 hours.

To get everything back on track generally required rewrites (sometimes complete rewrites) to be able to extend these systems.

It is our responsibility to enhance the end-user experience not make life easy for ourselves.