162 comments

[ 1.3 ms ] story [ 207 ms ] thread
Actually what he's arguing (rightly) is that burnout is harmful. That's not the same as "programmer passion".

Creating an environment where you expect or force people to burn out is going to harm your business in the long-run. There are people who can thrive in that environment, but there aren't many.

But, contrary to the mixed message of the article, passion is a necessary ingredient for a great employee in any position. Passionate people are happier to wake up in the morning, come to the office, and do work that others don't enjoy.

Suggesting that liking your work is bad (as the title does strongly and the article does very weakly) is absolute fucking nonsense.

I think the article was also implying that "passion" is often used as employer-code for "willing to work grueling hours". To the extend that is true, I think the article is right about it being a bad thing.

I'm not sure about the rest of your argument either, particularly "Passionate people are happier to wake up in the morning, come to the office, and do work that others don't enjoy." In most people, passion blows hot and cold over periods of time (because other aspects of their life affect their mood), but that doesn't mean they don't come to work and do their jobs.

In my experience (more than two decades of work as a software dev), curiosity might be a better indicator than passion.

> Actually what he's arguing (rightly) is that burnout is harmful. That's not the same as "programmer passion".

What I've been wondering about lately, though, is if what looks like passion can all of a sudden turn on you and manifest itself as burnout? That's why I feel a bit wary about "if I like to do it, then it's fine". What if I'm just deluding myself, and the burnout ends up hitting me even harder?

My biggest problem though, which is obvious and doesn't require much self-reflection, is that I have a pretty unbalanced lifestyle.

I'll tell you my story, which may or may not be relatable.

I've always loved all aspects of developing software products: brainstorming, research, programming, designing, and marketing. Even the boring parts are so motivating to me that I can work for 20 hours at a time.

And because all of the ideas and opportunities around me are so enjoyable and exciting, I used to have a lot of trouble saying no. I tried to pile more and more stuff onto my plate, often justifying it by under-estimating the time it takes to do each one.

I eventually saw my less of my girlfriend, family, and friends. I almost entirely stopped drinking even a single drink because of the small decrease in productivity. I slept 4 hours a day in 2-hour shifts.

I hadn't burned out yet, but I became an example of the popular research finding that productivity is greater if you work at sub-burnout levels. In my case, I get as much done working on and off for 10 hours a day as I did working for 20. I get more sleep, though still little, and I force myself to take miniature "vacations" (sometimes an evening, sometimes a day or two) to focus on things other than work, no matter how much is piling up.

I'm still extremely busy, and I'm still not doing everything I want to do. But I'm more productive than I was, and I'm not missing out on all of the other things in life.

There will always be people who are willing to sacrifice everything for work. I think that's a small minority, and even in that minority, very few of them will end up happy in the long term.

I always like to say that no one lies on their death bed and says, "I wish I would have worked more and seen my loved ones, traveled, and relaxed less!" In fact, a recent NY Times article[1] about this exact subject concludes with a deathbed quote that supports the anti-burnout movement very well.

1. http://www.nytimes.com/2015/03/14/business/dealbook/when-emp...

So much vitriol, anger, suffering in this article.

I think that the author does have a point, and I agree that you shouldn't sell yourself off as a slave just because you're passionate, but that point is being pushed a tad too far.

There's nothing wrong with enjoying your job.

I'm glad to be on a site where we can be complete human beings, and not sacrifice feeling out frustration and anger on the altar of professionalism.
I don't think being passionate about programming, or your job or anything else, means it has to be at the expense of something else that is valuable. It's more about preference and priorities. I don't watch TV, for example.

Being obsessive about something can be unhealthy in some cases, but I'm not sure if that's what the post is about.

Because the author talks about himself in the post, I found interesting that he defines himself at the bottom of the page as "SF author, software developer, occasional blogger. Buy my books and help me quit my day job.". So his passion is perhaps being a SF author and wants to quit his day job, which makes me think he's not very passionate about it.

Well, that's all right. Like being passionate about programming.

The "passion" he talks about isn't real passion, but the "passion" that employers tend to ask for, which really means, "Is willing to work insane hours for no extra compensation."
Yeah, I think I program with a lot of passion. However, after I've worked for not-too-much-more-than 8 hours in a day I force myself to go home. And when I'm home I make an effort to stop thinking about whatever problem was on my mind. Sometimes having an open source side-project can help with this tremendously.

The author is definitely establishing a false dichotomy here. Just because you would enjoy doing something for 16 hours straight, doesn't mean you have to.

i think in most cases it's harmful to give one single iota of a fuck about whatever it is you do for work, unless you work for yourself. 40 hours of every week of your life, at a minimum, is being used to further someone else's goals, and you have no choice in this because you have to survive. don't ever work hard unless it's on something that matters to you or something that's altruistic. if you're in tech and aren't specifically working towards helping people, your job, company, and product don't matter. at all. stack your money, smile, nod, and GTFO as soon as you can.
I dunno. Sometimes working towards someone else's goals is a reasonably pleasant experience: if they're paying you well enough to help you save up the cash meet your goals, if the work itself is interesting, and if you have the latitude to do your job the way you want to. Then as long as you don't get too attached to it and you remember that you'll walk away from the code someday, caring is much more fun than the alternative.
On that basis you're only giving a shit about their goals for the money. If that went away, which it occasionally does from experience, does your care persist? Nope.

I've learned not to get attached to anything unless I'm in control of it.

I couldn't agree more with this. I've developed the same approach to work. In fact I go out of my way to avoid doing any work where possible now and balance everything in favour of, for lack of a better analogy, collecting slack. Life is in the most part, pretty bloody good since I switched to this mode of working and stopped giving a shit about my day job.

During the day, I spend my entire time cranking the cogs on enterprise crap that really doesn't do anything other than top slicing some cash off some data flying around. I really don't care if the product burns in hell. That doesn't mean to say I don't do a good job, but I don't use the best of my energy on something I don't enjoy and aren't passionate about.

The company on the other hand suggest that passion is mandatory and that you're owned by them and you will attend every social event and be part of the "family", which a self professed narcissistic control freak manager explained is simply their control method and they don't give a fuck either. In fact everyone wouldn't piss on the place if it was on fire but hey everyone is making some cash and until that happens, who cares?

This is a recent development due to two separate medical near miss on myself and my wife. When shit gets put into perspective, your priorities are corrected. Before that I bought into it all and was the 80 hour a week slave. Now; 20-40 hours a week expended.

If it all goes to hell, as you say, smile, nod and GTFO, then do the same elsewhere.

Now for something I really enjoy, I spent a couple of hours writing some deduplication software for Google Drive in python the other day. It solved a real problem I had and was interesting. Note: I've even contracted out giving a shit about files to Google.

Anyway back to learning postgresql (something I am interested in) and watching the tomatoes grow on my window sill instead of cranking out Java EE model classes which is what I'm supposed to be doing. They can wait for the people who do care or have a large enough ego to pile-drive each other in the meeting rooms.

(comment deleted)
I care deeply about the work I do. It would be hard to have as great an effect on as many people without my current cow-orkers. In the sense that they've chosen me to work with them, I've also chosen them.

Of course, I get paid as well. This is nice. It lets me do something that I enjoy, live a comfortable life and continue to learn. I go to work to study at the feet of masters, and to have fun.

Then some loser comes long and tells me that passion is bad for me. Or that I should be working for myself. Or that my efforts just serve The Man and I'm somehow evil, and perpetuating an evil system by refusing to quit. Or some other crock of shite. People have been in my face and personal with this "help," and my response has been, and has been for 35 years, a solid: Fuck off.

Why do we treat programmers like children who somehow lost their way in life and need spiritual, career and financial advice all in one shotgun blast? Many of us know what we're doing.

I'm going to keep programming as long as I can. If I'm 75 and still writing code, that's great (I know several people who have done this). I love doing programming, I don't see a reason to stop.

He/she did say "don't ever work hard unless it's something that matters to you". You've stated that your work does matter to you therefore you do care, so I'm wondering what point you're actually disagreeing with?

It seems to me like poster is perhaps ranting against making people feel like they're defective if they can't muster the same fawning adoration for their work as colleagues.

Granted, I think the poster's views lean towards a more black and white viewpoint, but I think there's something to think about in both viewpoints.

yeah, s/he missed the point (if you like what you're doing, then great!) and got their feelings hurt. i went super one-sided on purpose. more fundamentally i am simply trying to remind people that life is about what you spend your time doing, and whether or not you enjoy that. don't sacrifice your life for goals, they slip away as soon as you grasp them like sand in your fingers, giving you no fulfillment. focus on making your present as nice as possible.
Yeah, this is some high-caliber nonsense that completely ignores the idea of mutually beneficial agreements.

Just because you're helping your employer doesn't mean whatsoever that they're necessarily taking advantage of you or exploiting you.

That's just some deeply cynical shit. You can do your job, enjoy it, care about the work your produce, and go home 8 hours later, all while holding a healthy attitude for your employer and at the same time yourself.

"Stack your money and gtfo" is just sad. I feel bad for you, if that's the attitude you bring to work.

Do you think his attitude here is a problem with him personally, or is it indicative of something more widespread in our industry? Because the former interpretation is an invitation to dismiss, whereas the latter is an invitation to improve the situation for all of us.
I think that's a "few and far between" position. I've done the contract circuit and the permanent circuit around the UK for 20 years and it's been a rough ride. You're lucky if you find an ethical company that isn't fucking someone over intentionally somewhere.

To be fair the most interesting position I had was working for a giant company who's fortunes were amassed working on the most efficient ways of killing people.

Eventually the experience builds cynicism and you either end up accepting it, succumbing to depression or going "meh" and returning the compliment.

Healthy attitude is doing what matters which is what the parent is saying.

I feel bad for his coworkers if that's the attitude he brings to work.
My coworkers think I'm some kind of guru. They've never worked with a real guru, so they mistake me for a the real deal because I read Design Patterns once. You should feel sorry for them. :)
I am curious if you bring up this attitude when being interviewed for a job?

I assume your attitude is the same that the 1 year 10x developer has. I don't want top work with them any more (though I have to). It definitely prefer working with colleges who do have some interest in the technology.

Doesn't mean that I hang around doing unpaid overtime. It does mean that I want to improve my knowledge and skill-set, and become more valuable a result. It also means I produce better code that doesn't break as often, freeing me up to build more, rather than repairing the same dumb errors as last month.

I wonder if employers often bring up the negative attitudes their management will expose future employees to in the interview. I expect both sides put their best foot forward and hope the other side isn't too bad.

But I kind of resent the gist of the point you're making: that if you're not going to be a top-notch wage slave, you better tell your employer up front. Says who?

Your statement implies we are supposed to meet some standard of professionalism--a standard we have no say in, I might add, and that employers often excel at defining--and that we owe a duty to others to signal when we don't meet that standard. That standard is precisely what the author of the piece is attacking: the idea that if you are normal and human, you aren't good enough.

Enough with the guilt and the elevation of tech work into inherent value and meaningfulness. Most of us do what the goddamn boss says. Leave that crap at work, and never stop pushing for less work and more pay. After all, they're never going to stop pushing for more value for less money.

There is some truth in your Marxist sentiment, but there is a wide, wide range between "being a top notch wage slave" and not "giving one single iota of a fuck about whatever it is you do for work".

Fair enough if you work in McDonalds.

Personally my work is funded by taxpayers, and some of it will hopefully cure rare (and not so rare) diseases. Its pretty disrespectful to everyone involved (tax payers, colleagues, patients) that I would take the money and put in minimal effort afterwards.

Personally, I don't think it's fair to lump their attitude in with the 1 year 10x developers.

I've met developers with this attitude, they power through work and are out the door on the clock, but they don't work over 40 hour weeks. The reason I say not to lump them with the 1-year-10x crowd is that they still push their technical skills in their own spare time and explore that passion off the clock, and were every bit as effective as the folks who did longer hours and pushed their skills while in the company office chairs.

Part of the issue here is the idea of the "incomplete contract" inherent in labor: that, since there's no way to adequately define performance in an employment contract, what counts as "doing the job" is something that gets negotiated through the day-to-day interaction between a worker and her boss. The "passionate programmer" idea is fine when it informs how you meet your own goals to find the happiest, most satisfying way to work. But it has a dark side in that the programmer herself is not the only one with a stake in elevating the work into something worthwhile above and beyond its monetary value to the programmer. Never forget that the negotiation over your job happens every day you clock in, and you'll never mistake your love of programming for your employer's interest in harvesting your marginal value.

I suppose one can be passionate about programming without setting oneself up for exploitation. But how many of us are? How many of us lose ourselves in technical problems as an alternative to living more full, self-actualized and self-aware lives? How many of us tell ourselves we're passionate about code to explain away the shitty work we have to do?

  > i think in most cases it's harmful to give one single
  > iota of a fuck about whatever it is you do for work 
  > unless you work for yourself. 40 hours of every week 
  > of your life, at a minimum, is being used to further 
  > someone else's goals, and you have no choice in this
  > because you have to survive. 
I agree with your sentiment for the most part. For many (most?) jobs this is true.

But software development feels like a potential exception to me.

Being passionate about your boring-corporate-CRUD-coding job can do more than further your corporate bosses' goals. It can be self-investment as well. By improving your own craft by "passionately" coding for your corporate masters you can put yourself in a position to command a better salary, get a job you actually like, start your own business, etc.

Of course it's very very very possible to passionately... slave away for somebody else as a coder without furthering any of your own goals.

me too. I have worked for a company at start of my career and it was first job so pretty much company was top priority and was very proud of the company. Until one day The company said we are making 25% profit and they don’t do anything that does not net 50% profit so they sold the plant with worker to shitty competitor who in fact made everything to ensure does not get firmed in India. All the employees asked that they sell the company to employees rather than competitor but they said no, in fact employees offered the same amount as competitor.

That is the day I decided we should never get attached to company and that in 15 years of experience comes as job is just a job. So do what is asked, get the pay check and get out of work. And if you like coding and learning do it for your growth if company benefits out of it then good, otherwise continue your path.

If you want to be among the absolute best at something, you are going to do need to dedicate a good part of your life to it. 8 hours a day just isn't going to cut it.

Did Michael Jordan go home the second practice was over? Do you think Thomas Edison only put 8 hours in at his lab? Did Linus only work on Linux for 8 hours a day? Steve Wozniak has a story bout staying up 4 nights in a row working on the Apple computer.

Should you burn yourself out on 20 hour days because your employer forces you? Hell no. But if you truly love something to allow it to complete takeover your life, that could be the way to create something very special.

> Did Wozniak not Did Linus only work on Linux for 8 hours a day? Steve Wozniak has a story bout staying up 4 nights in a row working on the Apple computer.

Heh.

> Should you burn yourself out on 20 hour days because your employer forces you? Hell no.

Agreed.

Except most pro athletes train 3-4 hours a day, not 16.

If I'm not mistaken (been a while since I read the book), Michael admitted he would get up early to practise, but before school, not before normal practise. When he turned pro, he would be (according to the coach) the most hardworking guy there, but he would leave with the rest of the team and do whatever he had to do.

Can't remember where, but recently read that pro football/soccer players train on average 26 hours per week, which seem about right from reports I have from friends that play. Boxers also practise at around 3-4 hours per day as well.

>> Except most pro athletes train 3-4 hours a day, not 16.

We're talking about the best. Even in pro athletes there is a huge margin from 'good' to 'best'. Peyton Manning (NFL quarterback) is known for studying hours and hours of game footage.

http://nypost.com/2014/01/30/peyton-mannings-film-study-obse...

I don't know much about Manning, but from the article, first, he seems to have some kind of 'photographic memory' for gameplays. Not something you practise to be honest. But even if he watches 4 hours per day, if you add it to 4 hours physical practise, he still will only be on the 8 hour a day schedule, and it is two different things he focus on. He isn't on the field 8 hours + 4 hours a day at home watching games.

A lot of folks here do 8 hours in the office, then 4 hours at home with something else (side projects, carpentry, sports) as well, but I would be very astounded if (for long stretches, not for a week or two in a training camp) he would be devoting more than 8 hours/day to practise.

From the article: 'Twice a year, Manning would show up with a garbage bag filled with the VHS tapes he was done with. Harrington said every one had been watched.'

I know it was probably hyperbole, but even if we assume 50 tapes per bag, with 3 hours per tape (both generous assumptions), that gives around 300 hours per year, or one hour per weekday. Tyson was also an avid boxing student (early career). A normal day for him would consist of 3-4 hours practise and 1-2 hours watching tapes depending on how close to a fight he was.

ps: Again, I don't know much about Manning so maybe he really is different, but growing up I was involved and trained with various professional athletes in various sports, and what I'm saying is based on my observations of them.

Yeah but I imagine for most of them it was about more than making money for an online parts catalog company.

The author is confounding two things..having a crappy employer who pushes for people to work extra hours and truly being passionate about something like programming.

> to be among the absolute best at something [...] 8 hours a day just isn't going to cut it.

As I understand it the case studies do not bear this idea out. The masters in most competitive fields follow a schedule more like three separate two hour practice sessions a day.

I mean, Carl Lewis trained something like 30 hours a week in total in the year leading up to his world record.

Citations?

The Carl Lewis point is totally moot because some athletes are so great that they hardly need to train. When I was in high school, a 15-year-old kid came in and did 5 reps on the bench press at 200 lbs. He'd never lifted before in his life. Not only that, Carl Lewis is just an absolute freak of nature. You can't say "Carl Lewis did this, so it works for most other people, too."

It also doesn't matter how many hours masters in competitive fields practice. They may be working, so they can't practice. They may have diminishing returns from practicing and simply want to live their lives. They may be at the limit of their talent.

What we're saying is that a developer who codes for 8 hours at work, then comes home to code some more, is going to be better than one who doesn't. It may take a while, especially if there's a big talent gap, but eventually the practice is more important than the innate talent.

The problem with trying to be the absolute best is that there can only be one, and you might not actually have that magical combination of luck, skill, and genetics that would allow you to seize the title.

I already spent 8+ hours a day becoming good enough for me. Passion didn't get me hired. Competence didn't get me promoted. I spent far too long at a job that actually punished competence.

If you have already achieved mastery, it doesn't even take 8 hours a day to keep your edge sharp and honed. It just no longer takes as long to get the work done.

I like to see passion in younger folks. It's cute. But if they don't get seriously jaded by the time they reach the age I am now, I question either their experience or their intelligence.

If you still have any passion left, and you want to keep it alive, make sure to invest it in yourself, rather than give it away to an employer. You really don't want to see what they will do with it.

I just turned 44 and I'm passionate as hell. Always have been. When the passion starts dying, I know its time to do something else.

I've been a nursery grower. I've been a produce grower. I've been a landscape contractor. I've been a laborer on a concrete crew. I've been a delivery driver (twice). I've been a surveyor. I've worked in road construction. I bet I've moved more large cactus than anyone in Arizona. I've moved the largest organ pipe cactus ever moved in Organ Pipe national park. I have been a cowboy on a large cattle ranch. (I wore tennis shoes to work and no one cared because I put out.. and then some). I worked processing samples in a research lab. I planted 10's of thousands of acres of forage/ rangeland grass. I have been a telemarketer. I've been an equipment operator. I worked at a 5 star resort taking care of pools. I built three barns. I planted thousands of trees with large crews. I worked on a grape farm one summer. I lived in the grape cooler. I did all this stuff before I was 40. Some I did for a short time, some I did for years. But I did it all well. I thought about it, dreamed about, loved what I was doing even when it was hard, tried to find better ways to do it, and above all... I did it. My dream as a child was to work at a doughnut shop, and I plan to not die without realizing that dream. (Maybe when I'm retirement age). Work is love and if it isn't for you... well that's a sad state of affairs. There is no low work, all productive work is noble. People who think otherwise are puffed up and deluded and frankly foolish.

I started programming about 4.5 years ago. Now I work as a web developer. And... for where I work, I'm the best by a long ways and I haven't even been there a year. I maintain some applications I have written for clients in my spare time and am currently working on a pretty large application tracking milk production for a dairy coop. I learned to speak Spanish. I taught myself Python. I taught myself HTML, CSS, JS and SQL. I know Linux. I know world history. I have an unused college degree. I took several graduate level statistics classes. I can tie many kinds of kinds of knots and braid a whip. I'm an expert tree pruner and a pretty good cook too. And not a half bad fisherman. And this is only a small part of what I can do and have done.

Do what you love, don't give a crap, find what is important and focus on it and resist nonsense at all costs. Tell them (nicely) to fuck off if they interrupt your production or are keeping you from doing/getting what you need to get by (food, sleep etc.). Usually, if you are worth it, they will slink away and let you continue your business. Leave when the excitement dies or its time to do something else. But most of all... always be passionate, always push yourself a little, push others around you a little, always live your work. That's my philosophy and I don't see it being any other way.

This guy has a crappy loser attitude. Remember... somewhere, someone is passionate or was at one time. That's how the pyramids got built. Be passionate or suffer hauling blocks on the end of a rope. That's the choice. Sorry for the long rant.. but people like the author drive me nuts.

Except that just a very few people will become "The BEST".

Most of the people I know that stay 14 hours a day at work are office drones who don't go home because that would mean having to spend time with the their wife and kids. Or just because they are bored if they are not in front of a computer.

Others would love to go home, but they don't have the guts to tell their managers that "the work will not be finished today" and that they have things to do after 6.

This article is low-quality ranting. The author has a certain definition of "passion" and therefore taints it to be negative to fit his list of complaints. Tellingly, his whole essay is focused on "passion" == "time expenditure wasted".

There's another type of "passion" where it's equal to "extreme interest in subject matter" or "pursuit of intellectual puzzles".

Since the author uses "passion" as "time wasted", his view of programming comes off as a white-collar version of bricklayer. Don't lay any more bricks and cement than is necessary for the construction foreman. Punch in the clock at 9am. Punch out promptly at 5pm. It's all about time.

See the relevant phrase excerpts:

> put in a solid eight hours

> spending twelve to sixteen hours a day in the office

> forsake everything else to spend more time coding as a badge of honor.

> programmers who spend all their waking hours on the job

> working several weeks of twelve-to-fourteen hour days with only Sundays off

> spend all night on the job

> Put in a solid eight hour day, and then get the hell out. G

>, once you have worked a solid eight hour day, leave the office and silence your phone

>, and ignore your bosses when they bitch about you only working nine-to-five.

Being driven like a slave for 12 to 16 hour days is a legitimate gripe but harping on the word "passion" (or the fact that his superiors label it as "passion") is blaming the wrong thing.

I concede that there are many enterprise companies who need trying to recruit "passionate" programmers to maintain boring CRUD apps. Sure, a lot of these programming jobs are soul-crushing bricklaying work. Their use of "passion" is self-serving and rightfully triggers a jaded reaction.

However, a lot of startups need "passionate" programmers who genuinly enjoy algorithms, solving graphs, etc that are relevant to the companies unique technical challenges. Yes, even this type of "passionate" programmer will tend to spend more than 8 hours on the job. It's because they like the work they do. Jony Ive at Apple spends 12 hours at work because he's passionate and not because he's being chastised by Tim Cook. (Jony Ive is already a multi-millionaire and can quit if he feels he's being exploited.) That's the kind of passion many hiring managers are looking for and the author's one-dimensional essay ignores it.

I have been in the industry for a while, almost every time I see "passion" coming from HR, it is as an euphemism for "we like devs that crunch and don't complain".

Never saw it otherwise, not even in startups.

In the recent "Who's hiring" thread[1], there are several job posts describing "passion" as related to the subject matter (machine learning, or aviation, or improving literacy, etc).

Yes, some of the other job posts do use the generic "passion for excellence" and/or "passionate inspirational working environment". These might be HR doublespeak for "please give up your life for us to exploit". I understand the skepticism from listings like that.

My point is that "passion" mislabeled in my 2nd paragraph does not invalidate the fact that there are people genuinely passionate about topics and that companies are genuinely trying to find them. This is one reason why the word "passion" persists in job discussions. If we were a new company trying to recruit a "passionate industrial designer" like Jony Ive what word would we use instead? What word besides "passion" should we substitute in this Jony Ive article[2] ?

[1]https://news.ycombinator.com/item?id=9127232

[2]http://www.businessinsider.com/how-apple-design-guru-jony-iv...

I agree with much of this. I work a solid eight hours and go home. When people are impressed at my abilities, I wonder how much of the difference is simply that I get a full night's sleep and so many people don't.

But I write code at home. Not work-related code, and not to the exclusion of other hobbies. But coding is something I enjoy, something I sometimes like to do for its own sake. I won't apologise for that.

my biggest f-up happened during a 4AM call - I deleted an entire filesystem... twice...
I was wondering the other day: is it possible to enjoy coding, be good and employable, and still leave your work at work? I code at home too, but yeah, other passions take priority. You rarely hear about programmers who don't live and breathe code, but there must be a huge number of them.
80/20 principle probably applies.

I've known lots of programmers who turn up, do a good job then go home, they don't blog, follow frameworks or languages or any of the other stuff that isn't directly required for work.

Yes. Actually most programmers I work with seem to be 9-5ers without any passion. I am a 9-5er with some passion about the languages and tools I use.
I guess I'd just like the distinction that not living and breathing code doesn't equal a lack of passion. I'm passionate about programming. Can't say I ever was about washing dishes. They were both jobs, though, and when I get off work, there are other things I want to do.
There are other things outside of work that I am more passionate about. But programming can be interesting, and pays the bills.
Yes!

If you hang around HN or the trendy hipster blogosphere, then no. Seems those developers are the scum of the earth and shouldn't be allowed near a computer, but in the real world, those are the ones doing important development in medicine, banking, military, etc, while keeping normal work hours. Just because they don't create the 389th Javascript frontend MVC fully reactive template based framework and create 50 blog posts about it, doesn't mean they aren't good at their jobs.

Hi, deaconblues. I'm guy who write this article. I can't speak for anybody but myself, but developers who don't live and breathe code probably don't work in the major tech hubs or for startups.

I'm a contractor who does a hell of a lot of work for state governments. An NDA precludes my naming names, but I work in a Microsoft shop and I've spent the last year helping reverse-engineer a legacy system implemented in COBOL than ran on an IBM mainframe.

It isn't sexy work, but somebody has to do it. Why not mercenaries with bad attitudes like me? :)

I think the key is, write different kinds of code for your job and for your hobby.

At my last job (which I burnt out on pretty badly), I was a platform-level programmer and DevOps person for a robotics startup.

When I went home, I wrote instruction set simulators for 8-bit architectures. Why? Because why the hell not?

I have tried starting a few side projects that are completely different from my day job, but the scattered hours that I get to work on them makes it twice as hard to get anywhere with them.

Now my side project is based on the database I have built at work (as an in house project). It makes it so much easier, as the hard non-coding problems are usually well understood, as I have thought about them before. I can pick it up and leave it without forgetting anywhere near as much. And it gets rid of the frustration I have at work, because the quality of the code is always ignored in favor of new feature that were needed yesterday. Same thing but with nicely written code.

I can wholeheartedly agree with this. I do Web Development for a living, so I write a lot off business application backend / frontend JS code. While it's certainly fun (especially when there's no pre-built solution for some problems and you have to wrap up your own code to fill the gap), most of my personal code revolves about making computer games.

These end up for the most part being some multiplayer HTML5 Tech Demos (where I can play with all the fancy new Web Tech I can't use at my day job) or really old-school stuff like doing Z80 Assembly for my very own old-school Nintendo GameBoy Jump & Run (along side with a custom assembler / compiler and toolchain) and digging in dissamblies of commercial games.

I can't imaging just doing "work" code, because that can be very exhausting at times. But I certainly have no problem staying up all night and getting that game up and running around 5AM in the morning just to scribble down some more ideas before I finally head off to bed.

> I think the key is, write different kinds of code for your job and for your hobby.

I would expand this to say (just on personal experience) also have varied hobbies. They then challenge you in completely different ways allowing the exercise of one activity to be downtime from the others.

(comment deleted)
> But I write code at home. Not work-related code, and not to the exclusion of other hobbies. But coding is something I enjoy, something I sometimes like to do for its own sake. I won't apologise for that.

So do I. I think the difference is whether you expect other people to do the same or not. I'm very careful in which way I mention this, especially when it comes to potential hires. This is not what makes a good programmer, it's just something I personally get a lot of value from.

Precisely. I see loads of people here working until late because "they have to hit the deadline". All it seems to produce is a bigger pile of bugs to fix in the next sprint.
I agree, coding for enjoyment outside of the work you get paid for is very different.
Exactly. Being passionate about programming is not the same as being passionate about whatever an employer wants you to do.
What I tell people is, if you really don't feel like there's anything you'd rather spend your time doing besides coding, then go ahead and do it. But don't spend those hours at the office. Instead, go home after an 8 hour day, and code something else. Code something that will benefit YOU, not the company.

Why spend all that time working to make someone else rich?

I'm passionate about programming. But not for my employer.

I work as a web developer. In my off-time, I like to play with technology. Usually, that involves writing code. This code is not meant to be perfect or useful for anyone else, so I never share it. It's my own work of crappy art, made for the fun of writing it.

I keep repeating (and keep getting downvoted for this obvious truth) that even 8 working hours are too much. One can only keep decent levels of concentration on a mentally challenging task for no more than 4 hours a day. Good if you have something less mentally challenging to fill the remaining 4 hours with, but even better if you do not need to.
I'd agree with this to an extent. Rather than "4 hours per day" we should rather look at it as a case of "after X units of time, one needs to recharge/rest/break". I often find myself mentally drained after a task, and I just need a few minutes to "recharge". Sure, I can push forward without the break, but I find myself not motivated to do it (and quite drained if I do it multiple times per day). Whereas, if I get a bit of a reprieve, I'm fine with the next task at hand.

Not sure if it's like that for anyone else, though. Right now, I'm writing on HN because I'm taking a bit of a break after solving a production issue that was baffling me for the last hour.

Yes, that's reasonable, schedules may be more complex.

This aspect (required rest schedule) was not very well researched. The only data I've got was collected by the IT and engineering companies, and they could only measure working-day-long spans.

I would prefer not to pick a number at all. There are days when I'm really into something and can write (good) code for 12 hours straight, but those days don't happen very often. There are days when I have grunt work to do but other people keep distracting me, and if I write 1/10 the amount of useful code on those days I'm doing well.

Usually it's somewhere in between. I probably average around 5-6 hours of productive coding per day on any given project, not counting break times, but with very wide variance.

Also, although different projects aren't completely independent, I do find that after taking a significant break (read: probably multiple hours) I can work productively on something else for a while. For example, if I've got some main feature I'm developing but also need to investigate and fix some bugs, I might spend a few hours on the main work, but I might still be quite comfortable tracking down and fixing a few bugs later in the day. So quite often, I will actually split my working time into 2 or even 3 main sessions during a day, doing other things in between, though I have the advantage here of not being someone else's employee with standard office hours.

Yes, of course individual numbers may vary. I got this 4 hours average figure from the studies conducted by various companies regarding their engineers productivity.
With open office plans there's no way anyone's keeping up 8 hours of deep concentration on any day.

And of course there's meetings, lunch, etc breaking up the day as well.

Headphones and power metal are my most reliable coping mechanism.
I personally find music fine for coding with tools I know. When I am trying to learn new concepts / frameworks / libraries, then silence makes a huge difference.
Getting silence in an open plan office is more difficult than you think. Management frowns on me duct-taping other developers' mouths shut.
You're spot on. I like to think it's analogous to over training if you're a body builder. After a certain amount of time, 3+ hours you are even causing more harm, than good, training. People need to realize we aren't designed to be 'hard workers' only smart workers.
I noticed that I can't do more than 5 quality hours of work as well. And mostly, it's all about density.

2 hours of debugging a tricky issue, while having your tools fail you multiple times in the process, can drain me out for the remainder of the day. On the other hand, doing an interesting research/notes-taking or other non-infuriating work, and I might spend 6 hours without even feeling too tired.

On average, 4-5 hours of _actual_ programming (thinking, writing, refactoring, testing, documenting) is all I can squeeze out for a day.

Is this normal or am I not pushing myself enough? I'm not sure.

This article conflates passion for programming with working insane hours for an employer. This is pretty dumb.

"It’s one thing to suffer when you’re an obscure artist, or a spurned lover, or a soldier facing his death, or even Jesus H. Christ himself. But don’t suffer for a paycheck unless you’re the CEO."

There is some room between Jesus and your CEO.

Agreed. I'm passionate enough about programming to have several side-projects on the go at one time. However, when quitting time rolls around I drop my pickaxe and go home.
IMO it's how companies perceive "passionate programmers". The article just highlights how that's harmful.
"This article conflates passion for programming with working insane hours for an employer. This is pretty dumb."

That's generally how "passion" is defined. I can't count the number of job postings I saw that said they wanted people "passionate" about what they do. Where "passionate" was defined as being willing to work insane hours.

You can never be great at whatever you do if you aren't passionate about it, and put in the necessary hours. This article is pretty dumb.
Unfortunately, most programmer positions do not require you to be great at what you do, or passionate. In fact, being either of those things may be a disadvantage. Most programming is just doing stuff that isn't really all that interesting, but it needs to get done.

There are also a lot of interesting meaningful problems that desperately need to be solved by creative, capable people, and if your job is to work on one of those, then great, but for many programmers, those kinds of problems are the ones we work on on our own time, if we're so inclined. I think it's strange that the article didn't make a distinction between code-for-work and code-for-fun.

The article is poorly written, he never once talked about passion, instead he talks about obsession, over working or burning out. Passion is not harmful. Lack of passion on the other hand? I wish the world had more passionate programmers.
I never viewed being "passionate" about programming as the author has. I want passionate employees working for me. To me that means you like the work, you are interested in the field, and it means you continue to build your body of knowledge either through on the job research or on your own time as a hobby. Doctors as an example spend a significant amount of time keeping abreast on the latest procedures and developments.

But he is right when he describes the idea of 16 hour days as obsessive. That is unhealthy and it leads to mistakes, some business can tolerate it, others can't ymmv.

You can't reliably get more stuff done by working longer hours. All that does is burn your long-term resources for short-term gain - and even that it does badly, since you can quickly start stacking up mistakes.

If you need to get more done, you have to be efficient about it.

I have to confess. I consider myself a passionate programmer. I love coding. I believe that I'm changing the world by coding and I'm communicating with the users through the UI design.

And yet I can only code for two hours maximum a day. For the rest of a day I'm mostly goofing (a.k.a. "researching"). Sorry, Boss.

Almost certainly a factor of your environment and your work assignments. If someone came over and poked you every five minutes, would you expect to get several hours of focused work done every day? The same applies to all the many smaller distractions with which we suffer.
Sometimes I see job postings from companies looking for passionate programmers. And then the entire remainder of the post gives detailed reasons why anyone with genuine passion would never, ever, ever want to work there.

Passionate people don't want to work for people who do not share their passion. And they have opinions, which they feel strongly about. If I were an employer, faced with the choice between the person willing to put in 40 a week doing whatever damned fool thing it is I tell him to do, and the one who will voluntarily burn 60 or more per week frantically rewriting the entire code base, trying to make it beautiful, and constantly pushing back on everything, I know which one I'd pick.

You're not going to get a person willing to work 60 a week just following orders, unless they are hopelessly naive or downright stupid.

Passion is just an easy term to romanticize and build narratives around that makes you feel warm inside when you read about it. Chances are that most of the great programmers you ever meet followed a sensible schedule, slept well at night, didn't disassemble any electronic device in their childhood to see how it worked and lived a pretty average middle class life without any huge sacrifice required to achieve success.

Chances are you won't read about that because it would make for pretty boring stories. Regular, progressive learning doesn't sound as cool as caffeine fueled 4-day programming sprees.

Then again, people with a truly passionate temperament exist, which is usually great to have around and brighten the mood, but doesn't tell much about actual programming skills.

I've been wondering if it is really possible to be passionate about front-end development if you have a CS degree?
Sure it is.

Dive deep enough into anything and you'll find the Computer Science. Diffing trees is an integral part of React and other virtual DOM implementations.

Profiling and finding out where time is being spent in your application can lead to you having to choose data structures and algorithms which have more favourable Big-O characteristics.

Are you kidding? Read Javascript: the Good Parts if you haven't.
It's a spectrum. Don't be a clock-puncher and don't code to exhaustion to satisfy some sort of Asperger's or OCD issues.

But however you slice it, you cannot get past this one fact: it is an unnatural thing to sit in front of a glowing box for 4, 6, 8 hours a day pecking on little things with your fingers. This type of work has never existed before in the history of our species, and we were not made to do it. I think that's why we have to be very careful not just about the amount of time we code, but all the other things that go with it.

The job needs to be important. The code can just be the code. So if you've spent all week punching the clock and suddenly wake up early Sunday morning with an idea about how to refactor that solution to work 100x better? Sounds good to me. If you code 90 hours a week and produce crap? Don't need you so much.

The problem is that because it's so unnatural, all of us who do and manage this work confuse activity with progress. So the guy putting in the long hours pecking away looks like he's doing something of greater magnitude -- both to himself and others. But it doesn't work that way.

Have passion for the job and for the problem you're solving. Programming is just one of many tools you need to accomplish that. Other tools are a good night's sleep, exercise, interacting socially with others, and so on. But if you don't have passion? I really don't want to work with you. Life's too short to spend 40 hours a week doing stuff you are apathetic about or with other people who are just going to drag you down.

I've worked with some people with passion that caused issues - put two people with passion on the same team who have differing approaches? The recipe is ripe for a powder keg, and just needs a match lit to cause sparks to fly.

Passion needs to give way to humanity.

Absolutely. But this is a solved problem. The creative community has been dealing with this issue for some time.

There are a couple of slogans that come to mind.

"Strong opinions, lightly held" and "intellectual humility"

Passion does not equate to inflexibility.

Hey, this sounds interesting. Do you have some link/book recommendations for that? I remember that in the book "The hard thing about hard things" Ben Horowitz writes something like "You can't have 2 Michael Jordans on the same team".
Isn't that what the author was saying? just be focused in your work and be sure to give the company the value they deserve?
What's wrong with being a clock puncher if you're doing your work?
You won't work free overtime for a startup on the hope that your effort is rewarded by a large payday some day.

There's nothing inherently wrong with it, but if you're trying to make something out of nothing (which is basically what startups are) it can be incredibly demoralizing to the people who are killing themselves to make it work somehow.

You've just described a failing startup. Killing yourself to make something work only gets good results by luck, and is a poor business strategy no matter how many shiny startup words anyone uses to dress it up.

Likewise, working large amounts of free overtime on someone else's project is for chumps. If you don't have a meaningful financial stake in the business and still do this, someone is taking advantage of you, and following the money/equity will quickly tell you who it is.

The only people who reliably win under those conditions are investors who are playing a statistical game and don't suffer any of the adverse personal consequences themselves.

Edit: Obviously this doesn't apply to genuine volunteer work, such as contributing to your favourite OSS project or helping out your kid's school or a charity whose goals you want to support. But I don't think these are the kinds of work we are talking about here.

Clocks are expensive to replace? ;)

.

There's something called "work to rule" that unions apparently do sometimes instead of striking, where they follow all the rules exactly and this causes nothing to ever get done.

I imagine being overly strict about your hours would have similar (but much smaller) effects. But, this should go both ways... if I'm going to stay 15 minutes late to finish something I'm in the middle of, I'll expect to be able to come in slightly late or leave a bit early on other days as long as the time more-or-less averages out.

> Have passion for the job and for the problem you're solving. Programming is just one of many tools you need to accomplish that.

This is exactly how I approach jobs, and it's made me happier. The most productive things I've ever done have not involved writing code, but rather improving process and helping other people do stuff better. "I solve problems. Computers are sometimes involved."

So if someone doesn't have passion they can't be a good developer? And if your passions aren't things that people pay you for, you should, what?

What other profession do people have this absurd obsession with passion? I've never, ever heard someone put down an excellent carpenter because they are passionate about sailing and not cabinets.

You can do something well, seek improvement in your trade, and be pleasant to be around without having to be passionate about "leveraging branded content for marketers to drive ROI in key demographics using your analytics platform", or whatever job you happen to have at the time.

If someone is passionate about woodworking, they will make better cabinets than someone who is not. Same with coding. It's not about the hours, at all.
If they're working alone or with somebody who shares their passion, sure. What about the, oh, 90% of the rest of the time?
If someone is skilled at woodworking, they will make better cabinets.

No doubt there is a correlation between people who are passionate about something and people who are skilled at that thing. It seems likely to be a causal relationship, too.

But it's the skill that makes the difference to the end result, not the passion. A diligent, conscientious woodworker might make just as good a cabinet as someone who loves to work wood. And a highly trained, professional woodworker will probably make much better cabinets than an enthusiastic amateur who is just having a go in their spare time.

This seems like a dubious claim, to be honest. Just because someone is passionate about something, I see no reason to believe they are good at it.

I would love to be proven wrong, as I am passionate about many things. However, I find that those that are more practiced are usually far better than simply those that are passionate. There is plenty of survivor bias in this claim, though. So I try not to use it as an indicator of anything.

>However, I find that those that are more practiced are usually far better than simply those that are passionate.

Passion is the starting point to becoming exceptional.

Ironically, as someone with children, I am more open to the opposite direction. Practice can lead to passion if someone grows the necessary stimulus reward from it. This can continue on to continued practice and can feed to progress.

Or it could lead to a dead end.

this 1000x , as parent with grown up children
> So if someone doesn't have passion they can't be a good developer?

They might be good, but I wouldn't want to hire them if I had a choice. Why would I? It's just plain, unassailable fact that human beings are better at things that they practice at, and people practice things they enjoy.

> What other profession do people have this absurd obsession with passion?

All other professions should have it. Two people with equal levels of intelligence, talent, opportunities, etc. are going to perform completely differently if one is passionate and the other isn't.

I've seen it firsthand many times, and many HN users are living examples.

I'm a sought-after programmer because I've written dozens of web applications end-to-end. I love to do it, or I wouldn't have spent so much time and money on it in the past.

A friend of mine graduated from an amazing CS school, works at one of the big tech firms, and finds his job interesting. But he clocks out and never codes recreationally. I have literally thousands of more hours of experience than he does, and it shows when we talk. He also never gets to write the whole stack at his job, so he doesn't know anything about architecture. He makes widgets by consuming someone else's API.

> You can do something well, seek improvement in your trade, and be pleasant to be around without having to be passionate about "leveraging branded content for marketers to drive ROI in key demographics using your analytics platform", or whatever job you happen to have at the time.

Again, I agree you can be good, but you won't be the best. And the job you're describing sounds like really mundane, tedious work. (Programming is that same kind of work to a lot of people. I don't have delusions about its nobility or whatever. Comparing it to plumbing, as Jeff Atwood did, is pretty apt.)

The unfortunate thing is that not everyone is lucky enough to have a match between their interests and their job. Someone might be a once-in-a-generation puppeteer, but they have to get a day job as a bank teller.

So I'm not criticizing anyone for lacking passion, nor am I saying you should have passion for a BS job like selling AdSense. You can certainly bring an enthusiasm or an excitement about reaching higher goals to those jobs. But actually loving the work is going to make you harder to burn out, happier, and a better performer than anyone who doesn't love it.

> The unfortunate thing is that not everyone is lucky enough to have a match between their interests and their job. Someone might be a once-in-a-generation puppeteer, but they have to get a day job as a bank teller.

Here's the thing, though. I have a lot of interests. I find my job interesting, but I also find out jazz and improvised music interesting, and I go to a lot of concerts. I find somewhat elaborate cooking projects interesting, and I set aside time for them. I find certain kinds of literature interesting and have tons of books I want to read and some I even am reading. I have writing projects (essays, not code-writing). I go out with my girlfriend. I keep a list of movies to watch. I have a wide online acquaintance I chat with.

And, yeah, I have some side-projects I like to work on or think about, but unsurprisingly they're mostly sidelined. I code when I'm at work; there's lots more to interest me the rest of the time. Does this mean I won't be the best of the best of the best? Probably in my case yes, but I'm ok with that. I'm also skeptical that it's actually necessary to be so monomaniacal to be a damn good programmer.

Clock-punchers might be harming themselves but it wasn't clock punchers that gave us the iPhone.
Passionate people might have lead the iPhone project, but there were assuredly many, many clock-punchers implementing the massive set of standard libraries available on the platform, writing specs and documentation, creating visual assets, sounds, etc.
I wonder how many left the project after launch because they were burnt out? I wonder if we would have a better product now if the core team has stuck around. Talent retainment isn't just about throwing more money at people, it's about a good working environment and often hours.
That is a horrible example: a physical product that was assembled by third-world clock-punchers in mind-numbing, depressing factories.
The impression I get will be they wont leave until the job is done to perfection. Not though the workers choice.
But if you don't have passion? I really don't want to work with you. Life's too short to spend 40 hours a week doing stuff you are apathetic about or with other people who are just going to drag you down.

I don't understand this mindset. If someone is competent at their job and, ideally, personable company, what's the problem working with them just because they aren't Passionate(TM) about whatever you're doing? Do you think the people who build the roads, or repair the power grid after a storm, or stack the shelves at your local store are passionate about their work?

I think sometimes people who enjoy programming and also get paid very well to work as a programmer forget just how lucky they are. Most people don't love their jobs.

> I think sometimes people who enjoy programming and also get paid very well to work as a programmer forget just how lucky they are. Most people don't love their jobs.

I forget this all the time, except when I'm programming. I really do love to code, but when I'm away from the computer and I don't feel like coding, I'm actually typically really depressed. At some points in my life, I was lucky to be able to say that I was still alive. Just because someone can get super excited about math and computers doesn't mean that their life is perfect and full of luck either.

It comes from the fact that there are many, many jobs for programmers out there. If you don't actually enjoy your job, then it's at least work having a look out there to see if there is something you'd enjoy more.

Like the person you quoted said, life is too short to spend 40 hours a week doing something you really don't care about.

In my experience, competent but unpassionate programmers will do a good job of implementing a flawed spec and be happy about it, because it's management's problem and they get paid the same either way; competent and passionate programmers won't be happy unless the flaws are fixed and they get to make a good product.

Both approaches can work, but it's not good to mix the two personality types within a team as their goals are mutually exclusive.

But a flawed spec is management's problem, and it is management's job to make a call on whether you ship despite any known flaws. A competent (in the professional sense) programmer will follow management's lead even if they personally don't like the decision or aren't happy with the results.

Being passionate about your work does not give you the right to be in charge, in programming or any other field. Yes, good programmers want to make a good product, but as the saying goes, sometimes the best is the enemy of the good. Shipping a product with fewer bugs six months after the money to pay for it runs out... usually doesn't happen, because the money ran out.

Flawed spec? Oh, please. My first job didn't even have a spec. It had two reams of paper worth of MicroFocus COBOL listings and a directive to implement that code's functionality for Windows using Visual Basic 6.

It also had a VB6 codebase that half a dozen contractors had hacked into the sort of unholy mess that even H. P. Lovecraft knew better than to try to write about.

This is no joke, people: every variable was global.

Being competent does though (well I guess its down to the individual workplace).

I certainly take over from my incompetent team leader, because his solutions are not well thought through. They will work fine for a week or two then need constant debugging and tweaking. I have the experience and knowledge to see better solutions. That extra knowledge doesn't come by itself. I constantly try to improve my ability. I read articles about programming techniques and tools.

Yes, competence is what matters.

The problem as you describe it seems to be that your managers did not hire a competent senior developer as the team leader, nor have they fixed their error since.

It is also possible -- I can't tell from just your previous post -- that you are relatively inexperienced and place a lot of weight on the modern/trendy programming techniques and tools you read about, while your team leader is more experienced and sees through the hype.

> don't code to exhaustion to satisfy some sort of Asperger's or OCD issues.

... why not? What if nothing else works?

> But however you slice it, you cannot get past this one fact: it is an unnatural thing to sit in front of a glowing box for 4, 6, 8 hours a day pecking on little things with your fingers. This type of work has never existed before in the history of our species, and we were not made to do it. I think that's why we have to be very careful not just about the amount of time we code, but all the other things that go with it.

Agriculture and medicine are unnatural too. So are exercise machines, standing desks, and memory foam beds. So are books, ships, planes, trains, and bicycles. So is math - thinking about math is very unnatural.

When my company hires, we look for programmers who show curiosity, interest and creativity. This, I suppose, is what some PR person somewhere decided would be called "passion". But we're not looking for some crazy evangelist and we don't expect people to devalue other things in life to prove their interest in programming. Someone mature, intelligent and curious is ideal.

There's definitely a difference between that person and someone who does the bare minimum required to get the job done because they're not that interested. Your curiosity will lead you to discover new ways of doing things, to keep an eye on how others are doing things, and to persist when you can't immediately solve a problem. You'll write better code because you're interested in discovering the best ways of doing things. But you needn't be obsessive.

We have seen employees who don't initially have that curiosity, and their code generally isn't very well designed and doesn't improve. It doesn't matter how many hours they work. If someone can succeed in sparking that curiosity in them, then we see their code improve.

What you don't want is the attitude of "how I code right now is fine for me, and I'm not really interested in learning better ways." That's associated with "ho hum, it's just a day job" but not everyone working standard hours has an unhelpful attitude like this. It's quite possible to work 9 to 5 while being interested, curious and proud of good work.

> But we're not looking for some crazy evangelist and we don't expect people to devalue other things in life to prove their interest in programming.

Well, of course you can't _say_ that. That's the whole point of the article: that "passion" is a euphemism for the signaling companies do. We want passionate developers, and we get to define "passion" for you.

What makes hiring so hard is that it's a gamble. Human beings don't come with specs you can evaluate to know whether or not they will help or hurt your mission. But, you know what, companies don't come with specs that will tell an applicant whether the job will enhance or stifle one's life. I wish we could stop playing these word games that imply there are rigid patterns to what makes a successful employment relationship, and instead put that energy into getting to know human beings as they are.

Human beings don't come with specs you can evaluate to know whether or not they will help or hurt your mission.

You need to find people who can perceive the workings of the group and company as a system, then actively avoid pathologies and improve the group as a whole. Most groups aren't solely composed of such people, but the ones that work well have enough of them to regulate group interactions smoothly.

What makes hiring so hard is that it's a gamble.

It wouldn't be if there was a way that we could try people for a couple weeks, then six months before hiring. Almost anyone can pretend to be nice for 6 months for tens of thousands of dollars. Longer than that, you're either getting a genuine glimpse, or there's a darker talent at play.

The author has a good strong point about leaving work at work when you leave. Unfortunately, he makes a logical error in thinking that this generalizes to any sort activity that resembles your work. Would anyone berate a mechanic who likes to go home to work on the classic Camaro he is restoring for fun? Just because the guy does similar things for work and fun doesn't make him absolutely wrong or necessarily worse at his job.

When I leave at 5, I don't worry about work. I go home, have dinner with my family, play with my kid, etc. Then, while I'm watching TV, I sometimes sneak in coding on some side project or open source fix, writing a blog post, or organizing a meetup. This doesn't make me a fool or bad at my job. If anything, I'm continuing to develop and retool to keep my competitive edge so I can keep getting paid well for work that I don't hate. That's smart.

I've worked with guys like this, and they drive me crazy. If you hate your career path, that's a you problem. Don't make it mine.

There are days when I love what I'm working on and I don't want to go home. But I still force myself to leave, because that work will still be there tomorrow, and I'll go in the next morning with renewed passion.