
How to hire programmers using online coding test - saching90
http://recruiterguide.hackerearth.com/how-to-hire-a-programmer-using-online-coding-test/
======
VLM
Two hilarious observations about stereotypical business programming culture:

Before hiring, tech fit decisions are made by elaborate pretend tests and
painfully detailed technical discussion upon people who supposedly needed to
gain years of experience in a specific field. After hiring, tech fit decisions
are made by a PHB glancing at the cover of PC magazine and saying "make it so,
number one" and the existing staff starts googling furiously and supplies
something workable in a week or two even if they never heard of the technology
the day before.

At 2pm "Work at home, are you crazy? Without my direct supervision hovering
over your shoulder I'd appear unnecessary and you can't be trusted to
accomplish anything at home and nothing can ever be accomplished individually,
things can only be done by a team where a sociopath will take all credit for
the teams effort" or, uh, usually a little more carefully phrased but this is
what they actually mean. But at 2am the tone changes "well of course you can
work at home at 2am to fix any emergency all by yourself in a completely
undocumented system you've never heard of before and we trust you'll always be
available 24x365 and never out of town or drunk"

------
whizzkid
I am not agreeing on this. Unless you are hiring an expert, most of developers
out there earning their lives by coding can not write a simple bubble sort
when you give them a console. Not because they don't have the capacity, They
will either not remember the algorithm at the moment or haven't had a such
situation requires similar approach at their previous work. If you really want
to know if he/she knows stuff, ask him a task/question/bug and let him explain
how he would solve it. if he is good, he will start telling the approach in
different aspects, he would even start writing you a pseudo code to solve it.

The approach taken in the article is not explaining how to HIRE programmers.

It is about how to ELEMINATE them.

~~~
RHSeeger
To be fair, eliminating a fair portion of candidates (assuming the test does a
good job of identifying the ones you wouldn't hire) isn't a bad thing. Time is
a valuable resource.

~~~
whizzkid
always write tests while programming :) you did not cover the whole task!

// Your code

    
    
      if "Time is a valuable resource."
        Don't waste employers' time
      end
    

// Refactor

// Adds candidates' time to the case

// Decreases listOfCandidates() loading time.

    
    
      if "Time is a valuable resource"
        Publish a well-detailed job position
      end

------
7Figures2Commas
I always find it funny that half the people/companies advocating these
approaches can't even keep a simple WordPress blog up when faced with a bit of
traffic.

Surely there must be an algorithm for that?

~~~
saching90
You spend day and night on building a product, you make sure everything works
right and its scaled for traffic. Once you have a beta product ready, you
decide to blog about it, you meticulously work on generating some good
content, fire up a large instance on AWS, set up a wordpress blog, and the
blog is live. Now you decide to post about it on HN, fortunately some people
like what you have written, you start getting traffic.

And BOOM, suddenly you find out that the large instance on AWS, cannot handle
the traffic, you are befuddled its not like the server is getting million
hits/sec. You thought a large server would be enough to handle a single
wordpress blog, and you realize that's not the case.

Now you go back and start fixing your self hosted wordpress blog, you feel sad
that you missed out on audience because the server crashed, your work gets
derailed because now you also have to maintain the blog server.

I agreed I too would have been irritated to see the link not working, but its
not that you switch to an x-large instance each time you post a link on HN.
Sometimes you just want somethings to work. But alas that's not the case.

~~~
7Figures2Commas
I empathize with you, but your experience highlights the flaws in the approach
you're advocating.

I'll use myself as an example: I'm a self-taught developer who has built and
managed high-profile, high-usage websites/web applications. I probably could
not pass one of your algorithm-based FizzBuzz tests, but if I was hiring and
you suggested that a site should scale simply because you threw it on a large
AWS instance, I would not consider your candidacy further regardless of your
ability to pass a FizzBuzz test.

~~~
saching90
I did not intend to say that the blog should work simply because we threw it
on a large instance, we have been running our site on AWS and have
successfully handled much larger load. We never needed to move beyond a larger
server for the main site, of course with horizontal scaling. What I meant was,
when you are swamped with so many things you don't want to spend too much time
on things like maintaining your blog.

You want to focus on the product, fix bugs, look after feature request,
produce high quality content. And then your blog crashes and things get
derailed.

~~~
7Figures2Commas
> I did not intend to say that the blog should work simply because we threw it
> on a large instance...

That's precisely what you said:

"You thought a large server would be enough to handle a single wordpress
blog..."

> when you are swamped with so many things you don't want to spend too much
> time on things like maintaining your blog.

A competent developer should be able to set up a load balanced WordPress blog
(with Nginx/PHP-FPM, Varnish and a separate database server) in a day or less.
There are a number of well-written tutorials on this.

------
scrabble
It's not a candidate's problem that they can't code? I think the candidate has
a level of responsibility here. Really they shouldn't be applying for a
development position if they can't code.

------
eshvk
Excellent. I love when things like this get more visibility. Now, let me go
make notes on my book of all the red flags of why I should stop talking to a
company.

As a candidate, I understand the system is incredibly broken. Maybe one way
out is to have recruiters who have a technical background. I have seen that
happen with exactly one company where the lead recruiter had a BS from MIT.
She was awesome and a genuine pleasure to talk to. Also, she had enough of a
understanding of the company stack that the interview acted like a semi-
filter.

------
robalfonso
I don't use standard tests when hiring (read: to weed out candidates)

I'm in the process of hiring again as the team is growing and this has struck
a chord with me.

I tend to see a resume, if it looks at all decent I will do a interview. Some
would say do a call or give them a test to weed out etc. I've done enough
interviewing to know that

1) people almost always are different than what their resume portrays for
better or worse. 2) body language is 90% of our communication so why waste
time on the phone. 3) If its so important to get someone I deem as a good fit
I want to meet them. 4) I "waste" a lot of time interviewing, but I get better
at it each time and I've found people who would otherwise never have gotten
into see me that were spectacular hires. Also I have lots of friends who hire
and sometimes someone is great but not for me, the favor has paid off when its
returned.

The bottom line is people are unique in many ways. Why try to push them into a
standard mold or discard them if they don't fit.

P.S

With regard to testing I usually tailor a test of 5-6 questions AFTER the
interview so I can evaluate anything I am not sure of after speaking to the
potential hire. I also let them do it at home with their tools. I don't care
to see if someone can work with me hovering over them, because I have not
intention of doing so on a day-to-day basis.

------
dblumenfeld
A nice attempt at something that [http://codility.com](http://codility.com)
has been doing well for ages (see
[https://news.ycombinator.com/item?id=1039140](https://news.ycombinator.com/item?id=1039140)).
Nice UI, still I like Codility programming problems much better.

------
pramodliv1
Obligatory google cache:

[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://recruiterguide.hackerearth.com/how-
to-hire-a-programmer-using-online-coding-test/)

~~~
mathattack
There's certainly an irony on the link to a programming test not working.

------
liranz
This looks interesting, though I don't agree with the "most candidates cannot
write code to simple algorithm" thesis.

I interview A LOT. Almost 100% of the candidates I receive cover the basic
programming abilities. The real problem is that they don't know how to THINK.

I talk with them 20 min on the phone when they have to present a problem they
had and how they solved it. Then I try to find out what they find interesting.

Giving a mini project is a good idea, but it does not scale well, and still
requires a lot of resources top candidates will just not be willing to invest.

~~~
lrem
A simple programming task adds 20 minutes to the burden of the interviewee,
costs you next to nothing and weeds out the folk who don't actually know how
to program. If someone fails to print prime numbers below 100 in 20 minutes,
there is something wrong with his skills.

~~~
7Figures2Commas
1\. Write program that prints prime numbers below 100.

2\. ?

3\. Profit!

Interviews are a two-way street. If you're looking to hire an experienced
developer and the best you can do is ask him to do something that he'll
probably never have reason to do on the job, you're sending a pretty strong
message about your company.

If you're going to ask somebody to code (or solve a problem) as part of the
interview process, there's nothing worse than being lazy in creating the task.
"Print prime numbers below 100" falls under the lazy category.

~~~
artmageddon
> Interviews are a two-way street. If you're looking to hire an experienced
> developer and the best you can do is ask him to do something that he'll
> probably never have reason to do on the job, you're sending a pretty strong
> message about your company.

I know others will probably disagree, but I feel this way about brain-teaser
questions. I remember one very specifically from a ex-Microsoft employee who
interviewed me: "If you're alone on a deserted island and you have two
unmarked jugs, one that can hold 3L of water and the other 5L of water, how
would you make sure you had exactly had 4L of water?"

To his credit, he helped me through the question and I was able to figure it
out.. but the first minute was spent trying not to be a smartass and ask "Is
this a problem that programmers in this company frequently have?" (I did get
the job fwiw)

~~~
gregors
Brain teaser questions are great at finding candidates who have heard the
brainteaser before. They are useless at finding people who are good at coding.
Even Google accepts this now.

~~~
Killswitch
I would ask why if I had 8 L of water containers why I would try to figure out
how to have no more than half of that and just fill both jugs, then I'd say
that's a stupid question and has nothing to do if I can code or not. I hate
these stupid job interview things just be frank and lets talk about my skills
and what you're looking for, not stupid brain teasers, fizzbuzz, or anything
like that.

------
clueless123
I understand the frustration of sifting through hundreds of "fake" resumes
where candidates can't code a fiz-buzz, but from the other end it is a total
waste of my time spending 20 minutes of my time solving these coding
challenges every time I want to know more about a prospective position.

If would be nice if the recruiter agencies (who are actually getting paid to
do a job), would hire people qualified to understand if a candiadate is or not
up to par for the job from a quick email or phone call.

~~~
saching90
I believe a well written 'Job Post' also plays a pivotal role in attracting
the right kind of talent.

------
ebbv
The site has been crushed under the HN traffic (and wherever else this link is
propagating today.) So I can only state my opinion on the title which is; this
is a terrible basis on which to decide who to hire.

I would never hire anyone without having an actual conversation with them.
Whether I can get along with the person, if they will be a good fit for our
team is the most important criteria.

Test taking is not an important skill for any job I'd be hiring for.

~~~
nandemo
Please consider refraining to comment on a story if you haven't read it. It
just adds noise.

Case in point, the article does not recommend hiring without talking to the
candidate.

~~~
ebbv
I usually don't, but in this case the title irked me and sounded like they
were advocating just that. Otherwise, what was the point of the blog post
(since coding tests are completely standard in the industry)?

Now that it's recovered I see that it was just to shill the author's
particular coding test.

Yawn.

------
zby
There is another copmany that has been doing this for years:
[http://codility.com/](http://codility.com/) (I am an investor there).

------
013
> Error establishing a database connection

~~~
gregors
it must be a bug in the bubblesort!

