
Programming Outside of Business Hours - tomh
http://github.com/raganwald/homoiconic/blob/master/2009-10-08/no_hire.md?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+raganwald+%28homoiconic%29&utm_content=Google+Reader#readme
======
jacquesm
What people do outside of 'business hours' really is no business of their
employer. The angle is 'I would not interview them', not 'I would not hire
them'.

The difference is subtle, but the title suggests that it is the one whereas
actually it is the other.

Think about it, if you actually did what the title says then you'd be open to
legal action almost immediately.

Imagine an employer that would not hire a bookkeeper because they're not busy
with bookkeeping in their free time.

I understand what the author is trying to say but the title is not really
appropriate, the author has filtered out such applicants before the interview
phase, so he does not hire them as a consequence of that.

~~~
mikeryan
I respectfully disagree.

First there are several jobs which require an ongoing education requirement
(outside of work) in order to maintain the correct licensing for their fields.
My mom's a nurse, my wife's a lawyer, both have ongoing education
requirements. To take your bookkeeper examples, CPA's at least have
Professional Education Requirements.

I consider programming outside the office part of a programmer's ongoing
education. We may not need to be licensed but we do need to continue to keep
up with technologies both in and outside our direct field of work. I'd be
hesitant to hire anyone who doesn't keep up with what is going on in the
environment around them. In my particular case the vast majority of
technologies that I use now in my work I started working on outside of my
direct work projects. Thats the nature of our industry.

And there's nothing illegal, in the US at least, about asking about activities
outside of work and using that as a basis of hiring.

~~~
nkassis
To continue on the CPA example. My dad is a CA in Canada (the equivalent) he
rarely has free time. And when he does, he usually goes meet with clients at
restaurants and such. He also takes courses every 6 months. You might call him
a workaholic, but his job requires a lot of customer relation and preparation.

~~~
jacquesm
Is he a partner or just an employee ?

------
j-g-faustus
I met someone who finished business school and applied for lots of jobs in the
financial sector, but was rather frustrated after six months and several
interviews but no job offer. (This was before the financial crisis.)

She complained that the interviewers were asking stupid and irrelevant
questions, along the lines of "what is the current stock price for company X?"

When she told them she had been away on vacation in France they asked her to
describe the French stock market instead. (She: "How am I supposed to know, I
was on holiday!")

Programming is apparently not the only field where "interest beyond 9-5" is a
job requirement...

Or more precisely: There are plenty of jobs in both programming and finance
where 9-5 interest is enough, but in my experience the jobs that are
considered "good" tend to ask more than that.

~~~
mey
Companies are always looking at ways to reduce costs. Some recognize that one
employee performance varies greatly from the next employee. Asking these
questions tends to indicate a different caliber of employee, one that is
devoted to their field in obsessive ways. If that in the end defines a better
employee I don't really know, but I tend to disagree. I personally (in the
programming field) look for people who have the right ego (humble) and
personality (outgoing). If you can do those two things, have a baseline of
knowledge, and can _LEARN_ then you'll make a great employee. (Maybe not a
great entrepreneur?) (Also no the company I work for is not currently hiring)

~~~
timwiseman
_right ego (humble) and personality (outgoing)._

I guess it sort of depends on how you define humble, but I find that most good
programmers have at least a touch of arrogance. They must approach some of the
most complicated machines developped in all of history and say, "I will make
this do my will." They must approach problems that have not been solved before
and say, "I can solve this." If you decide to change languages or even just
frameworks or a new API, they must think, "I can and will learn this."

I can see a desire for a certain degree of humility, but it must be of a
specific kind, not what most people think of as humility. It should be of the
"I know there are people better than me, but I will find them and learn from
them. I will always strive to be the best, while acknowledging there will be
others better."

~~~
mey
Your assumptions are correct, being afraid is not what we look for. :) You can
have confidence without ego, but that is normally because you know what you
know and more importantly know what you don't (wisdom). Now combining the
wisdom and willingness to always continue learning, that is what I attempted
to sum up in one word of "humble".

------
seshagiric
So basically if a good programmer is spending his time with family and kids or
doing something other than programming in his non-work time, then you will not
hire him?

Programming outside business hours is great way to learn new skills and try
out things that will never come as part of your day job. For example, my day
job would never include any mobile app development. So I do it as a side
project. In fact lot of people have developed lot of cool projects this way
(outside work).

However saying this is the only way to tell a programmer is good is taking it
too far. Like Jacquesm mentions people might have other interesting things to
do or on the other hand people can suck equally bad in their 'other' projects
too :)

~~~
Tamerlin
"So basically if a good programmer is spending his time with family and kids
or doing something other than programming in his non-work time, then you will
not hire him?"

That person would in many cases be the better choice, too -- especially if you
want your product to actually work, and not be a maintenance nightmare. People
like hate getting paged at 2am due to production bugs, so they tend to have
stronger motivation to write simpler, cleaner code than the passionate
tinkerers tend to write and become emotionally attached to.

------
sgift
As an employer I would want good (or "great", but I prefer the term good)
programmers. I don't really care why they are good. Maybe they are good
because they program 24/7 - okay. Maybe they do not use a computer outside of
the office, but are still good programmers - okay.

Really, why should I care? This all sounds more like "I want people who are
like me" than "I want good programmers as employees".

------
BSousa
This has been discussed in many places but ok, here goes my take. I hardly,
ever, ever program at home unless it is something I can make money of. I like
programming as much as the next guy, but between my family and my hobbies
(which are many), I see programming for 9-5.

Working 8 hours a day and being good at it doesn't qualify as passionate? What
do you want? 10? 16? 22 hours a day?

You want people that are passionate and want to learn? Give them chances to do
so while on the job. Let them use Ruby on Rails, or Erlang on the next
project. Don't expect them to do it at home for free so you them reap the
rewards.

If you don't want to hire me, fine, heck you can even not hiring me because
I'm bald and you don't like bald people, but this "Has to program at home/Has
to contribute to Open Source" crap is nothing more than that, crap!

~~~
maukdaddy
This is one of the problems with the Silicon Valley echo-chamber effect.
Everyone things that they deserve (must!) hire the "rockstars" who hack 24/7.

I'd rather hire someone who _doesn't_ spend all of their spare time
programming because they're going to be more rested and fresh when it comes to
their work programming. Spending time with family, outdoor activities,
cultural events, hell even reading and not being in front of a computer are
all vital to the brain.

~~~
Tamerlin
I'd actually go a step farther and FIRE anyone who regularly works a lot of
overtime -- for exactly the same reason.

As far as I'm concerned, sillycone valley can have the rockstars. It will keep
them out of my hair so that I can get things done.

------
PastorOfMuppets
Thats nice. I wouldn't want to work with someone who did nothing but program,
use computers, 24/7. There is this thing called life, I hear its pretty
interesting.

~~~
lsc
oh god, are you that guy who can't shut up about the football game last
weekend? do you know how hard it is to keep smiling when you accost me every
Monday morning with the news about your team? At least let me finish my coffee
first.

(I'm mostly joking... but there really is a pretty big cultural divide here
between people for whom this is a job and people for whom this is their
identity.)

~~~
ganley
You nailed it with that last sentence, and the OP would seem to be looking for
the latter class of people. What troubles me is the constant either-or
mudslinging between the job people who think the identity people have no
lives, and the identity people who think the job people are nothing but seat-
warmers. As with all such false dichotomies, the truth is a long spectrum
between the two, and using a single, simple measure such as whether the person
programs for fun to measure passion is heuristic at best.

~~~
raganwald
Resolution: _All measures of job fitness applied during the selection process
are heuristics at best, and cargo cult practices at worst._

Discuss.

------
SHOwnsYou
I want to say something that will no doubt be wildly unpopular.

What are the chances that the author uses programming as a method of escape?
The reason I say this -- he discusses his social anxiety at the bottom. Makes
me think instead of interacting with new and random people, he would rather be
in his own thoughts (either because it is less painful or there simply isn't
an interest in new people).

Many people, even several that I work with, do not program much outside of the
job. I would virtually always rather be out at an event or by the pool or
doing just about -anything- other than be on my computer after my work day is
finished. Important stuff comes through my phone and I'll address it if
necessary, but I am not dying to get right back on the computer when I get
home.

I should note however, that my job is transitioning out of developer and into
a more outwardly facing role. I've been developing for several years and I've
just grown tired of it. I get to solve new problems now.

~~~
raganwald
Chances are good, especially when I was an adolescent. However, like many
things it's way more complicated than that. I enjoy meeting new people. If you
say, "Reg, let's go for a coffee, I want you to meet someone," I will probably
leap at the chance. If you say, "Reg, there's an iPad programming Flash Mob
going on downstairs," I might break out in hives. or go bouldering where I
meet plenty of people and have rich experiences with them.

It's a very good and refreshing supposition, thanks!

~~~
SHOwnsYou
Let me start by saying I am very happy that you responded to me.

I hope you don't take this the wrong way, but I feel like there is very much
an industry standard personality-wise (that I think you are more similar to).
I don't think I am anything like the industry standard - I am headstrong with
an ego rivaled by few. I don't think I am better or worse suited for what we
do, but I am noting the difference.

My ultimate point is that I gain a lot of insight when other people, who I
know are different personality wise, give me their thoughts on how they
would/do run a business.

A lot of people in my family run successful businesses and I have access to
who/what personalities they hire, but the line of work my family is in is not
technology-heavy at all. I am inclined to think my dad is more likely to hire
people that don't put a large amount of their personal time into their work,
simply because he runs a very customer oriented business. Being able to relate
to and engage people is very important. Diversified interests help a lot in
being able to do this.

So like I said, I approach it differently (maybe it's learned from my parents
and relatives), but I appreciate you responding to me very much. It helps me
to figure out what makes you tick.

~~~
raganwald
There are a lot of things I have in common with other programmers I've met,
but at the same time my life has taken a less-than-stereotypical path. For
example, I worked as a salesperson for a number of years and was something of
a bright light when doing so. That being said, a skill at "qualifying" and
"closing" prospects them should never be confused with being a people person,
sometimes quite the opposite.

My mother was a systems programmer in the 1960s, and speaking of
discrimination and so forth, she is both Black and Female. There were probably
more Unicorns in captivity than Black, female programmers in that decade. She
later became a very successful real estate broker, so I was also exposed to
entrepreneurship at an early age.

------
RobIsIT
In my mind, programming outside of business hours is a part of ongoing
education. Often, you learn a lot programming on your own time even if it is
related to a work project. Extending a new function or exploring how something
could work better with a new technique after 5pm is one of the easiest and
best ways to pepper in some regular education.

Sometimes however, a programmer who isn't deeply interested in technology can
be a valuable addition to the team. If you have a lot of code that needs to be
transitioned, complicated logs that need imported, regular "do this, then"
work or other labor that a deeply motivated programmer would find tedious, a
different style of programmer may find this work comfortable and easy.

~~~
ganley
For some of us, our job fulfills our passion just fine, and affords plenty of
opportunity for ongoing education. I've always thought that many (not all, but
many) people program for fun because their job isn't sufficiently interesting.

------
wccrawford
For the first 3 years that I was a professional programmer, I didn't code at
all at home. Previously, I had coded as a hobby and it was my skills from that
that I was hired on. But suddenly going from 2 hours of programming a day to 8
was too much.

Around the 3 year mark, something changed. I suddenly wasn't doing enough
programming at work and started playing around at home.

Now recently (the 5 year mark is quickly approaching) I have started to hunger
for it even more, and have started watching less TV and playing fewer video
games in favor of doing more fun coding at home and researching new
ideas/languages/etc.

I think if the developer has years of experience and doesn't code at home, he
doesn't have the fever needed to become better on his own time.

While I don't think that should immediately disqualify someone, I think it
should be part of the hiring decision.

------
riffraff
am I the only one bothered by the second formula? ¬(¬MY_PEEPS ⇒ ¬SKILLZ) ∧
¬(¬SKILLZ ⇒ ¬SOFTWARE)

at first sight it could be quite more simple as

¬(SKILLZ ⇒ MY_PEEPS ∨ SOFTWARE ⇒ SKILLZ)

(contrapposition, de morgan)

~~~
raganwald
Hmm, I think you're right!

------
jtbigwoo
Any employer worth working for has learning and development programs. At big
companies, there's probably dozens of people managing training programs. At
small companies, there are tons of opportunities to organize interest groups
or show and tell. I know firms with lots of licensed employees (accounting,
insurance, and education come to mind) generally have no problem granting
their employees time to keep current on their continuing education. So what's
the problem with technology? Why can't we act as humanely as other
professions?

~~~
lsc
/every/ company I've worked for buys it's technical people books. Hell, I do
that for my contractors. And most larger places have tuition assistance if you
want to take actual classes.

------
heretoo
This is a wake up call for me. Too little networking..

------
klochner
"we can all agree that . . . ???"

    
    
       ¬(¬MY_PEEPS ⇒ ¬SKILLZ) ∧ ¬(¬SKILLZ ⇒ ¬SOFTWARE) # original formula
       ¬(SKILLZ ⇒ MY_PEEPS ∨ SOFTWARE ⇒ SKILLZ)        # De Morgan
       ¬(¬SKILLZ ∨ MY_PEEPS ∨ ¬SOFTWARE ∨ SKILLZ)       # (a⇒b) ↔ (¬a∨b)
       ¬(¬SKILLZ ∨ SKILLZ ∨ MY_PEEPS ∨ ¬SOFTWARE)       # re-arranging
       ¬(TRUE ∨ MY_PEEPS ∨ ¬SOFTWARE)                   # (¬a∨a) ↔ TRUE
       FALSE                                            # ¬TRUE ↔ FALSE

~~~
raganwald
No, I don't agree. Maybe you should explain each step so that I can follow
along. I am probably not as smart as you are.

Update: I think you are being a bit literal. The two SKILLZ aren't the same
proposition. The first is the proposition that a particular person has some
characteristics I value. the second is the proposition that a particular team
has some characteristics I value. So if you want to get really serious, you
might call the first one SKILLZ-sub-candidate and the second SKILLS-sub-team.

Thinking this through was valuable, thank you and have an upmod.

~~~
klochner
formal logic isn't something you're supposed to get "hand-wavey" with,
especially if you're trying to show off your geek-cred.

and I found it happily ironic that he preceded the statement with "i think we
can all agree"

~~~
raganwald
First, perhaps you don't know this, but: "I am he as you are he as you are me
and we are all together."

Next, how about I write my words and you write yours, and furthermore I write
mine for my reasons, and you write yours for your reasons?

Because if what happened was that you understood what I was saying and you
agreed with it, then I suggest to you that it worked JUST FINE, geek points be
damned.

~~~
klochner
touché

~~~
raganwald
Well, I bristled at the Geek Cred reference but your points are still cogent!
Another upmod in 3.. 2.. 1..

------
blahblahblah
The idea that if you don't program outside of work you're not a good
programmer is just silly. I can understand that you might regard with some
suspicion the abilities of someone who has never in their entire life written
code outside of work. But, the idea that you must always continue to do so
even when you have a day job programming is utter nonsense.

Programming isn't my weekend hobby anymore. Why should it be? I get to do it
every day at work and get paid for it now. That was the point of making it my
career. It was something I already enjoyed doing and was good at that I could
also make a living by doing. Am I automatically less passionate about it
because I'm doing it for profit now? Of course not. I use my free time to do
all of the other things that I enjoy doing. It's ok to have more than one
passion. It won't harm your programming ability for you to program during the
day and paint or write music in your spare time. On the contrary, you are more
likely to show up for work each day refreshed and enthused about what you are
doing precisely because you are doing other satisfying things after work.

~~~
raganwald
edit: <http://raganwald.posterous.com/all-that-jazz>

~~~
blahblahblah
"Given any mechanism for filtering people, I claim that there are smart,
productive people who will be filtered out. These are called false negatives.
It is impossible to create a repeatable hiring process that does away with
false negatives."

While it is true that no test can avoid false negatives, it is also true that
if the quantity measured by your test is uncorrelated with the phenomenon of
interest then your test is neither sensitive nor specific and its PPV and NPV
will be poor no matter where you set your decision threshold on the ROC curve.
If you advocate such a test publicly, you should expect to be criticized for
doing so.

"I now understand that he was using a strategy for hiring people, not a metric
for measuring me. His strategy for hiring people worked for his purposes. Why
take that personally?"

You could decide which programmer to hire based on skin color and write a blog
advocating that "strategy" as well. (You'd get sued for doing so, but that's
tangential to the point here.) If you did that, it would be unreasonable to
expect the "it's just my strategy; it isn't about you, so don't take it
personally" argument to be taken seriously. Whether you are aware of it or
not, when you advocate a hiring practice publicly you are making an implicit
claim that it has some validity and the community is right to spew vitriol in
your direction if your hiring criteria are not well constrained within the
realm of demonstrable merit and cross over into areas that are none of your
damn business as an employer.

~~~
raganwald
Your argument above intersperses merit with missing the mark.

Merit: While it is true that no test can avoid false negatives, it is also
true that if the quantity measured by your test is uncorrelated with the
phenomenon of interest then your test is neither sensitive nor specific and
its PPV and NPV will be poor no matter where you set your decision threshold
on the ROC curve.

Absolutely, and all strategies can be evaluated _as strategies_ , on this
basis.

Missing the mark: "If you advocate X you should expect to be criticized." How
about, if I advocate X, my argument should be criticized? Criticizing me for
my words is the ultimate example of making something personal. I can deal with
it, but I suggest you ask yourself whether making it about me is also a way of
making it about you, getting emotionally invested in it in a way that is not
good for you. JM2C, I am not laden down with emotional intelligence, so I can
hardly advise you on how to be happy.

Merit: "when you advocate a hiring practice publicly you are making an
implicit claim that it has some validity" We agree.

Missing the mark: The implied claim that when I advocate that a strategy has
some validity _as a strategy_ , I am also advocating it is a metric.
Strategies are not metrics.

Ultimate straw-man example: One strategy for hiring people on a small scale is
to hire people you've worked with before in some capacity and have observed
performing well. The ultimate reference check!

I suggest that if you don't have a huge requirement for scaling, this can be
very effective as a strategy. However, it is trivially easy to demonstrate
that this is a terrible metric for evaluating someone's competence.

And no, that isn't personal in any way, shape, or form.

UPDATE: This is a really fruitful line of discussion, so I'm upmodding you.
One thing that occurred to me as an example of a strategy that is not a metric
is a University Degree. It's a certain kind of evidence of the ability to
follow through on something for a few years, it is allegedly evidence that you
have been exposed to basic computer science, and so on. I think it's
_reasonable_ to value a degree when hiring as part of a larger strategy.
However, I don't think it's reasonable to use a degree as a metric for
measuring programmers.

~~~
blahblahblah
We're in agreement about the "If you advocate X you should expect to be
criticized" remark. It was inarticulately phrased. I am only interested in
criticizing behaviors and ideas, not people. The intended meaning was "you
should expect to have your idea criticized".

The key point that I'm making is that, "I won't hire a programmer who doesn't
pass my unsubstantiated litmus test based on a stereotype about programmers,"
is a qualitatively different statement than, "All else being equal, if I have
two job applicants with similar qualifications and demonstrated merit to
choose from and one of these applicants programs as a hobby in addition to
performing their professional duties and the other does not, I am inclined to
choose the one who programs outside of work." The latter is a defensible
strategy. The former is a cargo cult hiring practice, should be criticized,
and will inevitably offend because it carries with it an implicit assertion of
truth for an unproven stereotype. The phrasing of the original post more
closely resembles the cargo cult hiring practice statement.

~~~
raganwald
> you should expect to have your idea criticized

Good! One of the reasons I write is to provoke criticism. Often, I have an
idea and it seems bulletproof. But when committed to paper--an archaic way to
put it--its flaws reveal themselves. Sometimes the act of writing it down
forces me to be specific and in doing to I recognize fatal flaws. Sometimes I
need to share it and other people point out its flaws.

The OP is one of my poorest posts, ever. It was originally a reddit comment as
part of an "Ask Reddit." The asker was faced with the question of whether to
hire someone who had no interest in programming outside of his job, and in
that context my reply was that I would be surprised if I ever even interviewed
such a person.

Which in itself highlights the discrepancy between strategies (be they cargo
cult or not) and metrics. Programming on the side is a terrible metric. It is
easy to measure, but so are Lines of Code. The things we want to measure are
knowledge, aptitude for learning, skill, and so forth. Programming on the side
is a programmer's strategy for achieving something that we want. But it isn't
what we want.

I was thinking the same thing about a degree. Terrible metric, but I wouldn't
object if it was one of the heuristics someone uses when selecting applicants
for a position. Here in Ontario job postings almost always say "Degree or
equivalent experience" because people have successfully sued for
discrimination when companies have ignored obviously qualified applicants who
either didn't have a degree or had more than enough experience to compensate.

Getting back to your words, although the link-bait title says "I won't hire a
programmer who doesn't X," the article said that the real issue was that I was
unlikely to interview them because of my strategy for meeting people.

Obviously it isn't that hard and fast. If I was looking for people and
mentioned it on my blog, someone could easily get in touch with me because
they read blogs on company time. Presto, I would be interviewing someone who
reads blogs but doesn't do so after hours.

Likewise, if someone in my network said, "You really ought to meet Joe P.
NoineToFive, he's incredibly organized and does as much work in forty-five
hours as you do in ninety," I would interview Joe and if he lived up to the
claim, I would have no interest in what Joe does with the remaining 123 hours
a week.

But the fact that I have to explain these things identifies that the post was
hastily written and incoherent!

"All else being equal, if I have two job applicants with similar
qualifications and demonstrated merit to choose from and one of these
applicants programs as a hobby in addition to performing their professional
duties and the other does not, I am inclined to choose the one who programs
outside of work."

Actually, I personally wouldn't say that, because once someone landed in an
interview with me, I would have the luxury of examining each person's
abilities directly. If all else really was equal, then I'm curious: Is the
programmer who doesn't program as a hobby smarter? Is that why he is just as
effective as the hobbyist? Or is it that programming as a hobby is a useful
strategy for choosing people to interview, but once they're in the do I should
ignore it?

------
pendragon
Very interesting that someone really uses his social network like that. I like
to keep up with professionals via their blogs and twitter. As a student (final
year) I find it helps me learn what's happening in the tech world from a
better (for me) perspective than a purely news oriented site. I usually learn
something which helps.

------
ojbyrne
I have actually heard the opposite during hiring. Basically because of the "no
assholes" rule. If someone doesn't have interests other than work/programming,
there's a good chance they fail that test.

------
ojbyrne
Isn't it possible their job is more than just 9-5? At a startup, it often
consumes most of your free time.

