
The Moderately Enthusiastic Programmer - caisah
http://devblog.avdi.org/2014/01/31/the-moderately-enthusiastic-programmer/
======
danielweber
> And if I were looking for a job right now, I’d feel pressured to fake it.
> Either I’d feel like an impostor, or I’d feel resentment for trying to boost
> my emotional commitment to a coding project to an unrealistic fever-pitch.

Software recruiting seems designed to produce one of two goals:

1\. Repeatedly break your heart, or

2\. Turn you into a psychopath you can fake the passion and interest and
dedication that companies demand at the very first step of the interview, when
they know they flush out 90% of the people at that stage.

And, remember, this is what it's like when the market is _good_ for employees.

~~~
neverminder
I agree with this. Yet it doesn't explain why recruiters are running wild and
everyone including your neighbour weeps about "shortage of developers" in the
market. Is that because they absolutely feel obliged to waste time of 99
candidates with their IKM Java 6 tests so they could get their dream guy to
work for a "X market leader" on their "ground breaking" project?

~~~
bulatb
My hypothesis:

* Companies don't have a good idea what they want or need

* Which leads to awful, tone-deaf, nonpredictive interviews

* And every startup founded is a net loss in filled jobs, which means hiring intensifies while people who the founders want to hire—people like them—get spread out ever thinner and would rather take investment to start companies than get back on the market. When eventually they need to hire too, their contribution to the problem grows.

------
nilkn
A friend recently started a job programming for Enterprise Rent A Car. Did you
know they even regularly hired programmers? I didn't, but he seems to like it.
The company I'm at once interviewed a programmer who was working for Home
Depot.

The reality is there are actually plenty of programming positions that are
perfectly suited for a career programmer who doesn't particularly love it and
just wants a steady paycheck and a decent home life. But these positions
aren't at Google or Facebook or the hottest Silicon Valley startup, and
they're not going to ever pay $150k+ or even $100k+ (they might start at half
that). You don't need to know what a suffix tree is. You don't need to have
ever heard of bloom filters. These positions probably aren't at many of the
companies posting in the 37signals job board, because that board is naturally
going to attract job seekers who are more enthusiastic about programming as
both a craft and a means to a paycheck.

I think a lot of posters here seem to be wanting too much in exchange for too
little. In every industry, it's always been the case that the top companies
have tried to hire the most "passionate" employees--and yes, that means
employees who might work overtime while smiling about it. I don't think this
is so evil when there are plenty of other choices.

I do think it's a bit disingenuous, though, to want to be part of the next
explosively successful company while still putting in the minimum effort to
get a steady paycheck. This forum is disproportionately full of people wanting
to get at least somewhat wealthy off of software development, people who want
the same compensation as big firm attorneys and doctors. Those lawyers
probably work more than the average over-worked programmer at a top company,
and the doctors almost certainly do. The attorneys and doctors also all
necessarily went to graduate school and probably took on a lot of debt that
the average programmer doesn't have. The fact is that, across _all industries_
, jobs with this level of compensation are rarely 30-40 hour a week lifestyle
jobs.

~~~
bri3d
There are quite a few startup jobs doing interesting things that don't require
fake "passion" or crazy hours, especially outside the Valley bubble.

In real life there isn't a dichotomy between getting a so-called career job at
some stodgy company and frat-house crazy-hours fake-"passion" startups in the
Valley.

Perpetuating that dichotomy is dishonest and helps keep startup employee
diversity, treatment, and compensation down.

The people I work with aren't "career programmers who don't particularly love
it." They're not putting in a "minimum effort." They certainly know about
suffix trees and bloom filters. They're years-of-experience, extremely
talented people who put in unbelievable effort to achieve our goals at work,
but they also go home to families and other passions.

~~~
nilkn
I find your post interesting because I never said anything about "frat-house
crazy-hours." I only suggested that certain jobs might want more of this
amorphous "passion" and that many jobs don't require it at all, and you're the
one who concluded this must mean "crazy-hours."

To me, it means exactly what you described: people who put in unbelievable
effort at work, who probably love what they do, and who are extremely talented
and take pride in that talent. None of that necessarily translates to extra
hours. None of that translates into loving work more than family. None of that
translates into not going home home to a family and the rest of life after
work. But, to me, it does translate to passion.

~~~
bri3d
I wrote my comment with your last paragraph in mind, which directly attaches
hours to compensation and "lifestyle jobs."

~~~
nilkn
That's fair enough, but my last paragraph was directed at a very specific
demographic. There are a lot of posters on HN who expect to make $200k+, _at
least_ , as a programmer. The typical job paying in that range tends to be
fairly demanding. Do you disagree with that? I'm not saying there aren't
exceptions, but the vast majority of developers I know with incomes above and
beyond the $200k mark have put in a huge amount of effort to get to that
position. They're clearly passionate about something--either programming or,
well, just money.

Also, for what it's worth, "lifestyle businesses" _are_ often tied directly to
having lower hours.

~~~
collyw
Programming is unusual that some people may have incredible mathematical
talent which will allow some to be a LOT better than other without much effort
(in specific areas).

I am not in that category. Above average, keen to learn and a decent bit of
background. Not earning anywhere near 200k+, but I am living inn Barcelona
which is pretty cool. Don't do more than 40hours per week usually either.

------
swayvil
What they mean is that they want you to _appear_ passionate. They don't really
give two poops about your internal state. What they want is the promise that
you will work unto exhaustion and then a bit beyond, with a smile on your
face. They want the promise that you are willing to _fake passion_. Fakeness
is very important in today's fast-paced work environment. Then you die.

~~~
corresation
So many of these replies seem so deeply cynical.

As someone who has put _passion(ate)_ in job listings, I _absolutely_ wanted
people who were passionate about this field. I was less interested in the
people who did comp. sci because their guidance counselor told them it was
going to be a hot field, instead targeting those who were probably programming
as a child.

People who have an internal drive that you simply can't fake. Who build great
stuff, and keep up on trends and technologies, because they feed on it. There
is no faking it, and many simply don't fit this mold at all.

But it isn't all upside. Those same people will seldom write documentation.
They'll gloss over things they think aren't important. If you have to build
something that you know is wrong, or that will go unused, they will have so
much inner turmoil they'll almost certainly sabotage the project. They'll
probably pull your projects in directions you don't want, and might use
techniques and technologies that are interesting and fun but aren't necessary
if even appropriate for the current need.

You need to balance it all. But anyone saying that there is no such thing as
passion in this field, or that there is set that has it and another that
doesn't, is living with delusion. It is very, very real.

~~~
tragic
It's kind of hard not to be cynical when 95%+ of job adverts in all industries
have the same 5 buzzwords in them. I mean, if the guy/girl in Subway is
supposed to be 'passionate about great customer service', when it's manifestly
implausible that _anyone_ is (EDIT: put too strongly, I do know people who
just love pulling pints in a pub, but whatever), how am I supposed to take
seriously any ad that uses a word that's been reduced to complete banality?
It's the (ab)use of passionate in job ads that's truly cynical, and of course
it leaves job-hunters no option except to view the matter cynically.

I agree with whoever it was who said that it's not so much about _actually_
getting passionate people, but more a test of how ready you are to eat shit
and be compliant. So when you say:

> As someone who has put passion(ate) in job listings, I absolutely wanted
> people who were passionate about this field.

I have to ask: well, did you actually get more of that kind of person when you
put 'passionate' in the job ad than you would otherwise? I'm genuinely
curious, because - having spent some time in the dole queue in recent years -
I can't imagine _anyone_ responding sincerely to a clause like that in a job
ad.

~~~
corresation
We aren't talking about sandwich shop ads. We're talking about software
development ads: a generally high compensation, very flexible, and huge
variability of skills career. And the truth is that the majority of ads do
_not_ have it in them.

Most ads list educational requirements, a list of required technologies, and
give you a contact number.

But those ads that do...boy do they burn the asses of people who feel
excluded. Those people are the ones who'll declare bombastically that those
employers will never get candidates, it's a warning sign, etc.

It's just self-comforting blather.

Can I say whether I got "more" of those types of people by putting it in an
ad? No, I can't, as I didn't do controls so I have no basis of comparison. But
essentially it was an attempt to save everyone some time -- include the
unsuitable candidates -- and to exclude those people who, when asked how they
keep on top of emerging trends and techniques, have no answer ( _shockingly_
common, and an immediate no hire). The same is true of various other seemingly
decorative words that so offend so many: If an ad says that you need to be a
JavaScript "ninja", and you know just enough to kind of decorate up an ASP.NET
page, you know maybe save everyone some time and don't apply? Yet some people
still do, and then they write the "Your JavaScript tests are bullshit!" blog
post that sees a million seal claps on social media.

------
mattgreenrocks
I'm similarly suspicious of all job ads that mention "fast-paced"; I read it
as "we value your ability to throw things at the wall and see what sticks over
careful analysis."

Another thing I notice: the more I mature as a person and a developer, the
fewer job ads actually interest me. I suppose that's inevitable, however, as I
continue to hone in on what domain I want to work in.

~~~
mgkimsal
Similar here, except the domain is less interesting to me than the 'how' and
'who' of the work. How will I/we work, and who do I work with? Do I have to
work under people who change direction every 3 weeks, never write anything
down, are in constant "emergency" mode and believe that's "agile"? No thanks,
regardless of industry/domain.

------
Gracana
> But sometimes I worry that it’s code for "we want to exploit your lack of
> boundaries."

That seems quite true for the video game industry.

[https://www.jacobinmag.com/2013/11/video-game-
industry/](https://www.jacobinmag.com/2013/11/video-game-industry/)

------
doktrin
Is this unique to programming? I'm fairly certain this holds true in a number
of other industries. Journalism, fashion, design come to mind.

Employers are _strongly_ incentivized to actively seek out the most
exploitable of potential hires. It's deeply unfortunate.

~~~
Florin_Andrei
> _It 's deeply unfortunate._

No, it just means the system is broken.

And when things are broken, we fix them.

------
k_kelly
People are saying this is pedantry, but there's a good point being made here.
Coding passion is a deep cold analytic burn that is nothing like what people
assume it to be. It typically is a reflection of the interest you have in the
project not the product. Most developers can hate what they work on and do
incredible work if they love what they are doing minute to minute.

No I won't be a passionate evangelist about spreadsheets, but I could get
happily lost in the codebase for Google Docs. People code for 48 hours when
lost in the happy delirium of discovering some new problem, that's passion.
However it might have nothing to do with their personal investment for the
finished product. In fact they likely really enjoy the challenge of fixing
something broken more than seeing it run once fixed.

Putting passion on a job spec is really quite unreasonable, but it seems
easier than saying single minded to a fault and willing to sacrifice personal
health to do a bit more hacking.

~~~
danielweber
I might stay up late coding for something like a CTF, but I'm fully aware that
what I'm pushing out is something that just barely qualifies in one metric
("it runs!"), and it will be totally unmaintainable even by me the next day.

But I limit my professional work hours because it demands a long-term quality.
Some other poor guy might come by and need to figure out what I did.

------
KiwiCoder
Indeed, the word "passionate" with reference to programming is going the same
way as "free" has gone for marketing; over-used and misrepresented to the
point of being meaningless.

On the plus side, it means that the class of employers who advertise their
vacancies in this fashion become easier to identify and avoid. Or exploit.

~~~
mrspeaker
wizard -> guru -> ninja -> rockstar -> passionate programmer. Just be thankful
that it doesn't take too long for these kind of labels to get watered down,
overused, and then dumped for the next buzzword.

~~~
KiwiCoder
[https://twitter.com/KiwiCoder/status/314501152760815616](https://twitter.com/KiwiCoder/status/314501152760815616)

~~~
RyanZAG
Not sure if you're being serious, but you just said the opposite of what
mrspeaker did. Those are -> and not >

He's implying the whole thing is meaningless buzzwords while you seem to imply
they actually have a ranking or something (and no they do not).

~~~
ben336
[http://en.wikipedia.org/wiki/Poe's_law](http://en.wikipedia.org/wiki/Poe's_law)

------
beat
I, too, am starting to hate the way "passionate" is casually tossed around in
our industry. When I see phrases like "passionate about multi-level
marketing", I kinda throw up in my mouth a little.

~~~
TallGuyShort
>> When I see phrases like "multi-level marketing", I kinda throw up in my
mouth a little.

Fixed that for you

------
kogir
I've always read "passionate" in job posts as "excited about learning better
methods, technologies, and tools" and "not satisfied with the status quo, and
continually making things better." Neither of these require an insane
commitment outside work, or necessarily makes you easier to take advantage of.

People who have "paid their dues" by going to school and learning one
language, and then _never_ update their skills unless forced to do exist, and
working with them sucks. You're always fighting a "but such and such already
works!" attitude. Programming by flipping switches on computers made using
vacuum tubes worked. Thankfully someone wasn't satisfied and wanted something
better.

------
lostcolony
I almost entirely agree with this post.

Every place I have worked, I have consistently been among the most performant.
I am relied upon to solve many of the hardest problems, despite my age,
because I have a track record of learning enough to solve them very, very
quickly. I will find myself thinking about the current problems my team faces,
as well as odds and ends and interesting behavior in the languages,
frameworks, etc, that we use, even outside of work hours. I love learning and
teaching new technologies, and am frequently the one to introduce new tech
into projects at work (along with giving talks to teammates about how it
works).

However, I have never worked more than 40 hours a week.

If there was a dire emergency due to things failing in production, and I had
hit my 40 hour limit, I'd not -mind- spending time investigating/fixing it,
but I would not tolerate a workplace that expected it outside of that kind of
issue.

When I play with code outside of work, it's usually to learn something, not
write something useful. I have almost nothing on Github because most of what
I've done outside of it has been things that already have solutions out there;
I just want to learn more about the problem, rather than seeing some
deficiency in the existing solution.

I don't consider myself 'passionate', as such. Coding is something I try to
keep compartmentalized; I may allow it to come up in conversation when it's
contextually relevant, but I actively try and avoid talking about it, and I
don't feel any need to spend inordinate amounts of time on it outside of
working hours.

And yet there's this demand for passionate programmers. Which, yes, seems to
come from companies that expect you to put the code above all else. You see it
in their perks; food and gyms and doctors and sleeping pods, why do you even
need to go home, you can stay here! No, I want work/life balance, and to have
that balance I need separation.

This definitely feels like a bind; I have to cross companies out like Google
and such, because I don't want to work at a place that seems to have the
expectation I should stay at work beyond 8 hours. And I likely wouldn't be
hired even if I pretended to ignore that feeling, as I don't feel any
inclination to fake interviews any more. "How would you solve (algorithm
question typical of interviews, but which I don't remember offhand how to
solve)?" "I would Google it, as that sounds like the kind of thing others have
solved, and there's no way I'll be able to come up with as good a solution in
20 minutes, on a whiteboard, as I'd find online in 5" "But what if you didn't
have the internet available to you?" "I would work on constructing the
internet, then, nevermind your problem, because I've apparently time traveled
to before it existed and there's money to be made". "Fine, but just, how would
you solve -this- problem, if it wasn't already solved?" "Probably go sit by
myself to mull it over a while." "But I want you to solve it right now." "Why?
It's research material; no one else has ever solved it, apparently, I can't
just write out how to do it in such a case." "Well, we really think you ought
to be able to." "Yeah? I guess we're done here."

~~~
andrewflnr
Granted, I was only an intern there, but I never got the impression from
Google that they really wanted people to stay all day. By 7 at night, my floor
was a ghost town (suitable for intern Nerf wars).

~~~
lostcolony
Yeah, it may not be; I just find amenities on site, rather than pay and
benefits that transfer off site, makes me uneasy. Some of my perks require
remaining at work = incentive to remain at work = harder to maintain work/life
balance.

I mentioned Google only because it's famous for the amenities provided at the
Mountain View facility.

------
incision
Like so many things, I have mixed feelings about this.

I don’t have a problem with the word “passionate” and I could understand an
employer who genuinely desires that.

Problem is, I don’t think most people actually want anything of the sort. More
likely, I think they’re just following the fad of grandiose overblown
adjectives and mimicking the motions of “only the best” interviewing of
companies whose trajectories they’d love to emulate.

The typical 201X boilerplate sums it up nicely:

 _“Are you passionate about technology? Do you write beautiful code? Come help
us change the world.”_

I’d wager most organizations shouldn’t want much less need someone with
passion in more than a handful of positions - more like competent, hard
workers who will execute the vision put before them.

In my experience, unless the stars have aligned, passionate people are a
horrible choice for most roles. Their passion is not some simple resource that
can be redirected efficiently into whatever management cares about, it’s an
intense, consuming, emotional drive with all the massive potential negatives
those words suggest.

Good luck getting even average performance out that passionate someone on a
project they don’t believe in and duck for cover when they deem the CTO /
founder is a fool driving the organization in the wrong direction.

------
qwerta
I think passionate and enthusiastic is overused word without meaning. For me
it even has negative tone.

Too often it is used for greenhorn with no skills, while veterans with deep
knowledge are branded in negative way. Someone who is 'passionate' is usually
badly treated and works for peanuts.

------
marcusr
Sometimes words just seem to get overused by everyone at the same time. In the
UK at the moment, every single cookery and bakery program insists their recipe
will give you the PERFECT X, where X is cake, meal, dinner party. We can't
just make great food, it has to be perfect.

~~~
flarg
I think cookery programmes feed the voyeur in their viewers and nobody really
tries to make their own cooking 'perfect'.

Maybe this is just a UK thing - where perfection is appreciated for a
nanosecond and then everyone's back to looking for risqué jokes in everything
(hence, the 'soggy bottom' meme in that baking show - which btw is hosted by a
a well known satirical comedienne whose apparently mild comments have an
undercurrent of loathing).

------
hcarvalhoalves
It's because for recruiting, passionate means: we want people able to be
overworked and still keep a good mood.

------
brimstedt
When I write "passionate" in a job ad, I mean for the person to be
enthusiastic about code /programming.

We have different teams in my company. Some require people who chose to become
a programmer for the pay, who may not care so much if they write the same code
day in and day out, who uses the computer only at work and cares more for
Facebook than hackernews.

Some teams require passionate programmers - the kind who finds _good_
solutions, that makes sure that the code is better when they commit, not worse
and who prefers to read about technology rather than gossip in their spare
time.

It's not about putting 80 hours a week into the job, it's about being an
expert in programming. It's not about being passionate for the product
neither, because the job they will do is often product agnostic.

------
pjump
Avdi's overanalyzing it. Everybody's simply using the word to mean
`enthusiastic` these days. And I don't think it's the primary things companies
want -- they definitely want to appear enthusiastic/passionate about their
products to their customers (cuz enthusiasm sells if customers can't truly
assess the quality of what they're getting), but as long as their employees
are doing a great job on the inside of the company, who cares if they're super
passionate/enthusiastic. It's the job of the sales people to put the passion
gloss on the final product. Enthusiasm on the inside doesn't even necessarily
mean `better work results`. Enthusiasm pushes you farther but it won't
magically make up for lack of skills.

~~~
invalidOrTaken
>Avdi's overanalyzing it. Everybody's simply using the word to mean
`enthusiastic` these days.

He may indeed be "overanalyzing" it. But a _lot_ of developers to that. How
many people have to agree with you on a subjective matter before
"overanalyzing" becomes "seeing the obvious?"

Developers and their hysterics, I tell you! Why, the simple creatures are
simply unfit for the business world at large! Hush dear, you've been
overanalyzing again.

The problem with "passionate" is that it's a leap of faith for the developer
to make, that the company hasn't earned. What if they come in, "passionately"
develop the product with no thought of personal health or career risk, and
then see the company shed it when it becomes advantageous to do so? Passion,
it seems, only flows one way.

------
nickthemagicman
I am so glad someone posted this.

I am personally NOT passionate about programming.

I am passionate about creating things!

It seems counter to evolution and human nature to be passionate about staring
at a computer monitor all day long in sensory deprivation.

The problem with tech is that it encourages unbalanced people and unhealthy
lifestyles due to the unreasonable expectations of knowledge acquisition
placed on your average programmer.

And you get bizzare mole people in China who just program all day and google
cultures where you live at the office and code.

I don't know what the solution is. We seem to be good at making other peoples
lives more efficient but we can't make our own lives more efficient.

------
kotakota
I agree that the overuse of "passion" in programming job ads is kind of silly.
The only thing about job ads that's bothers me more is when recruiters say
"work on hard/challenging/exciting/fun/important problems". Simply because 99%
of the time their "hard problems" are neither hard nor real problems. These
are problems that our community of developers has created for ourselves
though. Since a lot of developers choose to change jobs every year or two the
recruiters have to use phrases that spark an interest in candidates.

~~~
dllthomas
We need a rating system for recruiters.

------
rsobers
I have the utmost respect for Avdi, but I think he's being way too pedantic
here. It's just a word.

Literally no one ever who has written "passion" in a programming job
description has demanded an uncontrollable, foaming-at-the-mouth desire to to
work on their project lest ye be fired at once.

------
thaddeusmt
Hyperbole. Words like "awesome" and "incredible" have also lost their original
meaning and power. Things can't just be "good" or "moderately enthusiastic"
anymore - it sounds too weak, and doesn't cut through the noise these days.

------
benihana
Ugh. "I'm going to fixate on this one word, get completely pedantic about the
semantics of the word and use it as the basis of my argument."

If I were this guy and I was looking for a job, I'd be less worried about not
having enough passion. I'd be sweating the fact that I can't parse the meaning
of a word based on the context it's used in. That's a pretty valuable skill to
have as a programmer. I'd be worried about being overly pedantic about things
- most people don't want to work with a pedant who can't see beyond strict
definitions.

~~~
soup10
_shrug_ , as i've grown older i've learned that language matters. And i've
seen enough of these so called naive "passionate programmers" who get
exploited by management into working much longer and harder than they are
getting paid for(and not taking vacation time), to think that he has a point.

The language we use is part of establishing a culture that can have a
meaningful effect. Drilling into employees that a good programmer is
passionate about his job breaks down work/non-work boundaries over time.

Another similar example of this is startup founders using the pressure they
are under and fear of company failure to "inspire" the salaried+options
employees to work harder. When in reality most salaried employees at startups
have much less at stake than the founders and can usually find another job if
things go south.

~~~
danielweber
I get the desire to not want clock-punchers. But I've seen all variety of
teams bust their collective ass to get a product working as good as it could.
(And then grind to a stop in 5 minutes when management sends an email saying
they have to work overtime.) This was without trying to only hire people
willing to dump in massive overtime.

I don't think getting developers to bust their ass is something you can
recruit. I think it's something you can cultivate by making it clear that the
developers' product is valued.

------
corresation
There is a strong selectivity bias regarding the source of job descriptions
being quoted from: Look at the average software development job listing on
Monster and similes and you'll find the standard banal, career-programmer
targeting lists of technologies and middle-of-the-road expectations.

I also don't think "passion" means either that you're Jesus Christ (where the
term "the Passion" means "to suffer", not that he was really into it), or that
you must love the code more than your child. But many of us have written or
encountered code that feels so elegant and perfect that we get giddy with
enthusiasm about it. We've used tools and technologies that seem so game
changing that we evangelize them enthusiastically.

That is passion, and it is absolutely real. Some people have it, and many
people don't.

None of that says anything about whether it's a good hire trait or not, and
it's possible if not probable that many positions do not need, and may even
suffer from, a passionate developer.

~~~
vinceguidry
> But many of us have written or encountered code that feels so elegant and
> perfect that we get giddy with enthusiasm about it.

For all the companies out there who _say_ they want a passionate programmer, I
doubt many of them are really prepared to actually _manage_ one. People with
this kind of passion are not motivated by anything you can give them and it
takes a lot of coaxing to get their activities to line up with your business
requirements.

They could knock out your entire application in a week, and spend the next six
months doing absolutely nothing of importance. And there's nothing you can do
about it.

~~~
benjaminwootton
This is a very insightful comment.

I'm a passionate programmer but I've felt kind of like a fish out of water for
most of my career.

I feel as though I could run at least 100% more effectively if I found the
right organisation that harnessed this passion. The work wouldn't even need to
be mega exciting - just the right combination of process, tools, culture etc.

I think I do OK for my clients, but the high notes I hit are on my own
projects and freelancing work.

~~~
vinceguidry
I don't have any clear answers for you. I personally like the situation where
I'm the only programmer in my domain at the entire organization. It gives me
stability in the form of a salary, latitude because I'm the only one who knows
how to translate the requirements into working code.

The stakes are small, but I get a lot of free time because prior poor business
decisions are forcing them to keep a full-time guy for a workload that really
could be handled by a part-time contractor. I can spend lots of time being
cautious and focusing on implementation details. Also screwing around and
browsing HN.

I don't get paid what a full time Rails dev should be getting paid in this job
market, but the intangibles I've managed to wring out of the arrangement make
it worth it.

Eventually I'd like to find/train a sales guy to line up deals and another
code guy like you to help me implement them. But for now I like where I am.

