Hacker News new | comments | ask | show | jobs | submit login
The Moderately Enthusiastic Programmer (avdi.org)
129 points by caisah on Jan 31, 2014 | hide | past | web | favorite | 92 comments

> 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.

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?

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.

They usually omit the phrase "shortage of developers we can afford".

Yeah, but I guess it's a likely phenomenon, if they're renting you.

In _Disciplined Minds_, I read that power systems are fine with people faking. It's a kind of obedience. You know exactly what's happening, yet you conform. And that's all they want.

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.

I think you're probably overstating the difference in software quality/challenge/interest factor between Flashy New Startup and Boring Megacorp.

Many of the really "hot" startups we see are actually quite boring from a technology standpoint. Snapchat? Uber? Airbnb? They're all variations on a dull web app that sends messages to [mobile] clients. Even at someplace like Square, I'd bet most of the code is cumbersome kludges connecting legacy banking infrastructure with their slick API.

Conversely, someplace like Enterprise is probably trying to solve more interesting problems than you might think: How do you balance supply and demand for your fleet across hundreds of locations? How do you optimize maintenance costs? Can you use GPS and in-car diagnostics to monitor cars in the field?

I know everyone here likes to imagine that startups are filled with super-genius Stanford CS grads implementing cutting-edge algorithms, but I think that's pretty far from reality. Whether it's a startup or a BigCorp, most of the work is going to be boring LOB applications.

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.

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.

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

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.

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.

It's kind of funny that you mention ERAC. Now I don't know anything at all about thier programming department, maybe it is a laid back punch the clock kind of place. But in terms of the bulk of thier operations they are one of those HR driven companies that recruiting, through promotion, evaluation, and compensation cultivates a cult-like atmosphere of total dedication to the job and the company.

They recruit right out of college, targeting especially athletes and fraternity/sorority members. They almost exclusively promote from within. They tie compensation very strongly to unit performance, in a competitive zero sum way. From trainees through regional vice presidents everyone works long hours with no extra compensation. They use an up or out system for promotions. Then if you thrive and preserve in the system you might make six figures after a decade or so -- at least when and if your numbers are good.

While I certainly wouldn't tell anyone not to point out problematic employer actions in the development industries, but it can be instructive to see what it's like out there for some of your peers.

I think I qualify as one of those people, and I make way more than $150K, and have done so for a decade. And I work 40 hours a week.

The people who puzzle me are those who fetishize programming so much that they don't demand proportionate cold hard cash to do it well.

Even these boring jobs want people who are "passionate" and "creative", but then again you see those superlatives in adverts for fast food and telesales workers.

I just looked at some job postings for developers at Enterprise, since that's one of the examples I mentioned. I didn't see any of those words used.

Regardless, words like "passionate" are a problem with job postings in general, across all industries. Usage of such words in job postings is not even remotely peculiar to software development. The fact is that there are plenty of software jobs that do not require passion, even if they put that word in the job advertisement.

I think it's code for "at least pretends to give a shit".

Other than just for the financial compensation, why would you ever enter a career choice willingly that you didn't give a shit?

I think the first part of your question answers that.

That's why there's a difference between choosing a job and choosing a career. You choose a job because it's a job and you are working for money. You choose a career because it's something you want to do with your life. People should focus more on what career they want and less on the job, but I understand that sometimes money gets in the way of career and focuses people on the job instead.

You choose a career because it's something you want to do with your life

That's why you chose your job, but plenty of people choose a career because it will make them good money.

You'd be surprised how much money can be made solving real problems for clients with money with boring but stable solutions, and still work 40 hours a week.

That's definitely true, but I think it can be quite challenging to find those high-paying clients. I've heard plenty of horror stories from consultants who end up working far more than 40 hours a week for various reasons. By all means, though, go for it if you can find those opportunities and don't mind the work.

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.

What you describe is real passion. If you are really willing to suffer for what you are working on, you are passionate about it.

A passion for not being unemployed is the primary pursuit at many organizations. Unfortunately it is a very poor motivator, and leads to a lot of counter-goals.

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.

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.

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.

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.

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.

Having worked at a company where the development cycle is glacial, I absolutely want to work at a "fast-paced" company. By that, I mean the interval between "we're gonna do this" and "we did this" should be measured in weeks or months, not years. That's where I'm at now, and it's great.

If "fast-paced" means running around like chickens with their heads cut off, I'm not interested. I agree it's hard to distinguish what they mean from "fast-paced" just from a job ad, but it can be a positive attribute.

> 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.


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.

> It's deeply unfortunate.

No, it just means the system is broken.

And when things are broken, we fix them.

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.

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.

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.

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.

Really, exorcist should be much higher on the list. I'm envisioning someone who comes in and quickly fixes the bugs that have convinced you your code-base is haunted.

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).

That tweet was from March 2013. I was at the time making the point that such terms are ridiculous.

Sure it has been overused. But then I do see two categories of programmers, the "passionate" ones who keep up to date. And the "one year ten timea" ones that are stil suggesting the same crap solutions that were cutting edge 10 years ago, when way better alternatives exist (my team leader).

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.

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

Fixed that for you

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.

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."

> 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.

This is what gets me. Yes, hirer, I have a github profile, and yes, you'll probably be disappointed. I occasionally do bug fixes and file issues, but 99% of what I do is on private repos. And no, I can't show them to you. I've open sourced a grand total of 1 repo, but that doesn't mean I don't like coding. I just find my brain spent after a 40 hour work week of programming.

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).

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.

Best HN comment ever.

I once went for an interview for a PhD where The interview was just a load of puzzles. You either knew the answers or you didn't, and I'm not the sort of person that remembers trivia.

You've managed to very clearly articulate, better than I've ever been able to, how I've always felt about being a developer. This made my day.

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

Strange that people keep harping on the 40 hours a week thing. Passion != long hours. Everyone can read into it all they want to try to eek out their own hidden meanings, but my experience has been exactly the opposite -- the passionate people are the ones who usually have the greatest flexibility and put in the least hours.

I agree, it -shouldn't- mean that. But it oftentimes seems to serve as code for that, because outside of that I can't think of any thing you can actually measure. How does 'passion' turn into actual measurable output, if we exclude measuring how much time you spend on something?

You will also note I excluded coding outside of work (sort of); that really seems like the same metric, a measurement of how much time you're spending on coding.

That's really it; 'passion' is not a job requirement for a good developer, and it's ill-defined. If you -mean- it to be someone who is good at what they do, takes responsibility, is able to strike a balance between quick coding and quality coding, etc etc, then POST that.

When you use the word "passionate", I don't know what you mean; the only metric I can think to measure it objectively is how much time you -choose- to spend writing code.

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.

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.

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.

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).

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

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.

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.

>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.

I looked for a word or phrase describing this phenomenon, but couldn't come up with one that quite fit. The closest we have is "Auxesis", which is defined as "a form of hyperbole that intentionally overstates something or implies that it is greater in significance or size than it really is" - but I don't think that quite covers it. We need a word that indicates "non-cognizant hyperbolic inflation" - when a more powerful word replaces a less powerful one in every day speech (like "awesome" or "amazing" replacing "good"), but the speakers don't do it on purpose - they just use the more powerful word as a matter of course.


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.

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.

We need a rating system for recruiters.

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.

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.

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.

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.

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.

> I'd be sweating the fact that I can't parse the meaning of a word based on the context it's used in.

I would say that's _exactly_ what he's doing. He's considering what companies might actually mean by throwing the word "passionate" into job postings.

At this point? I would say the word means practically nothing in job postings.

I think he has a point though. There's nothing more of a turnoff to me than seeing "ninja" or "rockstar" in a job listing, and this seems to hit on a similar point. Why does this industry seem to expect miracle workers who know 30,000 frameworks and languages, rather than solid folks who enjoy their jobs and are good at them?

How things are phrased gives important cues. Language is rarely innocent, especially when it becomes fashion and everybody uses the same words.

Plus, it's hardly "that one word". The terminology and job description copy for startups and modern companies in general revolve around lots of similar words and notions (from "passionate" to "ninja") and the pressure he describes is very much a part of corporate culture.

Heck, it's an industry where "addicted to caffeine" is taken as a good thing.

There's a bit of linkbait to the title, and perhaps that is what you are reacting to.

But calling him a "pedant" is not accurate or fair.

'passionate' in this context means 'able to get to work on time is a reasonably presentable state'. It means nothing more.

Maybe a bit more: it probably also means interested in the work one is doing and find some enjoyment from doing it.

That depends.

"Passionate about programming" I could probably fit myself into at a stretch.

Passionate about fixing dub users excel errors (depsite telling them a million times we shouldn't be using Excel for importing data), definetely not.

My job is a mix of both.

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.

> 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.

Typical fear-driven 'business' requirements:

* They want an 'amazing' developer, but they don't want to pay them above average.

* They want a 'passionate' developer, but they don't want someone who will call them on their shit.

* They want a 'productive' developer, but they'll require 9 hours of butt in seat.

* They want a developer who keeps atop of cutting-edge tech, but they require you to use Java.

* They want a 'smart' developer, but require 10 years of one tech.

* They want someone active in open-source, but refuse to sponsor any sort of open source work, instead preferring to be a taker.

You have to fight back against this kind of thing. You have a big advantage, you can easily leave and they can't easily replace you. So use that to extract concessions in the form of salary, work-from-home days, latitude in which tech stacks to use.

I suspect the jobs that tick ~2's boxes are more likely to be jobs where managers see programmers as cogs in a machine. You don't have leverage if they don't believe they can't replace you, even if they can't. And in that sort of job, I think it's quite a bit more likely that they can.

You have to demonstrate the reality of the situation to them before they'll come to see it your way. In this case, the most effective thing would be to go get yourself another job offer, print it out, and bring it into your department head's office. Say you kind of like it here but you can't ignore the $X000 extra you'd be making over there.

Then negotiate. The job offer is your leverage. It says, directly and to the point, that you're an undervalued asset, and the fact that you're in their office states that you're willing to deal with them to make sure all parties are satisfied.

Until you bring this document to them, then there's no reality anywhere in the equation and all that matters is what's being perceived. Since they're paying you, they will rightly believe that their take on the situation should be considered the correct one. Right not because it better reflects reality, but right because the balance of power at the moment favors them.

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.

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.


I work for a lifestyle company with a lot of smart people, and I feel at home for the first time in my career. They get that I care, and they get that I have a life outside of work. Exactly what I'm looking for!

Complete agreement. You can't so much manage a passionate programmer as you can try to leverage (exploit is the word I want to use, but it holds so much baggage) their passion in an aligned interest way.

Every company can absolutely benefit from such people if used right, but woefully few know how.

Exactly. When it comes to using the term "passionate" when it comes to coding, I think of the term as relative, not absolute.

That is, compared to most of those around me when it comes to coding, I am passionate. Compared to how I feel about everything else (i.e. the love of my wife/child), I'm not as passionate.

Applications are open for YC Summer 2019

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