
Ask HN: Candidates with no sample code? - tedroden
I've been interviewing/hiring a lot lately ( www.fancyhands.com/jobs ). One thing I've noticed is that a lot of candidates don't have code samples ready. After looking at a good resume, I tend to ask for code samples and to set up an interview in person. More often than not, people don't have any code samples they can share. No github, etc.<p>I'm not looking for "work" code or even a full application. Just something above a hello world that the candidate wrote.<p>Personally, I'd rather see a few code samples than a resume. You can talk me through your work history, but you can't just talk about code. I'm not going to hire someone on a code sample alone, but I think it really moves the conversation forward.<p>So, the question: Am I being harsh in thinking it's a BIG red flag if a candidate has no code samples? How do you approach a candidate with a solid resume but zero code samples?
======
mikeocool
I think the first time I was asked for a code sample, I didn't have anything
specifically ready. I found the idea of sending a piece of code that was part
of a larger application and didn't really function outside of it a little
weird. I ended up taking some time to build a little command line script that
used a few of the classes I had written and provided that as a sample.

Now that I'm on the hiring end, I've been ask for a sample from candidates,
but I'm starting to find them not all that helpful. I've gotten a ton of model
classes that are pulled out of Rails or Django apps. Which is fair, if you're
building a fairly vanilla app on an MVC web framework, a model is probably one
the more self contained pieces, but I think it's really hard to judge a
candidate by them.

Ultimately, I've found a much better way to get a feel for how someone codes
is to have them come in and pair with them for an hour or two. First spend
some time showing them the codebase at a high level and work with them on a
really quick problem to see if they get the basics, and if they do, dive into
something a little more substantive. Has the nice side effect of seeing if
you're going to get along.

------
caw
I kind of see this issue from 2 perspectives:

1) You're perfectly in your right to ask for code samples. Given, you have to
make sure in some fashion that they wrote it.

2) From the perspective of someone without sample code -- I can't show you
what I make. I can count a number of reasons why it wouldn't be available:
NDAs, trade secrets, company owned code, and even government classified work.
In this situation, I would prefer a whiteboard test or code up this problem in
a few days and submit it with your resume.

You might logically ask, why no other code outside of work? To that I would
respond work-life balance. If you insist on "free time" code you'll get a
whizz bang coder probably. You'll exclude the people who strive for balance
(which may not be what you want, you just have to know you're excluding these
people). These people have other interests outside of work and I might argue
be more well-rounded individuals than someone who codes for 8 hours and then
goes and hacks for 6 more on their side project.

Obviously this isn't a hard and fast rule, I'm just giving you the other
perspective.

I work in IT. I like to code, and I code at work (which means I can't show it
to you). I have some sample code from some school projects, but older
individuals wouldn't.

If you were to do the same thing with IT you would ask "Why haven't you set up
a webserver and configured the database." Maybe because I don't have a use for
that outside work. Maybe I have other interests or other time commitments that
prevent me from doing that sort of work. In respect to coding, maybe I don't
have a problem that can be automated, and I would absolutely hate to spend my
time implementing an idea that is probably worthless. If I bother to validate
it and do my homework, you're looking for an entrepreneur to give up their
work in order to join yours as less than a founder.

~~~
tedroden
I totally agree. Some people don't have time to code outside of work. I have
two kids, a full time job, I haven't had time outside of work to write code in
ages... and I've only been a startup founder for a short time. However, my
point is that "code" is as important as "resume" when looking for a job. As
someone hiring, I'm just thinking the time would be better spent on code
samples than writing a resume. I'm probably wrong though as far as it goes to
hiring at most companies.

~~~
caw
> As someone hiring, I'm just thinking the time would be better spent on code
> samples than writing a resume.

I guess it depends on what you're looking for and your point of view.

It sounds like that given the choice between coding something in order to show
employers versus creating a resume you would rather produce the code. But as
an employer, do you want code that they wrote to show off, or do you want code
from a project that they enjoy and to solve a problem, rather than as a
demonstration? And as other people said, you don't know how long it took them
to write that spiffy code they're showing you. If you spend enough time on it,
the turd will eventually be polished.

Resumes are pretty much universally accepted. Startups are tending towards
more code based, but I get the impression that you don't know going in if they
want to see existing code, or a specific problem solved. Given that situation,
your bang for the buck would probably go with a resume. Even if you tweak your
resume to have 3-4 versions in order to apply to different positions it's
probably time better spent than creating contrived code examples to serve as a
resume.

------
djb_hackernews
In my short career I've worked with enough developers that are water walkers
that don't code in their free time to know that limiting candidates to people
with code samples will seriously affect your ability to hire talent.

On the flip side, I just accepted an offer where the interview basically
revolved around discussing projects in my github profile. But, the comment was
made that they've never interviewed anyone with a github account...

------
bartonfink
I wouldn't say it's a BIG red flag, because it's certainly the case that there
are good engineers out there who don't have an online presence for various
reasons, and excluding them for this prima facie reason seems like a poor
practice.

I don't think it's unreasonable to ask everyone to submit a code sample, and
in fact I think it's a stellar idea. Provided that you make sure that they
actually wrote the code and didn't appropriate it somehow, it's a really good
way to ensure that they know what they say they know. However, I wouldn't hold
it against anyone if they didn't have something prepared. I'd just tell them
to write a relatively simple app and submit it in a relatively short timeframe
(maybe a week).

That said, I'd make sure that if you're looking for something in particular,
you mention it when you ask for a sample. I've been in interviews where they
specifically asked for a code sample that ignored persistence and display, and
later been asked to give a sample that showed I knew SQL and a UI technology.
That was frustrating.

~~~
tedroden
To be clear, I'm not suggesting they need to have an online presence at all.
I'm just talking sample code. They can email a zip file even.

Seems like good practice to specify UI/non-ui. I'll keep that in mind. At this
point, I'm just asking for any code as a basic sanity check before we meet up.
Deeper dives could come later...

------
dusklight
I think it's kinda dumb to ask for code samples, because while a code sample
from a honest candidate can be very helpful in determining how good they are,
it is very easy for a dishonest candidate to doctor something up. Also when
looking at a code sample you have no idea how long it took them to do it or
how much hand holding they needed to do it.

Having a coding question (Something clever but doesn't take up a lot of time
to do, the best programmers have plenty of options, they don't need to jump
through your hoops if they don't want to) on your website and asking for
solutions to that is a better filter imo.

~~~
tedroden
I keep hearing this... that people send in other peoples code. I smell a
startup idea: is-this-code-stolen.com

------
kls
I see no issue with asking for a sample. I ask them to demo something that
they have built if they can and I personally bring a working app with me on an
interview. If they do not have a code sample, I would ask them to choose an
intermediate tutorial code base on the web and walk me through the code. But
without a code sample I would probibly only offer them a junior position, with
the understanding that if they prove to be a senior in 30 days, that we will
change the position with back pay.

~~~
tedroden
Interesting idea with the tutorial walk-through... hadn't thought of that.

~~~
kls
Being able to walk through someone else's code is a critical skill that a lot
of people take for granted. I am not a big fan of the whiteboard during an
interview and like to create environments that mirror what they would do on
the job. Walking through a tutorials code is one of them. The other thing you
can do is have them write a fizz buzz program, at home after they come in for
an interview. But if you do this, you should reserve it for candidates that
have no code to show but that you are strongly considering picking up. I would
have no problem writing a fizz buzz for a company that I know I am in the last
round of hiring with so long as I can do it in my environment.

------
ayers
You could always send a candidate a simple(or complex, depends on what you are
looking for) task that they need to complete a working solution for. This
could be more beneficial than already prepared code samples.

1: You will know the time frame in which it took the candidate to write the
solution.

2: You are setting out the parameters for the task and can choose an
area(specific skills) that you are particularly interested in testing
knowledge for.

I know a lot of companies do this as a standard practice.

------
joelmaat
That's what interviews, temporary contracts, or 1 week in-house trials are all
about. If an Engineer doesn't have a code sample, then you should move forward
and find another way to see them write, critique, and complete code.

I recently tested the job market and found that I also had no code sample that
I could share, but I know personally that it doesn't make me any less of a
coder.

Your loss.

~~~
tedroden
Very interesting. Would you really be more interested in leaving your job for
a one week trial than writing a code sample?

I have no problem with trials.

Also, you mention my "loss," I've NEVER turned anybody down because of a lack
of code samples, I've just moved faster with other candidates. I've never
hired anybody with code samples, but there were other factors...

~~~
joelmaat
No, I wouldn't be more interested in leaving a job for a week, but there are
those working on their own thing (or, _shock_ , not working). My main point
was that there are other ways to gauge how well an Engineer can write (and
deliver) code.

Its great that you've never turned down an candidate due to lack of a code
sample. I think passing on someone over such a thing is a bit unwise.

------
tedroden
Had part of this discussion on forrst, too:
<http://forrst.com/posts/Code_samples_from_Programmers-6pi>

