57 comments

[ 6.2 ms ] story [ 194 ms ] thread
I take issue with this article because it would come across to me as a red flag about work-life balance. That an employer would expect you to be doing something programming related in your spare time comes across as a bit self-serving.

Instead, I would ask "What would you like to develop in your spare time, if you had any?" That way they can answer the same as his question if they are working on stuff, but can still show interest in programming otherwise.

Frankly, yeah, it can be hard to stay on top of things, and companies that don't foster learning and expect you to do it all on your own time don't help.

It is always dangerous to assume what answers are desired by an interviewer. Interviews are not just to get the job - it is to determine whether or not you would even want the job in the first place.

So in this particular case, I would answer something about how I have taught my kids multiple languages, taught them kung fu, helped them to develop their own hobbies and become their own people, while at the same time working with local non-profits on renewable energy technologies.

If they do not like that answer and would have preferred a list of open source/weekend projects, it is probably not a place I would have fit in anyway.

A question : are you in the Computer Science field?

While I think that the way you would answer may work beautifully in other fields, we also have to think about the employer's best interest and the field we're talking about here.

Employer's best interest, across most if not all fields, is primarily to hire people that have skills that will be useful in creating advantage of the company as a whole. In the case of Computer Science field, then, having an employee that answers that particular interview question with how he/she has contributed to open source and/or created side projects will have higher probability to create more value for the company than an employee that answers with how he/she is a great parent or how he/she's working in a non-profit of unrelated field.

And as the grandparent post mentioned, he would probably not be interested in working at companies that focused so much on what their employees did in their free time.
I am a software developer in the energy industry. So whether or not that is Computer Science is up for debate. I do need to have my skills up on the technology in use, and I most definitely need to have a solid understanding of technology. But I do not need to know the latest and greatest flavors of it.
Most people writing here are not generally practicing computer science, but rather focusing on software development. For me, good communication skills, an ability to understand project requirements and a focused and responsible attitude are often worth more in an employee than an exhaustive knowledge of design patterns.
From an employer perspective, they're trying to gauge drive and interest. While these questions may not be completely fair, and will exclude a lot of competent people, it is a decently good way to measure what they're looking for. I suppose, it's just a sad situation.
Yeah, kind of, but the false negatives are really severe.

You want to select people who really care about development, and while that question might be a pretty good filter for people in their early twenties, it's also a good way to filter out those who have a decade+ more experience but have other life priorities, like a family.

Certainly, their extra decade or more of work and life experience outweighs the inconvenience of them not programming very much in their spare time.

Certainly, their extra decade or more of work and life experience outweighs the inconvenience of them not programming very much in their spare time.

-------------------------------

A good developer with a decade of work/life experience would have built something in his spare time in the past ... when life wasn't always that hectic. That would work for me too, I'm sure a "I don't do a lot of programming after work now, but when I had more spare time, I did x" should suffice.

Plus, its not a disqualifier ... you don't discard an interviewee just because they don't have side projects that they've done.

I don't think side projects are mutually exclusive with work-life balance. Granted, I don't have children; but aside from that, I think I've been living a very full and action-packed life. Time-consuming outdoor hobbies, girlfriends, friends, going out, travelling - check. I also waste sickening amounts of time on sites like this one, and playing video games. Yet I've found plenty of time over the years to work on two large side projects (both ultimate passions), and several smaller ones (like iPhone apps).

Nothing says you have to spend ALL of your spare time doing ONE thing. You can rotate. I can certainly accept that some people's circumstances are such that they really don't have the time, but I think casting side projects as necessarily creating time conflicts is wrong.

I do agree with you, but my reaction is that what I do on my own time is my business and has absolutely no bearing on anything else, and that asking about it is borderline invasion of privacy.

Maybe I work on stuff I don't want to talk about all night long, or maybe I don't work on anything at all when I get home because what I'm doing at work fulfills me. Either way, it should have no bearing on an interview.

my reaction is that what I do on my own time is my business and has absolutely no bearing on anything else, and that asking about it is borderline invasion of privacy

-------------------------

I'm not seeing the invasion of privacy ... its a relevant question that is strictly limited to your development/engineering experience ... what you learn on side projects has bearing on your knowledge as a developer, if you don't want to reveal that, great, but most people that do have side projects have no reservations talking about it when prompted (unless its top secret or illegal)>

I'm sure a good interviewer can find a way establish your proficiency based on your work experience etc

Maybe I work on stuff I don't want to talk about all night long, or maybe I don't work on anything at all when I get home because what I'm doing at work fulfills me

----------------------------------------

Great. Doesn't change the fact that its enough of a trend among good developers to be used in an interview, to help you zero in on the really good guys.

Either way, it should have no bearing on an interview.

It shouldn't automatically disqualify you, but if you've created something fantastic as a side project, should that really not factor into the decision at all?

Time-consuming outdoor hobbies, girlfriends, friends, going out, travelling - check. I also waste sickening amounts of time on sites like this one, and playing video games.

Serious question. Are you one of those people that have a genetic mutation which allows them to be well rested on much less sleep then the rest of us?

I do tend to think of that as just plain genetic superiority. (Assuming the current studies which show absolutely no deleterious side effects hold true.)

I don't think so. I usually sleep 7-8 hours. It really is just rotating priorities around. Like, I don't have to do any one of those things every single day. Some days are "work" days, where I pick something to work on. I don't always work on the same thing. Sometimes I set aside a week to hide in my house for the sake of finishing something - but it's only a week, and I still take breaks to do other things. Over years, big things get done.
I take issue with this article because it would come across to me as a red flag about work-life balance. That an employer would expect you to be doing something programming related in your spare time comes across as a bit self-serving.

---------------

I think you're reading too much into it ... I've been doing this for 7 years (not that long) and without fail all the really good developers I've ever known or met have built something in their spare time ... just for kicks, a webserver, a firefox addon, some game, a ruby gem, PHP script, a macro for their favorite editor, some electronic gizmo ... something.

Not all developers do it, but the very best do ... so its not a disqualifying question, but it sure does allow you zero in on the very best developers rather easily.

As an aside ... you should always be looking at code, when you're hiring developers. If they can't give you any examples, then make them write something ... I'm continually shocked by how many companies make $70+k investments in people they've never seen in action.

I know some very good developers who didn't do anything in their spare time. One of them was co-inventor of gif format, another was a core contributor to cygwin gdb and so on. But that was all before their day job. When they started their day jobs, that's all they did.

Would you discard them as "not so good" because they don't do anything in their spare time and they concentrate on task on hand? Some people have more demanding jobs and/or prefer to work on their day job in their spare time - not because someone is putting a gun on their head, but because they like doing what they do.

Why would they bother with side projects when they already have real life projects? Impressing the interviewer isn't on their agenda and all other aspects viz. gratification, joy of creation are the same.

One of them was co-inventor of gif format, another was a cygwin to contributor to cygwin gdb and so on. But that was all before their day job.

Would you discard them as "not so good" because they don't do anything in their spare time?

-----------------------------------

No, because their prior accomplishments speak for themselves.

You need to stop looking at it as some yardstick to get over and understand that it is simply an informal measure of a developer's passion and drive, just because you don't do it doesn't mean "you suck. NO HIRE!"

> No, because their prior accomplishments speak for themselves.

I just quoted examples where their prior accomplishments was public. There were many whose prior accomplishments are not public and were for their employers.

> simply an informal measure of a developer's passion and drive.

I don't have a problem with using side projects as informal projects as informal measure of passion. I have a problem with your assertion that all good developers have side projects. I have worked with quite a few and most of them didn't.

what I said was

"all the really good developers I've ever known or met have built something in their spare time"

you took that to mean that I saying that ALL good developers have side projects ... I'm not stating that as an empirical fact, and if you read the comments I've left its clear that I understand that.

Maybe I'm not just that good of a developer.

The last time I did something in my spare time was college.

Ever since I have not gone more then a few precious weeks without being employed as a software engineer full time. And I had to fight for those weeks BETWEEN jobs!

Once I'm done with work, finding myself in front of a computer again, is the last thing I want to do.

I have lots of projects I plan to get to when I'm in between jobs for a while, you know like in a recession. Too bad in this recession I was hired before I had a chance to leave the parking lot of my previous employer.

So yes, I guess I'm just not that good of a developer.

Maybe I'm not just that good of a developer.

--------------------------

I should have realized that once you start subjectively talking about developer proficiency, people get defensive.

Side projects, in my opinion, are an indicator of developer skill, passion and drive ... they are not the only indicator.

Now if you and a guy come into my office looking for a gig and you all compare equally on paper and I like you both, but one guy hacked together a Hacker News firefox extension on the weekend because he wanted to play with the Mozilla addon api and you have nothing ... I'm picking the guy with the addon, and I don't think I need to apologize for that.

I don't hire anyone without a code sample. The difference between my crutch and your crutch is that mine makes no implication that you're not at good as someone who codes in their spare time.
I have developed hockeybias.com. It is a curated hockey news site laid out in a "90% Drudge Report/10% Scripting News" style.

Please check it out!

(comment deleted)
My passion for programming ebbs and flows. For months at a time I may work all day on one thing and come home and hack on an idea I had for serializing continuations. At other times I will instead focus on art, music, or just having fun.

However, everyone is different. I think having written and shared at least a small utility or library is a good indicator to me, I wouldn't discount someone because they had not written programs or libraries in their spare time. Especially if they come recommended and have a good work history.

I find all too often that interviews are just about impressing the interviewer. Everyone has their own idea of what makes a good programmer. When they sit across the table from a candidate I think many interviewers are looking for people that fit that mould.

edit: glaring spelling error

Some of them are here http://twitterex.com http://reduce.li http://twitexplode.com

And am building a facebook application: http://namesucker.com

One pattern in all these, I lose interest and they fizzle out. So, if i could pose a question here, how do you keep yourself motivated?

Do you have customers? Co-developers? Or are you just working on your own?

Are you struggling to get traction? If so, use analytics (AB testing?) to figure out how to get more customers.

If you are just setting stuff up to satisfy your own curiosity (be honest), then it's quite rational to lose interest once the problem is solved.

i start off with enthusiasm and lose it at some point. For atleast one of the projects, I do think something worthwhile can come of it, that's twitterex.com. i am not sure how to go about doing AB testing on a simple site like that
My friend just got a job at Intel. During his interview, he tells me, they were more interested in his side projects then what he did at his previous job.
Same here (though not Intel), recently most people I've worked for hired me because of my side projects.
Nobody works on a side project for a paycheck (in general). They do it because they love it and are interested by it. If you can get someone who's loves/interests align with what you want them to work on, you stand a decent chance of making them happier while giving you a better output - it makes plenty of sense.
There is an implicit assumption here: that your day-to-day work does not consume all of your programming cycles. As a graduate student this was true, and now as a researcher in industry it is still true. The most interesting thing I'm working on now, the thing that is most likely to make the biggest impact is my work.
I think this 'spare time' thing seems to come up a lot with people who for whatever reason, aren't getting enough out of their regular job to satisfy them intellectually.

When I think about programming outside of work it tends to be about the work project I'm consumed by at the time. The only time this doesn't happen is when I'm working on something that doesn't motivate me.

In my spare time I let my subconsciousness work through the problems that my conscious-self couldn't figure out. I find music, entertainment, social activities, and natural surroundings the best way to enable this process.
Everyone I know who was able to turn their passion into a profession have found themselves with diminished drive to work on their pet projects in that field. If someone is satisfied with their work, it gives them time for other hobbies. It is an unbelievable good thing if people can find time for multiple passions in their life.

Aside from the fact I think this line of reasoning is useless there is another -- more important -- issue. I don't care what people do in their off time. That's theirs, not mine. It is the same reason that I don't drug test.

Personally I believe often it is the only time you can truly learn. Often you are being paid to do a job, and in my experience (agency work) that job has been the same thing day in, day out, rarely properly learning new cool stuff to play with.

I wrote an article on this recently.

What’s the most important thing to know as a developer? http://sydl.me/1thingtoknow

I want to keep learning new stuff... the only way to learn is by playing with it. So I create stupid little sites quite often http://instac.at http://isitherapture.com http://obamasmessagetoamerica.com

The list goes on...

It's easy to point out that this question will exclude some false negatives, good people that don't have side projects. I rarely hear anyone worried that it will produce false positives, crappy people that have a github profile bursting with interesting work.

But here's the thing: If you think that this is a bad question to ask in an interview, I have a challenge for you: Describe a repeatable, objective process for interviewing developers. No hand-waving "I talk to them and decide if they're smart." Be specific: What questions do you ask? What constitutes a HIRE, what constitutes a NO HIRE?

If you actually try to make a repeatable, objective process, you realize that there is no fair interview question. It's impossible to come up with a set of criteria that can't either be (a) gamed by false positives, or (b) overlooks good people as false negatives.

For example, "Successful experience in a similar position" is an excellent criterium. But we all know it overlooks false negatives, people who have done good work in dissimilar positions but will adapt and thrive in this one.

In the end, we must either 'fess up and admit that we make subjective decisions, or set our jaw and accept that some false negatives are a necessary and acceptable cost of trying to standardize our hiring process.

(That doesn't mean we can't minimize the number of false negatives. One way to do that is to ask many questions and to incorporate all of the answers into your decision. If you're very conservative, you take any negative result as a NO HIRE, which leads to having more false negatives but a vanishingly small probability of a false positive. But you can go the other way and allow for some of the answers to be negative, which will create a vanishingly small possibility of a false negative overall but allow some acceptably small probability of a false positive.)

I rarely hear anyone worried that it will produce false positives, crappy people that have a github profile bursting with interesting work.

Actually I do worry about that, and have seen it -- and maybe not surprisingly could have predicted it.

The symptoms are often a very active set of open source projects, often a maintainer, lack of enthusiasm about virtually anything they did in their day job.

My theory is their day job at some point wasn't fulfilling and they moved to the side projects to compensate. But by the time they joined us, their side project consumed them. There's nothing worse than someone being consistently late or delivering poor quality, and looking and seeing they did 200 commits, some very non-trivial, to their side projects last week. As I said to one during the exit interview -- you should consider making the "side project" your day job, because that's your passion. Unfortunately it wasn't working here.

Given a choice between someone who was enthusiastic about their day job, and has some good end results from it, and having no side projects, and one who has a lot of side proejects, but no enthusiasm or anything of interest to say about his last job -- I'll take the person with no side projects.

I think about it as well, which is why I follow the strategy outlined in the last paragraph: Asking multiple questions and integrating the responses. Such a strategy embraces the candidates who embrace side projects because they have boundless enthusiasm within and outside of their job, candidates who have enthusiasm for their job but are busy BASE jumping in their spare time, and so forth.

I seriously doubt the author or anybody else espouses any single criterion as the only determinant in hiring. This happens to be the author's favorite question, just as my favorite happens to be about Monopoly.

p.s. FWIW, the question along these lines that I like to ask is for the candidate to describe projects that they are most proud of and have learnt the most from (two separate answers are certainly applicable, although sometimes it's the same one). Some candidates describe a work project, some a side project.

What I have discovered in my small, anecdotal experience is that people with side projects always have an answer to this question, while candidates without side projects sometimes have trouble explaining what they're most proud of and why. But the fact that some people without side projects have trouble articulating their pride does not suggest to me that a person who is justifiably proud of a work accomplishment is neccessarily a NO HIRE. I suspect we agree on this.

Why should hiring anybody being fair and objective? Life isn't fair and objective, business isn't fair and objective.

I want the best person I can get (for a very, very subjective definition of 'best') for the cheapest I can get and keep them (both employed and happy). That's not fair, that's life.

I don't recall saying anything about fair.

As for objective, what I said was for those people who refute the question objectively on the basis of false negatives, I challenge them to come up with an alternative that has zero false negatives.

This was simply an observation about the difficulty of being objective without excluding qualified applicants. In fact, I expclitly allowed for the possibility of saying that you choose your hires subjectively. Could we be in "violent agreement?"

I think so - I don't see any way for hiring to be objective, unless it was completely random (and does that even count?).

So, lets go with violent agreement.

Not to mention that every single person you interview is an individual, with potential to contribute to the organization in different and delightful ways.
I don't what else to do in my spare time beside developing stuff... outdoor is hot...
I enjoy my side projects, but to be honest, I work with people who are better engineers than me who never do engineering projects in their free time. I think it's an interesting question, but not as valuable as the author suggests.
I love building stuff at home. It lets you test out all these new technologies i keep hearing about on HN :P

I built http://www.snowboardfinder.com a little while ago using ASP.Net MVC. Now i'm using it to learn more about mongodb and even creating a duplicate version in django just because I love python

coding should be fun and putting your mind to a personal project lets you explore

I see this sort of advice a lot, and frankly, it bothers me. There's nothing wrong with doing programming projects in your spare time, but it's hardly the most impressive thing you can do.

For a variety of reasons, there are many one-dimensional programmers out there -- people who seem to be only interested in computers and oblivious to everything else. Come on people, the world is wide. Programming is not the best way to become an enterprising, dynamic individual. Unless your company is anti-risk and boring, don't you want to hire people who are different from you? People who have taken crazy trips around the world and learned skills that provide lateral insights rather than just what you get out of sitting at a computer writing code and reading Hacker News?

If someone could provide evidence of doing something daring, that would show more initiative to me than a GitHub project.

(comment deleted)
People were asking me about regular expressions, so I built this interactive tutorial to teach them: http://regexone.com

Was a pretty good way to learn Kohana (PHP MVC framework) and dip my toes back into web dev!

Oh gosh, I have a problem with too many spare time projects. My GitHub account has over 60 public repos full with spare time projects. And I have to force myself to get away from the computer for at least a few hours.

I guess this extreme isn't too good either but there's always something to be done :)

I think there is a difference between hiring students and hiring professionals. From my experience (currently in school), my peers that have side projects (including myself) enjoy programming for the challenges and would be, IMHO, better employees. The students that don't have side projects tend to be in school to JUST GET A JOB. They don't experiment with code and generally don't have a passion for it.

In the end, I think the author is correct when it comes to students (however, the author doesn't address the difference between students and pros)... Maybe not such a good idea for the in-the-field professional.

Not a valid opinion? Isn't there a difference between hiring a newly-graduated student vs an experienced programmer?
Perfectly valid opinion and interesting to read. HN downvoting has become very random.
I truly dislike this question. If you enjoy reading, traveling, playing musical instruments, learning new hobbies, spending time with loved ones and so on, you will likely not have time to program another 2-3 hours a day after an already long day at work as a software engineer (including the long hours that come with the job).

Basically the question can be translated to: "Is programming the only thing you care about in life, if so we're more likely to hire you because we need a machine rather than a human being". As an employer, I can probably see that being a better bang for your buck. In fact if you could have a codemonkey work 12 hours a day without burning out for years for the same pay as a guy who works 8 hour days, would you really turn that guy down?

Its more liking asking a football player what he does in his spare time. I wouldnt expect him to say i play football. Its his passion and its only right he gets paid for it. Since i already have fun doing it, i would consider going out for a bottle of beer something i do in my spare time. The contribution to open soure answer shows more less of a passion for what one does. More of need to see continuity in ones field.