5

I'm going to an interview for a programming job. I have knowledge of many things in the field but I don't have a lot of work samples and the ones that I have are only covering part of my knowledge, so do I need to offer my projects in such a way to cover all my knowledge, technologies and etc... or is it ok to just talk technical about some of them? what is the de-facto standard and how much my chance of getting the position will be reduced?

Is it important to offer a job sample on my laptop for whatever tech I say I know how to work with? Does it matter for an interview?

  • 1
    The standard is to go in and show yourself in the best light while being honest about what you have and what you know. I'm not really sure what you're asking or what choice you're facing. – MrFox Oct 12 '12 at 20:53
  • 1
    Has anyone asked you to provide samples? If not, forget it. No one waits til the interview and suddenly springs that on you. – pdr Oct 12 '12 at 21:52
  • well, that's one thing to know. are they usually do? or they just expect it? – jim Oct 12 '12 at 22:12
  • @jim any competent interviewer will quickly learn whether you know what you are talking about with respect to work you have done vs "done" – enderland Oct 13 '12 at 1:48
  • @jim - The simple solution is create additional work samples. – Donald Oct 15 '12 at 11:07
10

In order to have "samples" of your skills that would be convenient to share, consider public activities, like writing your blog, or answering Stack Exchange questions, or participating in open source projects.

Regarding what is the de-facto standard, based on my experience (I've been at both sides of interview 20-30 times in 15-20 companies, along with few dozens times when I've been an interviewer myself) de-facto standard is not to show samples of your past work, neither on laptop, nor sent by mail, nor anyhow else.

This is a rule with exceptions: I've been asked about something like past work samples once or maybe twice.

The reason why it is so is I believe widespread understanding that this is legally slippery: past work may be owned by your past employer, or may be somehow else legally protected etc. It may be safe or not, depending on particular case but it's often too difficult to figure.

...is it ok to just talk technical about some of them?

Oh, be careful about "just talk technical". No, not in the sense that it's not OK - but in the sense that if you mention you know something, you better be prepared to answer questions proving your knowledge.

And, trust me, if you happen to get to an interviewer who is interested in skills / experience you mention and happens to know it, they will find a way to check your knowledge without any stinkin' samples.

I once skipped to specifically prepare to questions on a topic I bragged about in resume since I have a pretty good knowledge of it - you know, repeat basics, refresh fundamentals, stuff like that - what an epic fail it was when a qualified interviewer drilled into it.

  • My interviewing experience is similar to yours in number of interviews, spread across 18 years, and I too have never been asked to show samples of past work in any way, shape or form. – Carson63000 Oct 14 '12 at 0:55
  • ok, so what happens at an interview? since this will be my first time and i really need to get it! – jim Oct 14 '12 at 2:24
  • @jim I think one who had never been at interview before can imagine it like an exam. If you ever did programming certifications before in whatever area, these give good approximation to scope and content of technical questions that are asked at typical interviews. – gnat Oct 14 '12 at 4:42
  • ok, good to know that it's like an exam! at least i don't have to provide fifty different projects to show my expertise! – jim Oct 14 '12 at 13:48
3

It depends on what they're looking for when they're asking for a code sample.

Some software companies (especially startups and hip and trendy ones run by well known bloggers) will want to see evidence of "passion." Generally this means that they expect you to have been working on side projects in your spare time, not related to your day job, for an extended period of time. In some cases here, if you don't have an active Github account, they most likely won't be interested in you.

Other companies tend to focus more on competence. They won't be interested so much in quantity of your work as quality. They'll want to see things such as: is it formatted cleanly, are your coding conventions consistent, is it easy to understand, does it follow best practices, is it bug free, is it secure, and does it even compile? For companies such as these, just spend a weekend implementing something, send them that, and make sure you haven't done anything stupid such as giving your methods names like doIt() or storing passwords in a database in plain text.

In either case, I wouldn't worry about showing off a wide range of specific skills. They're more likely to check out the ones they actually care about in the interview itself.

  • What if you don't have a passion anymore? In my case, it's gone since 2001, never to return. Software Development is a now just a job like any other. – Diego Oct 16 '12 at 16:01
  • 1
    In that case, focus your attention on the kind of companies that look for competence rather than passion. I get the impression that companies favouring passion over competence are something of a minority so I wouldn't expect you to be too disadvantaged. Remember too that most of your competition can't even handle FizzBuzz. – jammycakes Oct 20 '12 at 22:10
2

In the my technology area (Ruby on Raiks) having code samples - usually on github - is definetly the standard. Companies in this space want to see some evidence of yur work and most importantly your style of programming.

If you don't have enough already it is likely you'll be asked to lotok at some of their code and comment, also pair programming may be done to see what you know.

Although it's standard to ask this in my area I myself usually have to say no to this with the following explanations:
1) All my work is under NDA. I would be happy to show you bits of code on my laptop but I can't just give you full access to the repository.
2) I am in a learning mode right now (this might now apply to you). Every month it seems that my code and style is changing a lot. I look at code from 6 months ago and I think ugh! that's awful. So for that reason I tend not to have old code publicly available. One option here is: when asked in person, show older code and show how you would refactor it.

  • i love the second option! – jim Oct 14 '12 at 15:46
1

A code sample does two things

  1. It shows that you can do something
  2. It shows HOW you do things

Unless the "something" is specifically what the company is looking for, the HOW is more important than the what. So, your code should be be large enough to show that it is well written -- frequently it is a non-functional sample, so it doesn't necessarily even have to do what it is nominally supposed to do. It should be clear as to what it is supposed to do and that you follow best practices. By which I do not mean where you put the braces, except you should be consistent. I mean things like good variable and function names, error handling (whether that is exceptions or return codes), appopriate comments (not too many, not too few, focusing on why not what). Think of the code sample as the reverse of a code review -- instead of an opportunity to catch errors and learn how to do things better, it is a chance to show that you can do things correctly and without errors.

The GNU Hello project or Enterprise FizzBuzz would definitely be pushing the size boundaries for a code sample, but conceptually they are the kinds of thing you want as a code sample.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.