Settings

Theme

Ask HN: Candidates with no sample code?

14 points by tedroden 14 years ago · 18 comments · 1 min read


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.

I'm not looking for "work" code or even a full application. Just something above a hello world that the candidate wrote.

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.

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 14 years ago

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 14 years ago

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.

  • tedrodenOP 14 years ago

    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 14 years ago

      > 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 14 years ago

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 14 years ago

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.

  • tedrodenOP 14 years ago

    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 14 years ago

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.

  • tedrodenOP 14 years ago

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

kls 14 years ago

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.

  • tedrodenOP 14 years ago

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

    • kls 14 years ago

      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 14 years ago

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 14 years ago

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.

  • tedrodenOP 14 years ago

    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 14 years ago

      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.

tedrodenOP 14 years ago

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection