
Ask HN: Pre-Interview Programming assignment - melenaos
I want to make my first hire and I have no way of testing undergraduate&#x2F;graduate students since they don&#x27;t have any professional experience or well thought code samples to review.<p>My thoughts are to ask them to make a simple program that they can demonstrate their coding style&#x2F;skills.<p>I want to test the object oriented mentality they get from their Uni and whatever they solve the problem with messy code or they took their time to write comments and properly format the code and variables.<p>Do you have any suggestion? How much time they should invest? Are there any tools that can help them finish their task online&#x2F; test the result?
======
brudgers
Why are you hiring people with no experience?

~~~
melenaos
Somebody should hire graduate developers so they can gain experience... But I
am not that altruistic, it's just that I live in an island that doens't have
any software company except my own and one other, but the good part is that
there is a university so this is my only resource of developers

------
davismwfl
Don't. While I disagree with testing experienced candidates, new-grads it is
ok if done correctly, but it is never ok pre-interview. You need to interview
the candidate and talk to them first and then if you find they are a decent
fit then do some further testing if it is needed.

Pre-interview testing is basically saying two things, 1. You don't respect the
candidate or the candidate's time and 2. You don't know what you are doing.

Your most important job is to build a team, which starts with interviewing.
Testing people like this isn't building a team it is starting the relationship
off adversarially and telling the candidate you are more important than they
are and you don't value their time. And frankly, whether the candidate
articulates it or not, they'll have that feeling. Just because it has been
somewhat common to do this, doesn't make it correct. I can't believe how many
stupid mistakes the tech industry has to relearn every decade or two. We went
through all this in the dot com boom/bust but many startups today still did
not learn from our mistakes back then and continue to repeat them.

New grad interview method:

1\. Call them on the phone (or video chat) and talk to them. Spend 10 minutes
getting who they are and some background on them. Just talk to them as a human
being not some "tester". Then spend 10-15 minutes and just ask a series of
technical questions but vary the level of those questions randomly, e.g. ask
something easy, something hard etc. Ask them some basic thought questions on
design, this helps you see how they think. The most important part of this
call is seeing how the person communicates more than anything else, and the
small technical interview is just to learn if the candidate is worth a more
thorough interview, and this is how you protect your time and not waste it
interviewing a bunch of non-qualified people. In sales terms, this is
qualifying your lead.

2\. If they pass step 1, either bring them on-site (or do it over phone/video
if they are remote) and complete a more in-depth dive into their thought
process around design, more technical questions and get to the point you know
whether they know their stuff you need or not (this may even be 2 different
people calling and interviewing the candidate or doing it onsite). Don't ask
useless questions here that the company isn't actually using today or in the
next 6 months and be realistic with this. If you are writing a web page that
10 people might look at in the next month, stop asking how to write complex
data structures, you might still ask about them to learn about what they know,
but it isn't a deciding factor on interviews. The most important part is be
realistic with what you need now, and who the person is. That doesn't mean
settle for incompetent people, just that you need to be realistic with your
expectations, especially if you are not offering market wages.

3\. If they pass step 1 & 2, then have them interview with a non-technical
team member(s), for small startups this would be a founder, for larger it
would be project/product manager types. This interview is more to help confirm
the feelings from the other interview that the team fit is good and the
candidate adds to the company and can help it grow.

4\. If there is still some question on this person, provide a small test or
challenge to them, and tell them it is to help you solidify your decision.
Make it 1hr or less and then make your decision.

For a small startup this process should be less than 10 days, ideally less
than 5 from the first interview. If you aren't doing that you are wasting too
much time and it should be a red flag you are not focused. This is also how
you can get really good candidates before larger companies snap them up,
because you move fast you can get the better candidate usually at a better
price than the larger startup or enterprise.

~~~
melenaos
Thank you for your answer, it's really helpful since I don't have any
experience doing this.

I will try to follow this 'guide', it sounds better than my non existing plan
:)

