Hacker News new | past | comments | ask | show | jobs | submit login
I Wouldn't Hire a Programmer With No Interest in Programming Outside of Work (github.com/raganwald)
102 points by raganwald on Oct 8, 2009 | hide | past | favorite | 109 comments



What I do outside of work is none of my employers business - period. I'm surprised I'm the only one that finds this practice offensive?

For the record I have known many, many engineers who devote themselves 100% passionately to their 9-5 jobs and when they get home, they relax and do other things. These people are the type of people I would hire in my organization in a heartbeat.

I have also known the 'entrepreneurial' type of developers who have side projects and while they are generally good workers, a few of them are more interested in their side project then their actual day job and their work quality has suffered.

Hire the people with the skills and aptitude to do the job, leave their personal lives out of it.


Mmmm, I interpret this practice a little bit differently.

I wouldn't hire someone who isn't passionate about programming. Many of the people I work with today rarely code outside of work - kids, hobbies, friends, etc. This is okay.

But what you really want is one of the guys who stayed up all night in college to bang out the latest and greatest piece of code. You want the people who genuinely love doing this - because there are twice as many people who slummed their way through CS doing the bare minimum necessary.

I work with both types, and as the former type I cannot stand working with the latter.


None of the top programmers I know code outside of work. They all have other hobbies and have been coding for long enough that they no longer find it challenging. They enjoy coding, but passion burns out before you truly master software development.

PS: There is a tendency to start doing side projects if there job stops directly involving coding because they start managing people, teaching, or just retire.


None of the top programmers I know code outside of work.

Ironically I've had the exact opposite experience. In professional life, the best I could say about any programmer who doesn't code in their spare time is that they're "ok." And more often than not, I'd call them pretty mediocre. I've yet to meet anyone great who doesn't do at least a little programming on the side. It's a great predictor of ability in my experience.

No offense to anyone here.


"Ironically I've had the exact opposite experience. In professional life, the best I could say about any programmer who doesn't code in their spare time is that they're "ok." And more often than not, I'd call them pretty mediocre....No offense to anyone here."

Saying that you didn't intend to offend doesn't give you carte blanche to say offensive things.

I'm one of those guys who doesn't code outside of work. I have a limited capacity for that kind of intense thinking, and since I'm using that capacity at work, I have to take time away to stay sharp. It's stupid and shortsighted to conclude that this makes me mediocre, even if everyone else in your limited life sample has been mediocre.

Also, for the record? Nothing you wrote was ironic.


I think your hostility is a bit overboard...

The idea that doing intense work could sap your energy totally matches my experience.

I would find it hard to believe that you love solving problems with code, but never find the opportunity and necessity to do that outside of work. For periods of months perhaps? Sure, but over years? Never doing anything other than what's expected at your job? I'd find that hard to believe.


I didn't say that I never "found the opportunity" to solve problems with code outside of work. I said I didn't have the energy to code outside of work. Your incredulity concerning that fact is irrelevant to my ability.


edited for tone and temper:

I'm sorry you're offended, but I think you're being way too defensive.

I certainly didn't make the stronger case that you seem to think I did; all I did was state my experience. If that's too much for you to hear, well, that says more about you than it does me.

There are probably tons of genius coders who never, ever code in their spare time. I just don't know any personally.


Way to take it personally. The person you're replying to did qualify all his observations by stating just that. That they're from his personal experiences. Unless you're included in, as you've already put it, his "limited life sample", I can't for the life of me fathom why on earth you should think that he thinks you're mediocre.


Mmmm, what he said wasn't offensive. He didn't say that anyone who doens't program as a hobby is mediocre. He simply pointed out that in his experience that has been the case. Read his post again...


Yes, he carefully caged his words to avoid explicitly making the generalization, while still communicating that's what he believes. Fortunately, the English language is not strictly literal, and I am allowed to respond to the intent and implication of his comment.


Ironically, if I were as defensive as you, I could have misread the parent I responded to as saying that I must not be a top coder because I do code outside of work. Thankfully, I was able to simply respond respectfully with my different experience instead.

Since I default to respecting the experience and ability of everyone who posts here, I indeed found it ironic that my experience would differ so sharply from Retric's.


"Since I default to respecting the experience and ability of everyone who posts here..."

Oh, come on. I wasn't going to bring this up, but since you're playing the role of the civilized martyr, why don't you tell everyone how your first reaction was to send me an email calling me a "dickhead" for what I wrote? You have a funny way of "respecting" people.

No, I don't agree with you, but I had enough respect not to call you names, and I had the guts to say what I said in public.


Wow, you really are trying your best to turn this thread into a full-on flame war. :/

You are acting like a child and at this point, I'm truly shocked by how pathetic and capricious you're acting in response to a stranger's statement about his experience with computer programming. I'll respond to this and then I'm done.

I wasn't going to bring this up, but ...

But of course you're gonna. Keep it classy.

... since you're playing the role of the civilized martyr ...

No martyrs here, just someone pointing out how intellectually nonsensical your reaction was.

why don't you tell everyone how your first reaction was to send me an email calling me a "dickhead" for what I wrote?

First off, you're taking that way out of context. Second, e-mailing you was far from my first reaction. My first reaction was to flame you back in this thread. I realized that wasn't contributing to the thread in any positive way, so I rewrote my response in a more constructive way, and added the little note "edited for tone and temper." I did that because I respect Hacker News.

Then I e-mailed you out of band to tell you (1) you misread my post, (2) you flamed me personally without provocation, so I thought it merited a personal response, (3) you seem like a smart guy, I have no problem with you beyond this little incident, and I really respect your work but (4) your vitriolic, misinformed flame unnecessarily made you look like a "defensive dickhead."

So writing you personally to address a personal issue was actually my third or fourth reaction and I thought it was quite appropriate to take personal sentiments outside of the thread here. Lest it descend to the flame war which you seem so intent on having.

You have a funny way of "respecting" people.

Now who's the martyr? I said that respect is my default. You coming out of the woodwork to flame me and call me "stupid" chips away at it. And you, hours later, still upset over nothing and choosing to bring up a personal communication out of context pretty much voids it.

And what you call "guts" I call absolutely pathetic. You've got a Ph.D. in Computational Biology and you're letting your feelings get hurt that someone, somewhere on the internet might think you're just an ok coder. And all that based on a completely innocuous statement not even directed at you. Not to mention, you go out of your way to attack someone personally and call them names based on this imagined slight, and then get sanctimonious when they call out your actions in a less than complimentary manner.

Your behavior here is bizarre and, to be frank, a little scary. You can flame on all you want, but I've got no interest in interacting with you or the thread further. The funny part is, I am actually sorry. I must have really hit a nerve and hurt your feelings to provoke this kind of response. Good luck to you and take care.


Of course, just as we're also allowed to think you're overreacting.


If we have a set of people who do program at home and a set of people who don't and both sets are awesome programmers, is it a worthwhile indicator?


Can one ever truly master software development?

I certainly hope I never stop feeling like there's a lot more to learn. Once you start feeling that way, the challenges and the pleasure in overcoming them will most certainly end, which doesn't necessarily have anything to do with how much there's really left to learn.


then you are not really intersted in really mastering programing, or maybe it is just a sign of a 'blub programmer'

There are so many things that are not solved yet. AI, in a human context comes to mind. Speach recognition, text to speach, image recognition are solved problems. Combining them into a seemingless intelligent experience (robot is optional), is not solved.

Master that, and you might become rich if you do.


In what way is AI a coding problem? Hacking 4096bit RSA is not coding problem. It's a math or hardware problem. For now true / classic AI is the same thing.

We have the hardware so you could build a self balancing robot, that walks around and picks up trash by the road. It would be incredibly hard to build it yourself, but it's possible. However, we don't have the HW that would let you build a robot that can read a random book and the assignment and then write original essays which would consistently get's a 95 - 100% in English 101 at Harvard.


I agree completely. I don't think it should be how many hours you put into a side project or how much time you spend coding something outside of work. It comes down to whether the person really enjoys tinkering with (new) technologies.

It shouldn't matter if you don't code outside of work and it isn't your employers business. But if you do code outside of work, it definitely says a lot about your character and how you regard technology.

My coworker said to me once, "There are those who do technology as a job, and there are those who do it as a passion. We want the latter"


"There are those who do technology as a job, and there are those who do it as a passion. We want the latter"

Every company wants the best employees, but how many want to pay the best salaries?


Hire the people with the skills and aptitude to do the job, leave their personal lives out of it.

Fact is, it's not always easy to determine the skill and aptitude levels of a prospective hire. Even if you can accurately pinpoint these things, a high skill level alone doesn't always translate into hard work as an employee. You can never know exactly how things are going to work out in the end, so your best bet is simply trying to raise your chances of making a good decision.

When it comes to coding, it's safe to say that the more time one spends doing it, the better one gets. There are tens of thousands of people who enjoy coding as a hobby, so why hire someone who doesn't?


Agreed, but I think you missed the point, which is...

If the programmer sitting in front of him for an interview doesn't program outside of work hours, how did he/she get the interview in the first place? His conclusion is that they must have been goofing off at work during the day on open source forums, blogging or using twitter.


You're right: what you do outside of work isn't your employer's business. However, I would not hire a programmer who will not program at home. That's not to say I would expect them to be contributing to so Open Source project, or to be running a side business, but that they can and do put together code in their own time, for their own reasons.

For example, the guy who runs a personal blog, and put together his own widget to display some sort of stat, seems like a good idea. The guy who runs a personal blog, and spends a day (off) hunting down a widget that someone else made, that kind of does what he wants, and costs $20 to use, would not be a good fit.

My view on it is something similar to: I wouldn't take my car to a mechanic who takes his own car to the dealer. Why would I hire a a programmer who, when he needs a program written for himself, goes and finds someone else's work?


I've been a programmer professionally for over 10 years and worked with a variety of teams. In my experience, I haven't observed a correlation between tinkering with programming as a hobby and the ability to be an effective employee. From what I've seen, communication skills, interpersonal skills, and the ability to motivate oneself have more impact than hobby programming.

"I wouldn't take my car to a mechanic who takes his own car to the dealer." -- I see your point, but use your imagination a bit more. Perhaps there are really good mechanics out there who really love being mechanics but at the end of the day want to do something different than work on cars. In other words, you can love something and be good at it without it consuming all of your waking life.

You have to be careful with taking such a hard line. As a developer, I would hesitate to work with you.

EDIT: For the record, I work on lots of side projects outside of work.


That is a really bad an strange example of a good programmer. Why should a programmer spend his time and company programming a widget if their is an equivalent that can be bought for cheaper. I'd rather be a programmer that finds the right tool for the job than be one that sees everything as nails.

My mechanic specializes in Asian/Japanese cars. He drives a BMW. The shop next to him specializes in BMWs. He could spend $1000s of dollars to get the special tools and equipment to fix his car. Or he could pop over to his neighbor, borrow 30 minutes of his time. His neighbor has the tools, training and competence to work on his BMW. He does not.


The guy who runs a personal blog, and spends a day (off) hunting down a widget that someone else made, that kind of does what he wants, and costs $20 to use, would not be a good fit.

That is probably what the majority of real-world software development consists of, tho'. E.g. is every piece of software you use an absolutely perfect fit for your needs, and if not why haven't you rewritten it? Because that's not a good use of your time.


Maybe because the programmer is an adult and isn't wowed by the prospect of spending more than 5 minutes writing something (s)he can buy for $20?

Also, this is seriously nasty ageism. Once you grow up the same thing will happen to you: significant others, friends, activities, hobbies, pets, kids, etc, most of which don't involve sitting on your ass in front of a computer. In fact, having put 10 years into this industry, I work a lot harder and better at my actual job if I don't spend all my off hours in front of a computer.


It doesn't sound like much fun to just buy something for $20 rather than create it yourself. Obviously if you're going to buy it, you don't consider creating it to be fun. Some people like to create things for fun, and that is their activity or hobby. I'm not sure why doing what you do professionally can't also be your hobby. Why is buying something rather than creating it the "adult" thing to do?


The programmers that prefer creating to buying are sometimes bad for business. They may prefer to create software in-house (expensive) rather than use an existing software library (cheap). At the end of the day, a developer is only as good as the value she adds to the business.


Did you read the post your replying to? The poster pointed out that he's got other things in his life. When you grow up you might decide that $20 to spend time with your kids when they're young is cheap.


Yes, and how you spend your time is personal decision. Just because one person decides to code in their free time doesn't mean they aren't an adult nor that that's a blanket bad decision. The wording in the comment I'm responding to ("Once you grow up", "sitting on your ass in front of a computer") is kind of inflammatory and seems to imply that only non-adults have time to do coding or hacking, that it's a "kids activity", and that coding can not be a hobby (since "hobbies" is called out as another possible thing that "adults" do).

In the context of this discussion, however, if you were to ask during an interview "Talk about a personal programming project you've worked on recently" and you heard back:

Candidate A: "I don't do or think about coding outside of the office, but I did just recently spend $20 purchasing tool to upload images to flickr and I had to read the docs to configure it to work with my firewall."

Candidate B: "Well, I wanted to upload the 2,000 pictures of my son to flickr to share with my family, but doing that with the flickr web UI manually was taking a long time, and there isn't a good flickr uploader for Linux, so I hacked out a shell script that gets invoked when automount mounts my camera or flash drive that uploads the images to flickr with their API"

Is anyone seriously going to consider Candidate A, just based on this question, as more valuable for a coding/hacking/technology position? Obviously, other factors come into play, as techiferous points out elsewhere in this thread, but this is meant to show someone's passion, not if they have good judgement as to if something is worth doing (hopefully, you've got a battery of other interview questions that help determine that).


I know a lot of people like Candidate B and I would not like to work with any of them. Life is a balance. Passion for programming is good, obsessive compulsion is not.


Wow, that seems kind of extreme. We have both "adults don't program in their free time" and "programming in your free time is possibly obsessive compulsive" in this thread.

If passion is a good thing to have, how do you measure it other than with a question like this? And what would be a good way to measure unhealthy dedication to a hobby that could be obsessive compulsive?


Two reasons:

1 - it's unreasonable to not ask why saving $20 is worth many hours of your life;

2 - Why would you assume that mucking about with php and wordpress, then validating front end code in ie{6,7,8}, ff, safari, and chrome is in any way fun for the vast majority of developers?


Most of the responses seemed to focus on the cost aspect of purchasing the widget. I was trying to imply that there was a significant amount of time investment to go out and find someone who made it before you could even buy it from them. I've known several people professionally who would rather spend 6 hours hunting down a product they could purchase rather than writing it themselves in a similar amount of time. No, what they would have written isn't as robust or well optimized as the product they purchased, but it would have fit their needs better, and they would be better able to change the functionality as needed.

To create a better (real) example: I had a co-worker who, a while back, needed to have a handful of files converted from one somewhat obscure format to another. He already had a utility to do the conversions one at a time, but he needed to do several hundred of them and they took around a minute each to do by hand. He then spent all evening (by his words, I'm not sure how long that actually amounts to, but would guess in the 3-4 hour range from the way he talked about it) tracking down a software company that produced a bulk conversion utility, which charged $50 for the application to do it. When he told me about all the time he spent tracking it down, I asked him why he didn't just write it himself, since he definitely had the skills to write, at the very least, a script to read through the folder structure and do the conversions in the amount of time he spent looking for it. His response was that it just had never occurred to him to write it himself, despite the fact that he had the skill set to do it.

My previous example was due to the fact that I have seen many, many "companies" (read: high school/college kids with some php experience) offering widgets that could be hacked together in a couple of hours by anyone with a rough understanding of PHP and JQuery. They make their money by targeting a rather obscure, specific functionality, and waiting for someone to come along who just happens to need that function. In my discussions with a person who did this, he told me that he frequently gets emails about how a user had spent hours/days searching for something to do just that task, and that the widgets were often used on "tech" sites, where (I would think) the administrator should know at least basic PHP programming.


I am not a lawyer, but I believe that judging a job candidate based on their outside-of-work activities would actually be considered discrimination and illegal.

Judging passion is a different thing, but anyone reading this article and agreeing with the sentiment of it better be really careful about how they act about this during the interview process.


> I am not a lawyer, but I believe that judging a job candidate based on their outside-of-work activities would actually be considered discrimination and illegal.

Discrimination is legal except for the few specific cases outlined in the various civil rights, equal pay, and age discrimination acts. Might as well take two minutes to research before making these types of posts.


Yep. Discrimination is the whole point of interviewing job candidates. You are trying to discriminate between the ones fit for the job and the ones not. :)


It depends on whether it's a coded way of asking if the candidate is married/has kids.

    Interviewer: Do you work on an open source project outside of work?
    Candidate: No, I'm too busy looking after my kids and Church activities
    Interviewer (thinking): Oh shit, I better have a damn good reason to give to HR if I reject this candidate...


"judging a job candidate based on their outside-of-work activities would actually be considered...illegal."

No, not in this case. This is relevant to the job. An employer can easily ask, "Do you have a software project portfolio?" or "What's your experience in python, professional or otherwise?" It's very much on-topic.


Whether you choose to spend your time at home programming or doing something else is relevant to your day job how exactly?

I'm not saying that external work and side projects can't lead to experience or knowledge that would make someone a good candidate. Someone might be qualified because of the work they've done on the side. But they can't be disqualified because of a lack of it.


The post you are responding to claimed that the practice is legal. You are claiming it is unreasonable. You're arguing past each other.


"Someone might be qualified because of the work they've done on the side. But they can't be disqualified because of a lack of it."

That's kind of a meaningless statement. In a competitive atmosphere, not having a qualification is the same as being disqualified if the other guy has the qualification, and among programmers, the other guy usually does have that qualification.


"Someone might be qualified because of the work they've done on the side. But they can't be disqualified because of a lack of it."

I agree 100%.


As a developer, I take it as a red flag whenever I hear a prospective employer categorically state "I would never hire a programmer that X."

First of all, it's a heuristic. If a programmer doesn't program outside of work, it could be that they are not passionate and don't take the time to keep their skills sharp. It could also be that they are a polymath genius, and simply can't function unless their life is full of a variety of interests.

Hiring heuristics are appropriate when there are too many applicants. For the sake of efficiency, you need some way to narrow down the huge stack of applications. However, if you are having a hard time finding developers, that's not the time to use heuristics.

It tells me something about a prospective employer's problem-solving skills and imagination when they would not consider interviewing someone for a single reason, such as not having a blog. That's like being a one-issue voter.

Also, these heuristics have a way of confirming themselves. The person who hires only programmers who do X will probably end up finding decent programmers anyway, but they will be oblivious about the ones that got away.


What if the employer says: "I would never hire a programmer that sucks"?

Seems pretty reasonable to filter out people who are bad at their job.

So your argument is really one of breadth - breadth of the filter. From my point of view as a programmer, I certainly do believe that programming outside of your job is an extremely good predictor of passion, which is a great predictor of ability as a developer, particularly for younger people. I might consider a 40-year old who doesn't program for fun anymore, maybe. I wouldn't bother interviewing a 25 year old who never saw a point in coding outside of university/work.


"I certainly do believe that programming outside of your job is an extremely good predictor of passion"

Yes, I think that's the point. Is this a good predictor? If you are a young, single male, then maybe so. There are many other reasons besides lack of passion that can prevent a passionate programmer from programming outside of work.


Actually, no. I think that's almost the definition of a passionate programmer: there's very little that cna stop them from programming outside of work - not even a full time programming day job.


Supposing for the sake of argument that you were actually passionate about more than one thing in the world, can you imagine why someone might want to spend six or eight hours doing some of the others after spending eight or ten hours doing one?


You are a mother with two kids.


Yep. I am. And I program, but rarely outside of work. I leave work at 5 and, when the schedule permits, I start coding again after they go to bed. This is likely to happen 2 or 3 times a month. So far I've read nothing in this thread that doesn't make the assumption of no other demands on one's time. Maybe I'd get the job if I just said, "I wish"?

Not that it matters. I have a great job.


The answers to this are so ridiculous. "Well too bad because as it turns out when he goes home he cures cancer, with paper and pencil!"

Is it really necessary to explain that the point is that this person clearly isn't passionate about his work, as demonstrated by having zero outside interest in the subject. Clearly if he is a genius and has some amazing reason this doesn't apply.

More importantly the point of this article wasn't so much that he wouldn't be hired out of spite or something, but that he would never even get to know these people and thus get a chance to interview. This is of course obviously true and has nothing to do with "privacy" concerns. If you are an active member of the community, then you will inevitably meet other people in this field and get opportunities that just won't show up in the classifieds, there's nothing controversial about it.


On the other hand:

http://www.fastcompany.com/magazine/06/writestuff.html

It's strictly an 8-to-5 kind of place -- there are late nights, but they're the exception. The programmers are intense, but low-key. Many of them have put in years of work either for IBM (which owned the shuttle group until 1994), or directly on the shuttle software. They're adults, with spouses and kids and lives beyond their remarkable software program.


How can one be intense but low-key?


Don't surf the net at work. Don't take long breaks. Don't waste time on useless things. Only show up when you are healthy and well rested. Only work with talented people who get stuff done.

6-7 hours of real work a day x 5 days a week x 48 weeks a year x 7 people can get huge amount of stuff done.

PS: The longer most people are at work each day, the lower percentage of the time they are actually getting stuff done.


Of course, the ratio of work-done to at-work is going to down as at-work goes up, even if work-done remains constant. This is why you should go home at the point where work-done equals at-work, so the ratio remains at 1, even if work-done and at-work are both less than 8. Most companies don't like people working significantly less than 40 hours a week, however.


A friend of mine always asked the following question in interviews: "What was the last program you wrote that wasn't for work or a programming assignment?" He just wanted an answer that wasn't "I have never programmed just for myself".

Every other craftsman will use their talents for their own purposes, so it is generally a good sign if programmers do the same.


I must say, I agree. Having _no_ interest in programming outside work begs the question: Why is it your day job?

Although I don't work on too many spare projects on my own, I read a whole lotta websites relating to programming (this site, for instance..) and catch up on relevant news and technologies.

If the title was "No, I wouldn't hire a programmer who isn't cranking out code every hour he's awake", I'd definitely disagree. But, in my opinion, in this business, you really need to know what's going on. And unless you're in a research position at your day job, I'm guessing your boss wouldn't want you to spend working hours studying every interesting story on HN. Ergo, you'd read up on your spare time.

That's not to say you shouldn't have hobbies. A three year old Norwegian study [1] shows that IT-engineers have the largest burnout-rate of all occupations. It's important to relax, find something that makes you feel disconnected (my love for the moment is mountain biking, but whatever floats your boat).

[1] Google translate of Norwegian article about burnout-rates in the IT-industry: http://bit.ly/it-burnout


You ask "Why is it your day job?"

Because I spend the largest part of my life at my day job, and want to work on something I am passionate about during that time. However I am also a person with many additional interests and desires, such as playing sports, reading, art, and music and since each of those are deep areas of interest themselves, they all occupy parts of my non-working life, while being balanced with my family.

There are plenty of people who feel this way. They are well balanced individuals who are effective at their jobs, and passionate about them. But there are only so many hours in a day. Working isn't just about time spent coding. It is about working well in a team, and relating with your customers, and understanding social issues as well as technical ones. Someone who only codes is simply more likely to be underdeveloped in one of those areas.

It is just a stupid qualifier. If you are hiring a marketer, would you only hire someone who telemarkets from home on their off time because they enjoy it? That's just stupid.

Someone who has side projects at home -might- be a more experienced developer. Or they could be a poorly rounded individual. Someone who doesn't work on side projects at home -might- be non-passionate. Or they might be very passionate and effective, and simply more well rounded. To say you would always require one or the other is just dumb.


I guess he's not hiring a whole lot of people with families then.

When I was 20 I had a LOT of free time in my hands. I spent some of it doing programming. I'm no longer 20, and I have two kids who require near constant attention from my wife and I and I'll be damned if I spend any of my scarce free time doing programming. I have far better ways to spend my time these days. Mainly sleeping.


Agree. When I was younger I built this monster ESX server for all my programming whims. Now, the server is still there, but it's primary job is a NAS for my kids' DVD collection. I sit in front of it maybe once a week. Most of my hobby programming is now done at work. Friday afternoons are set aside to experimental stuff that may or may not be related to work.


I agree completely. I built a team of engineers (generally junior devs) all of them had pretty freshly minted degrees and all of them had built something outside of work. This team rocked.

This was the single best bar I ever set for hiring young engineers.



Working 6 days a week with 60-hour weeks, how is a startup employee supposed to do anything other than chores and the occasional date outside of work?

Maids, cooks, personal shoppers?


This post actually presents two premises.

The first, that programmer hacking on their own projects, I agree is a very positive indicator. If they don't, it may or may not be a negative indicator, depending on the circumstances. However, I've found the combination of someone who really has the itch to hack in their own time, and that same someone who honestly can't find the time is rare. More often, after enough prodding, they'll admit they just aren't that interested, and that it is "just a job like any other".

The second, that selecting candidates based upon social connections is an optimal strategy, I approach with some caution. This is not to say that it isn't the best way for raganwald to do things, but I have seen people develop insurmountable confirmation biases simply because someone they know gave a candidate the thumbs up. A lackluster interview performance wasn't enough to overcome this; poor performance once hired wasn't enough either. The trust the hirer puts in their network to suggest the right people must be for the right reasons. This, in a person's profession network, is rather rare. More often, two people knowing one another is the basis for a referral, rather than what the two people know about one another. This works ok in situations where the primary goal is to find a good social fit, but it is like throwing dice when determining if the candidate is capable of performing the required duties. In a lot of cases, both parties just don't care; the referral is a social, not economic or professional, transaction. Luckily for both parties, many companies don't care that much either. Mediocrity is not really affected by the introduction of more mediocrity, so neither party ends up with a tarnished image. This sort of politicing sucks.

My perspective on this is much the same as Joel Spolsky's -- or at least the perspective he used to have. If a particular candidate comes pre-recommended by someone, I'm really hesitant to know that. If I'm the person doing the recommending, I always wonder whether I'm doing it because this person is a genuinely good fit, or if I am just feeling the pressure to be a good friend. If I was both introduced to him and one of the one's vetting him, I'd be really concerned that my bias is way too strong for me to make an honest, objective decision. Hiring people based on a blind resume submission sucks, too, and I don't know of any other alternatives. But I worry we have a blind spot to the biases of this method of finding candidates, simply because we want to believe the best in everyone we know.


Elsewhere, Giles Bowkett described hiring through networking, HN, blogging, twitter, and so forth as being "inbreeding" and would produce "retarded" results.

I <3 Giles!

http://www.flickr.com/photos/raganwald/3488885664/

p.s. Giles was positively kind in comparison to discussions elsewhere. It really shows that individual communities do have a very strong cultural bias, which I think supports your point and his:

http://www.reddit.com/r/programming/comments/9s5pd/no_i_woul...


Too bad. If he sits around reading math books in his spare time, you just missed out on an incredible opportunity.

Seriously, I would be supremely interested in at least getting to know him, if not working with him. Actually managing to go off the grid at 5pm every day takes a lot of self-control. I'll bet most of the people reading this couldn't do it (myself included.) My guess is he spends his non-work time doing something enriching, not just swapping the monitor out for the TV.


If such a person networks enough to have friends recommend him for the job, I'll meet him. If he doesn't network, I'll miss him.

I don't have the patience to sort through thousands of job posting submissions and Indian outsource emails looking for the one incredible opportunity.


There is no point in just reading maths books. That would be not much different to reading books about celebs. You have to get your hands dirty, start exploring theorems, or even start modelling them in the computer. That would be impressive.

Someone who just reads maths books is not really bragging about much.


While the interviewer/writer might seem a little flippant or lacking in eloquence with his description of the event, in the long run he would probably be making the best decision for the company.

It seems like when he interviews he likes to hire those with a higher level of dedication to (more love of) coding.

Perhaps as an interviewer his real concern here isn’t so much what someone does in their off-time, but rather he looks for a good fit with the rest of the team. If the current engineers are all about the never-ending love of coding and the new hire was not, the overall cohesion and possibly productivity of the group may suffer. “Ducks of a feather...”

There are complaints all over the web about new hires who are perceived as slackers, or a know nothings, being hired on in hardworking departments (at good companies) and sometimes even being promoted up and up the ladder to the chagrin of the current employees. It can cause deep animosity towards the company and increased turnover of good people. Perhaps you have worked somewhere where this has happened and experienced it first-hand, or know someone who has.


The Hacker News title here is the opposite of the one on the article itself.


Yeah, I was looking forward to a good contrarian article. But it was worth reading (and right) that hires should come from 'in network'.


fixed, thanks!


On the flip side, how reasonable is it for an employer to claim ownership of outside-of-work code? And how do you evaluate someone who works at such a place -- certainly, that could be a large incentive to avoid extracurricular projects...


Or an incentive to avoid really strict IP agreements. If an employer asks for ownership of everything you do 24/7/365, what they are saying to you is that when you leave, your portfolio will be a huge blank for the years you are there.

That might be fine if they're prestigious, such as perhaps Google, but you really ought to think about taking a few years off being "public" carefully in the context of ever getting a job or being invited to co-found something...


That's a very good point. What's the best way to get across to a interviewer that you would love to work on outside projects, but simply were not allowed to?


I've been at a company that discouraged blogging, so this does happen.

"What's the best way to get across to a interviewer...?"

Just tell them. I wouldn't stress too much about it. If the person hiring you doesn't realize that there are tons of good programmers out there who don't blog, then you may not want to be working for them (i.e., they're newbies).


I can't for the life of me remember the term right now. But I believe these issues are usually actually dictated by state law.

I remember vaguely a case based in Texas where the company was able to claim someone's home brewed work as their own.


This also depends on the state. yay, california for protecting our rights!!


As far as I know, those cases are pretty hard to win (in my non-lawyerly observations of the law). It also varies from state to state, I believe.

I've had to sign a couple of documents that said that any work I created, at work or outside, that was in the domain of the company was owned by the company. This company happens to do software engineering, but I'm not particularly scared since my job has absolutely nothing to do with software engineering. I do, however, do "software engineering" outside of the company on my own time. I believe in order to prove that they own the IP to whatever else I produce, they'd have to prove that either I created it on their time, or that I created it using skills or tools I gained while employed there. They'd also get the IP under the work for hire law, if, say, I happened to be hired to produce some piece of IP, but I'd say that's pretty obvious.


The term you are looking for is "work for hire".

http://en.wikipedia.org/wiki/Work_for_hire#Law_of_the_United...


So what? To any developer concerned that you'll be ostracized by a potential employer because you don't have an interest in programming outside of work, let me give you a piece of advice. Employers who think they can define your work ethic on the job based upon what you do as a hobby outside of work, are some of the worst people to work for in this industry. If you want to let your hobby be your work, then more power to you, but you are in the vast minority. To everyone else, take heart in knowing that just because a few managers feel this way, it doesn't make it some industry standard we must all follow like sheep. Programmers -- go home at night, and be home. Enjoy your family, your friends, other hobbies, recreational pursuits, the environment... do what you enjoy in life. More than likely you'll be the group of developers that actually brings new, fresh insights to the table, because you're not living in a box coding 24/7, but you're living in the real world.


I've seen really good programmers(at ThoughtWorks for example) who didn't code at home at all. If you have an interesting job that leads you to code eight hours a day (typically the case at TW, if you find enterprise sw, agile, XP etc interesting), I can understand why you wouldn't want to code at home. If you are coding a solid eight hours a day, you are probbaly exhausted when you get home and don't want to see more code on the weekends. Playing with your kids beats coding any day.

That said, would I be inclined a bit more toward someone who had say Open Source contributions? Of course, it would be foolish not to.

I guess most of the debate is centred around the binary nature of the decision - will hire/ won't hire. Move to a more flexible non-binary judgment and it looks more reasonable.

Personally, I am open to hire both kinds of devs, but I'd prefer someone who had a side project / Open source cred etc.


8 hours inevitably leads to exhaustion.

7 hours is the limit, for me and many others.


On the contrary side, it is interesting that this opinion is held of hackers, but would be ridiculous to consider for other fields. Imagine expecting an admin assistant to do personal admin assistant projects at home, or a bus driver to drive around just for the heck of it.

It makes me curious which fields lend themselves well to having fun time outside work doing the same things. I can imagine car mechanics tinkering with their own cars after work. I can imagine chefs cooking for their friends.

Do sports commentators call out shots at home or at the local sports bar when they are off work? How about journalists? Do they write for fun?


"On the contrary side, it is interesting that this opinion is held of hackers, but would be ridiculous to consider for other fields"

Well Imagine a musician who never played except when he was on stage. Or a golfer who only plays at championships.

The key is (more than whether one works at home or not, which I think is a mistaken emphasis) is to be able to see output so you can judge its quality. You could ask a musician auditioning for an orchestra to play a few pieces or a juggler to actually juggle 5 clubs. The problem is that there isn't a coding equivalent.

Most developers who code only at work can't show you any of the resultant code. An interview is too short a time to ask someone to code anything meaningful. Having some independent work he can show makes evaluating a candidate much easier.


If you are a professional it just might be that. A lot of artists and athletes have insurance contracts that require them to only do work when they are working. This is why you'll rarely hear of a basketball player doing a pickup game. A sprained ankle or blown knee off the court and they can, really, lose everything. Most of them do enjoy the game so they'll play in disguise or an alias.

When millions of dollars are on the line, sometimes, your passion can become your prison.


These people actually do that!

My mother is a "admin assistant" at work, and she does "admin assistant" work at home for two clubs she's part of. And a month ago a bus driver I know drove me and some relatives around for 6 hours just for the heck of it. And journalists do write for fun, ever heard of blogs? And my brother as a mechanical engineer recently fixed some headphones (they were cheap for 20 bucks or so, so he could have bought new ones easily).

While it seems that only hackers do that, everyone does it more or less as long as they are passionate about their jobs. They just aren't as visible as the hacker crowd that develops Linux as a hobby.


Well, maybe he would not want to work with you either? Did you consider that? That you may be so one-dimensional that your programmer with slightly more diverse interests would find you and your job a boring place!



You don't mess around. Thanks for being an excellent example of an adventurist doing activities where people don't care what you do for a living.

5.0 level rock climbing. I'd be more impressed though if you were a trials rider :)


There seems to be a total flaw in this article.This strategy would make sense if you are hiring someone just to code aka pure code monkey. On the contrary it makes sense to hire someone who is "good (tending to) very good" in his 9 - 5 job and then spends time after work creatively pursing other interests. These people have the most wide ranging spectrum of ideas / creative in their thought and just make more interesting co-workers to have !

I find this useful - Many times, I apply my comp sci ideas and solutions to solve other mundane ( non work )problems.

My 2 cents


How do I go about meeting such people? the flaw in the article I see is that it suggests there is a dichotomy between monster.com and networking. Are there other ways to find qualified people that will locate these brilliant programmers who don't do anything programming-related outside of work?


You can start by not driving them away. Seriously.

There are a lot of really good programmers who don't tinker or blog in their spare time. If they come across an employer who makes a categorical statement that "their kind" is not employable, do you think they'll even bother to send in their resume?

As another commenter noted, tinkering with programming on the side is a positive indicator, but not tinkering is not a negative indicator. Good programmers notice the logical mistake here, and it is off-putting.


Your intent is laudable, but your argument seems to miss what I actually said, which was that I personally would never meet them, not that they weren't qualified or weren't employable. I can't hire someone I don't interview.

My experience is that "hiring practices" is a very touchy subject. No matter how precisely you express yourself, people will take things personally because their self-worth is loosely connected to whether other people value their potential inclusion in a team.

So I'm not even remotely surprised to find comments like yours.


"Your intent is laudable, but your argument is flawed."

Yes, you are correct. In my passion I got carried away and started constructing a strawman. My apologies!

"What I said was that I personally would never meet them, not that they weren't qualified or weren't employable."

True. I think it touched a nerve with me because I've seen job posts specifically state that they would not consider any programmer who does not have a blog (!).

Thanks for bringing up the subject; it's a good one. :)


Now that I think about it, I'm upmodding your original point. Whether the argument was flawed or not, the very fact that hiring is a touchy subject makes your point necessarily valid: While there may or may not be merit in my practices, blogging about them may be a poor idea.


One possible flaw/getout is that "Conferences. Open source. Blogging. Twitter." are happening more and more during work time.

As is this comment for me.


Agreed. Consider software design patterns, which were inspired by the (brick-and-mortar) architect Christopher Alexander. That means that someone would have had to stop programming and learn about architecture for this cross-pollination to happen. :)


I think in any field that requires thought, you are much better off hiring people who are just plain interested in thinking.

That is to say, if somebody is a lifelong learner and has passion for it, I'd hire them way before somebody who lives, breathes and eats a particular language 24/7.

People who are interested in the world around them spend their lives increasing a well of knowledge that comes in handy in remarkable ways, not to mention the fact that they know how to learn what they need to know, when they need to know it.


Is this rule plausible for other professions viz lawyers, doctors?


I understand the employer's point of view: Such mono-track, passionate programmers will be easy to exploit to work long hours and weekends.


I think your post sums it up. I can't imagine someone wanting to actually hire one-dimensional droids except for this.


Perhaps title should be:

> I Wouldn't Hire a Programmer With [No] Interest in Programming Outside of Work


I worked with an extremely smart and productive programmer who only worked M-F 7-4, and never did any programming outside of work. Any company would be lucky to have him.


Ok, so you are no good at statistics (your anecdote means very little), why should we trust you to judge a programmers ability.

You know how hard it is to actually measure how productive a programmer is, he could be writing absolute crap, that just gets the job done. The projects he has could be very simple.

And someone smart might just be someone who can switch a computer on, to a lot of people.


Watch what questions you ask about a persons personal life in an interview. Depending on how and what you ask, you could set yourself up for legal action.


I would if I could, but my hands, back, and eyes can't take it.

I do a lot of technical reading instead.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: