I would be a 'no' if i were interviewing me. You obviously can program but this makes you appear to be someone who would be difficult to work with.
However if you want to hire people to just complete tickets as fast as possible, maybe that's a valid reason to reject the candidate.
To be clear, I wouldn't rule out someone for this, but I can sympathize with where I believe the above poster is coming from.
> "Difficult to work with" is perhaps too harsh a statement
That's exactly what the OP meant to say, and verbatim what they would have said in an interview debrief. The interviewee wanted some amount of compromise, and all of a sudden they're "difficult to work with". Now everyone else in the room is framing this potential hire as an asshole. There's no coming back from that. I've seen this happen many times. One term of phrase like that and instantly a qualified candidate is out because someone latched onto a single fault and made wild extrapolations about it.
> just a low-investment screen
You have no idea how much of an investment it is. I've had hacker rank problems that I was expected to spend 3 hours on. That's a pretty big investment just to get my foot in the door. Sometimes (read: often) the juice just isn't worth the squeeze. The employer wants me to give it my best when they're not even willing to come up with their own questions.
> uniform across all candidates
I see this a lot as the panacea of interviewing. Sounds good to have everyone on a level playing field. But if you start out with a crappy process, applying it to everyone equally isn't going to get you good talent. As an interviewee, I'll still be bitter about the bullshit you put me through, even if everyone else had to do it.
Low-investment on the part of the employer. They still expect me to spend 90 minutes on proving I have seen a REPL before, which is time I, frankly, don't have. I'm happy to answer/talk about things that relate to my job, but working on puzzles that just happen to be solved more easily by programming has exactly nothing to do with it.
> the candidate is asking for a completely custom treatment
What's next? Having to actually look at someone's CV? That's insanity.
Maybe the whole point of the test is not how well you do, but how you react to being asked to do something you feel is beneath you...
I didn't say I'm too busy to apply, I said I'm too busy to spend 90 minutes on useless tests.
> but how you react to being asked to do something you feel is beneath you...
You know what a great test for that would be? Ask the applicant to wash your car.
These tests aren't useless. Tons of candidates have never seen a REPL before and are totally unable to solve even a trivial coding assignment.
I suppose your company is too clever to waste their time on such useless tests? Who at your firm wastes hours interviewing candidates who have no ability to code?
Going through someone's Github (or any other project they feel is worthy of sharing) and asking them questions about why they made the decisions they made has been orders of magnitude more illuminating than asking them to come up with an algorithm for solving the subset sum problem without Googling.
It's still easy to spot the liars — e.g. I've interviewed people who worked at the NSA and even they could talk about the skills they used, just not which projects or data — and the process of deciding which things to talk about is a pretty good way to explore their communications style, too.
We actually take great care in examining resumes and CVs before proceeding with a coding screen. We've had plenty of senior developers fail the most basic questions (think FizzBuzz), which is why we conduct these screens.
Even phone screens are better than "Here's a HackerRank link because I don't want to spend time talking to you, enjoy the next hour-and-a-half solving riddles".
In the same spirit you could definitely see it as unreasonable for a candidate to suggest you adapt your screening process because they know better (even if it's said in a polite, validated way).
Not necessarily hiring to complete tickets as fast as possible, but some who can take a task and complete with minimal issues. I don't want to be stuck in meetings or arguing in PRs etc.
I don't know about you, but I would not want to hire someone who can take any task and complete with minimal issues. Where I work, one is encouraged to argue about what is not right in the meetings and offer better solutions.
This candidate is doing exactly that: Argue why a certain hiring methodology is not effective and what a better alternative is. Considering that this candidate does not just follow orders but challenges the status quo and the fact that he has volunteering-based projects to show makes this author very likely a good fit for my organization.
Let me give an example as I am not the best at articulating. hopefully this helps.
Lets say I hired this engineer as Senior or Team Lead. Now I want the base docker image we use for node bumped a major version. I checked the changelog for the nodes releases and knowing our codebase I think its safe.
I could ask a Junior dev to do it, but I knowing that they are lacking experience this may seem like a "big deal" when really its not.
What I want is the node version updated, validation unit tests pass, regressions tests are good. And it to be released. If there is a failure along the way, address it or sure lets chat about it.
But this Email in response to hackerrank - would make me perceive this to be someone who would respond with a complete change to our CI/CD processes, to our infrastructure, maybe to even using Node - as this sort of task is beneath him.
Sure there would be areas this person might excel at, but some days little tasks just need to get done to keep the ball moving.
Looks like it is a difference in culture that I am used to and the one that you are used to.
At my workplace, it is perfectly acceptable for someone to suggest a complete change to our CI/CD process. In fact, we have changed our complete CI/CD process twice (SVN/build scripts -> Mercurial/Jenkins -> Git/Travis-CI) already with minimal loss in productivity because someone questioned the existing CI/CD process and suggested a well thought plan to switch to a new one.
But I get your point that sometimes it may not be feasible to carry our such a drastic change in process, infrastructure, etc. But suggesting such a change is going to be acceptable and we refusing to accept such a suggestion is also going to be perfectly acceptable and both this person and us working in harmony even after this disagreement is also going to be acceptable.
This makes me think that you're a poor judge of character and of a slightly authoritarian mindset.
This email is one of many protesting an industry interview culture that prioritizes badly thought through exercises that bear little relationship to the job being interviewed for.
>What I want is the node version updated
And do you really think that seeing candidates reverse a binary tree without protest will tell you how well they can perform at this kind of role?
> I don't know about you, but I would not want to hire someone who can take any task and complete with minimal issues.
Sorry, I don't want to work with a bunch of pedants. You can have them.
No more extreme than suggesting that someone who raises thoughtful questions on a broken hiring process must certainly be a bad fit for an organization.
> Sorry, I don't want to work with a bunch of pedants.
Now, this is taking it to an extreme!
It's extremely hypocritical to criticize someone for the very thing you are doing (assuming the other person doesn't know how to do their job). Couple this with the fact that they are not asking for any advice on their hiring process, it's a pretty rude thing to do.
A little bit of fluff added to the wording doesn't make it suddenly polite.
> I would not want to hire someone who can take any task and complete with minimal issues.
Someone who can't do straightforward tasks without having an issue is incompetent, pedantic, or both.
I am quite lucky to have worked in companies where the peers and management encourage debates and arguments and do not take it as a sign of incompetence.
I had no idea there were companies that would take perfectly reasonable questions on a broken process as a sign of incompetence. Thank you for enlightening me. I now know to be careful enough to avoid such organizations in future.
I never said raising issues is bad. Where I work, we highly encourage people to bring up issues as they see them.
However, when you bring something up as an issue, it usually helps to suggest a solution (which this original GitHub post fails to do) and we don't generally try to take unsolicited advice from people who aren't even part of the company yet.
Maybe at a consultancy and only if you're far downstream of dealing with clients.
That's not normal, nor should it be.
Not the OP but, absolutely I want a personalised interview! I want the company I'm working for to care about the people they hire -- not to efficiently fill empty seats. Yes, normally that means I tend to work for startups. I'm happy with that.
It's fair to say that you want to be able to evaluate potential employees cheaply before you invest a full interview. It's also fair for people to offer ways to do that evaluation rather than running through someone's maze. Neither side needs to accept the other's offer, but there's no need for either side to take it badly.
A "no" is quite a good result if the company would otherwise be wasting the candidate's time.
If i had a start-up, i would definitely give this person a good old try, because i can tell that he/she is capable enough to churn out rather advanced projects with complexity higher than just CRUD. Programmers of this type is what i'd call 10x, and one should never dismiss a 10x!
If they're too cool to waste a single second conforming to a basic FizzBuzz test to assert that their resume isn't a lie, they're probably way too cool to do anything but write the most glamorous code in the most visible part of the product - which is the last thing, a startup - with too much work and not enough people, needs.
Why are you so quick to extrapolate an entirely new character based on this person not wanting to use HackerRank?
I'd be willing to waste 5 minutes tops, unless the employer has put some skin in the game (fizzbuzz is ok - nothing much more than that tho).
There's a 1,000 other employers out there who might be a better a fit. I am not going to do a 1 hour, 30 minute or even 15 minute task if they can't at least even be bothered to pick up the phone to talk to me or glance at my github profile.
Companies that expect completion of a weekend-filling exercise before granting you an interview are universally run by entitled assholes. You're actually doing yourself a favor by screening them out: they'll be bad to work for, you won't get to work with other 10x engineers and the company will likely achieve nothing impressive anyway.
I'm not doubting this persons ability - I'm only responding my opinion of this person based solely on this email.
I have never been in a startup that fears arguments. Every startup I have been a part of has lively debates and arguments almost every other day. It's only the large slow moving corporate giants where I see such lack of debate and arguments on what is obviously wrong.
I would go to the extent of saying that a startup that does not encourage arguments in a harmonious fashion would die very soon anyway. Debates and arguments help in weeding out stupid ideas and focus on what that really matters.
This person's email shows that he can have a qualitative argument in a coherent, polite, and non-confrontational fashion - exactly the kind of people you need in startups!
I wish I had more teammates who could write as effectively.
You hire people to solve problems, not churn out code. Code is only a tool to solve a problem.
In this case, it definitively shows a bent for the innovative and smarts, but shows lack of judgement / wisdom.
For a 10x, merely completing the test is a lot faster and more effective than trying to go change the process from the outside.
For me, this just means, that he is not accepting a solution to the problem, explaining why he thinks it is not a good solution and offering another one, which would work for him. Also, he is not dismissing the hackerrank test, but asking to evaluate his skills on a different way too.
As far as I see, this is probably the best way to argue with somebody, that their chosen solution to the problem is not the ideal based on your knowledge and experience.
If I came across this in the wild, I'd reevaluate the parts of the interview I control to see if maybe I could make it less robotic and I'd probably still bring them in to make sure I'm not missing a good dev, but I would be fighting my bias at least a little. There is a small handful of people I've worked with before that would appreciate this approach and their toxic attitudes would prevent me from wanting to work with them again.
The interview process can suck, but this is not how I'd recommend standing out from the herd.
I would also worry hiring a team lead/senior dev who appears to be combative from the initial screening
This kind of approach is fine for a junior. I'd even encourage it because there's an attempt to change the parameters of the problem which is something we often have to teach people as they progress.
For a senior position, not so much. I mean, it might be that they're ignorant or stupid, in which case you've probably dodged a bullet when they don't hire you. Or it might be something else entirely.
A more sensible approach, in my view, would be to ask what they were looking for with the HackerRank test in a subsequent face to face. If they say that they don't have a better way to determine developer competency then, sure, suggest that you may be able to help with that when you join.
If it were me interviewing, I'd be particularly interested in suggestions that a) were developed from successful prior hiring practices and/or b) not so bleeding obvious as "look at their Github page".
Thankfully, as a human being, you are not your ability to code. More importantly though, then it also means that people who can't code are worth just as much as you as human beings (more, if they've managed to learn social graces). If you don't hold it to be true, then code or GTFO.
Look for places like the Recurse center in NY that can help you find yourself in the context of being able to code, or more traditional non-traditional approaches like backpacking though India, or taking LSD in the Haight in the 60's (anyone got a time machine?).
If you'd like friends (who will be interested in your personality), go find some. Outside of work. Bonus points if you manage to find some that can't code.
Hint: companies are interested in your personality - if you come across as this caustic in a phone screen or in person interview, I'd be surprised if you get invited back. (Or at least they should be; Google's current HR woes are their own creation.)
While I can understand your leap to soulless masses - that was not my intention.
p.s. Even at the best companies there is some truth in what you say, but it varies a lot.