188 comments

[ 2.5 ms ] story [ 231 ms ] thread
Looks like semicolons had their run and it's time for something else.
Seriously, I feel like we're trapped in a meta nightmare. Who cares? I feel like I'm wasting a non-negligible amount of time reading about meta discussions of how I must find value in my life or do my job or assign levels of passion so that I'm legitimate or respected or some shit. I do my job. Most days I enjoy it. Some days I don't. Sometimes I have to put in more hours than I like. If that continued and my job became, on average, more of a nuisance than not, I'd find a new job.

I have to believe this is how most people are who don't have the time or energy to write long-winded blog posts about "be like me so I feel better about how I live".

I vary on this one. I have a bunch of hobbies, of which coding is one. When I go through a coding phase then I'm not a 501 developer. When I go through a boardgaming phase I am.

In any case, I try not to _work_ more than 40-hours per week, but my play frequently still involves computers.

Exactly. My job is programming because it was first my hobby. I have an EE degree.. not a CS degree. I was an Epi Reactor "mechanic" before I realized my passion was software not hardware. It is awesome to get paid to do something I love. But that doesn't mean I should be required to do it only for someone else for all my waking hours. Some times I want to do my own thing.
I already said this on reddit, but I guess we should make a "501 programming lover" manifesto where we keep everything but the last part of the 501 developer manifesto.
I agree that a job shouldn't define who you are.. but I think what you choose as your profession says a lot.
To me, the concept of a '501 Developer' as outlined in the manifesto seems kinda foolish. It shouldn't be outside of industry norms to value one's family over one's company, or to treasure time spent with friends over time spent with coworkers.

The list of pitiable/respectable items are a bit different. In particular, "Mostly only read books about coding and productivity" I do find unsatisfactory; the power of literature is massive and too often untapped, and the thought that reading 300 pages about a language or productivity is more valuable than, say, The Brothers Karamazov frightens me a little.

Dearth of passion doesn't make someone a '501 developer', nor vice-versa; I just think being passionate about one subject to the exclusion of everything else is dangerous, no matter the industry or lifestyle.

> I just think being passionate about one subject to the exclusion of everything else is dangerous, no matter the industry or lifestyle.

Probably true. But you don't get to be Mozart or Van Gogh by being well-balanced. ;-)

You could be a Leonardo da Vinci, though.
Ha, we had the same thought!
But you don't get to be Mozart or Van Gogh by being well-balanced.

My translation: The actions and intentions of most people are aimed at not becoming Mozart or Van Gogh -- as in not dying destitute in your 30's and being buried in a pauper's grave.

The world only had one Mozart and one Van Gogh. There never was and never will be a second Mozart or a second Van Gogh.

As such, the statement itself taken literally is extremely silly and doesn't have enough details to be interpreted figuratively.

Let's say for the sake of argument that you mean "genius that contributes works of art". One common trait of such a person, besides being incredibly talented, is persistence. This would imply in the minds of lesser individuals that such a genius is impossible to have a well-balanced life.

However, the pitfall of such a mentality is that having work-life balance does NOT mean diving the time equally between work and life and is extremely relative, being a function of the individual itself, his work, his culture and the society around him.

What this means is that the actual amount of time spent on doing something is actually less important than the quality. Say, if you're spending 5 hours with your son but being distracted by problems at work you're going to please yourself and your son less than a single hour of enjoying the present moment. This goes for anything you want to do ... top athletes and top violinists spend less time practicing than their peers, but the training is a lot more intense.

And to answer your implied conclusion ... quite the contrary, being a genius capable of creating things is correlated with a sane mind and a sane mind needs a good work-life balance.

No. You get to be Leonardo Da Vinci though, who was a painter, a sculptor, an inventor, a thinker and a ladies man.
Were Van Gogh a programmer today he would have been late blooming second-career type rockstar cowboy coder that burned out in a half a dozen years before killing himself. He was an amazing artist (my favorite of his time) but is exactly the cautionary tale that your 501-type would point to.

... actually, that sounds like _why but without the whole suicide thing in real life.

The only reason this whole debate exists is that there are lots of us who love programming, and would be doing lots of it whether or not it paid.

This naturally makes 501 types uneasy, because it leads to unfavorable comparisons.

(Caveat: I'm a college student in undergrad, and certainly don't have the industry exposure of other commenters.)

I don't think that's entirely fair; I can pretty handily separate myself and other CS majors into those who spend their weekends/late nights doing hackathons and such, and those who pursue hobbies and activities separate from programming/development.

In my experience, the latter doesn't specifically have less zeal for programming than the former; it's just balanced by enthusiasm for other subjects and interests. The point that there are many 9-5 programmers who treat it as a career and nothing else is well taken; that being said, you don't have to be spending the overwhelming majority of your waking hours in a terminal or IDE to love programming.

I'd rather say that the reason behind it is that there are people who don't see that "either you're 501 programmer, or you love programming" is a false dichotomy.
These people you're talking about...they are called: "programmers".

That's how some programmers's brain being wired: category, structured, organized, etc. I'm guessing it is mainly because of the work we do every single day, single second, of our life, i.e.: that's what we do and we, fortunately or not, applied it to our daily life.

The "501 Developers" are trying to negotiate as a group. That creates a dichotomy where there previously wasn't one.
This naturally makes 501 types uneasy, because it leads to unfavorable comparisons.

Yes, about half the manifesto is reasonable, and the other half comes off like unmotivated students who get mad at the nerds for messing up the curve.

I'm not sure loving programming correlates well with people who put in long hours, though. One thought experiment: imagine programming were an occupation that paid a reasonable skilled-craftsman type of wage, but not a high-level professional type of wage, say $50-70k typical salary and no real prospect of big exits/IPOs. Who would still be in the field, and who would find another field? People who love programming would probably still be around. Heck, there are die-hard tech lovers who'd still be around if it paid $30k, the way artists stick around despite low pay because they'd rather do art for $30k than not-art for more.

But I would guess that a substantial proportion of the current tech workaholics wouldn't be, because they're driven by something other than intrinsic love of technology/computation/programming. Something more like a drive-to-be-on-top type personality, perhaps.

(comment deleted)
Almost a dozen years ago, I took a friend to a jam session. It just so happened, that one of his musical heroes, an Irish Uillean piper was on tour and decided to sit in. They hit it off well, and my friend became a protegé for awhile. Anyhow, the touring musician told my friend, "Don't try to play music for a living. It'll kill you."

Sometimes having to do something, especially if you can't do it exactly the way you like, can kill feelings for it. Sometimes having to do something for long hours can do the same. I'm not so sure having or lacking these tendencies makes one person better or worse than another.

Actually the debate exists because some startups, notably Square, allegedly have culturals that frown on the person who leaves the office while the sun is still out.
I'm guessing many ambitious startups in SV are like that...
(comment deleted)
I can't help thinking that most of the programmers who program (a lot) in their spare time do so because they aren't satisfied at work.
I'm satisfied with my work, but I also realize that because of the industry that I'm in (low-level embedded), I'll be writing about 90% of code in C. So if I want to dabble in something else, then I'll be doing it on my own time.
This definitely applies to me.

I'm in my first job, I've been doing this for almost 2 years now. Everything about this place screams "Mediocrity". Most of my coworkers are middle-aged programmers with average skills and no hope of ever becoming anything beyond average. All they want to do is work their 9-5 hours (in all fairness most of them stay until 6), and daydream about the next way to spend their 35day/year vacations (not to mention the ~20 days of public holidays. Yay France!).

I'm not satisfied, a better word would be "fulfilled" at work. I am the youngest of a 50+ programmer team, (not-so-)freshly graduated and I'm regarded as the best dev on the team. Because I love programming, because I don't want to stop learning, because I care.

The only thing that's kept me going for so long is the 2-3 hours of "real" programming I put in every evening. So far my gf's being very comprehensive about that, but I know things will change when kids will come into play. One of the main reasons I read HN is to remind myself that interesting, fulfilling jobs do exist. One day...

That wouldn't surprise me, because the distribution of development work that companies need done is very different from development that is fun. CRUD apps are often necessary to the business, and tolerable if you enjoy programming, but not terribly good at satisfying intellectual curiosity.
This might be true for some, but there are plenty of reasons why someone may be completely satisfied with their work while also wanting to program extensively in their free time.

Anecdotally, I find that I program the most in my freetime when I am feeling the most fulfilled at work, which would seem to be the opposite of what you describe. That said, rather than just use myself as an example, I can think of other scenarios where individuals may like to program a lot outside of work:

Some pople enjoy entrepreneurship but also desire and/or require the stability and benefits of working for someone else. In that case, they may use their free time to build products of their own.

Some people enjoy much different levels of "hacking" than what you could find at a single work place. They may be someone who is primarily interested in the work they do, so they are eager to put in 40 hours doing it. But then when they get home, they might like to do something entirely different. Maybe they make mobile productivity apps in Objective-C, but in their free time they like to hack up algorithms for AI opponents for board games in Lisp.

Still others may be in a position at work that while they do program, they also thoroughly enjoy the responsibilities for and time they must dedicate to managing teams or training individuals. Those things, rewarding as they may be, mean that there are just not enough hours in a single work day for the individual to get their fill of programming, so they do it in their free time as well.

And some may just like the social aspect of being active open source contributors. They may program really innovative and cool stuff at work, but the choose to do some more mundane open source stuff in their free time because they like collaborating and contributing back to projects that have helped them get to the point where they are today.

Work can't satisfy everything. I enjoy making useless things, sometimes! I enjoy owning a project entirely. I enjoy helping friends. It's okay those itches aren't scratched by work, because work pays me.
There's a difference between programming for work and programming for pleasure.

When I program for pleasure, I'll do whatever I want and leave unfinished pieces all over the place.

When I program for work, I'm getting paid for something someone else wants me to do. I'm I'm not getting paid, then I'm not working on that code. If that makes me a 501 programmer than so be it.

Programming is awesome, but so are lots of other things. I don't eat sushi for every meal either.

I have seen so many developers exploited by people making a bundle off their work with the explanation "I am doing what I love!" Instead, I think it is possible to create without working outside of work hours. I can learn on the job in a way that can be more context driven than reading disembodied books on technologies that will probably never be relevant for my craft.

I don't know about anyone else, but I was always the kid who did the extra credit whether I needed the credit or not. I feel like we still sometimes get stuck in that attitude of needing to do everything in order to not be less-engaged than other people. As long as the community keeps rewarding those over-achievers we will be stuck trying to keep up with the Joneses.

Yes, this. There are plenty of great environments to do what you love, and do it "safely." And there are plenty of poisonous environments where your love of your work will be used to abuse you. I highly recommend doing a stint in old school print/ad shop. I know really great artists who completely burned out very early because their love of their work turned into 48 hour days.

I'm very sympathetic to the 501 cause--I generally don't work more than 8-9 hours a day, and my free time is spent with family and friends, but I do enjoy reading technical books (as well as many other types of books), and go through hacking-for-myself stints, too. There really is a middle ground here--it's not just two camps.

Hmmm, I work more than 40 hours a week... Between my day job, and getting my own company going, I work roughly 16 hours a day... I enjoy it.

But then again that's during the weekdays, weekends I barely do any work, so I have no problem working such long days during the weekdays.

Haskell has no real world use, it just exists because the author wanted it to?

Did I misread that or is that what the author is saying?

That's why the next sentence starts with "All kidding aside..."
I've never heard of this 501 thing before, and I'm not looking forward to all the posts, replies and counter-replies on the HN front page.

Can't we just agree to work during working hours (if you need me to work a bit more as a favor to you, or if you pay me overtime, that's totally okay most of the time), and spend the rest doing what we love, including, if one is so inclined, programming?

So there's simply a fundamental value difference here. Some people love their families, friends, and free time to the exclusion of other things. To them, working is a means to an end. It doesn't actually mean they're not passionate about it, just that they have separated it to a different part of who they are and what they care about. I believe that was the point of the 501 Manifesto.

On the other hand, it's not strange to seek unity between your passion and your work. This is a great path for those who desire to have their material accomplishments define part them and is basically a necessary attitude for living in a meritocracy. It doesn't mean that you dislike your family, friends, and free time, simply that you feel that creation is also of central importance.

It's just different ways to self actualize. You can't compare them, really. You can accept the differences and work with people however makes everyone the happiest and most productive, though. 501 programmers may not have the same need to do exciting, groundbreaking work. They also don't want to spend the time. It doesn't mean you can't make use of them and make everyone perfectly happy. It may mean you don't want to actually work with any of them if you're trying to do something very difficult.

I've found that assigning a label to myself like '501 developer' is counter productive. My productivity and flow tend to come in waves.

I've noticed that there are times that I'm so interested in the problem at hand that 5:01PM just blows by. When I finally look up from the code, it's 7PM or later. In some cases this lasts for months, because the work is both interesting and rewarding. However, it never lasts for too long because of the inevitable cycle of software as it moves from being greenfield to brownfield.

During such times, I've felt less of a need to attend user groups, hack on personal projects, or do much reading outside of what I need for my immediate job. Between the job and my personal life, I was content with my time spent.

However, fast forward a few months and I'm back to leaving at 5PM so I can read and hack on the side with the extra free time. Over time the day job gets less and less interesting and then I start to look for something new that might trigger my flow once again. And then the cycle repeats.

Work life balance? This aspiration applies to all industries.

If you have no other commitments (family, sport, TV etc), then you could spend all waking hours in front of a computer/smartphone writing code.

That feels like am unhealthy commitment.

And you'd probably be less productive than someone who found the time to relax and recharge their energy.
(comment deleted)
Your worldview differs from that of others. This happens a lot, no need to get all upset about it. "501 Developer" means absolutely nothing outside a very small group of people -- try not to sweat its significance.
Definitely some good points. I can relate with, "But the second part makes it sound like your days of learning and creating ended when you got your diploma. I can’t respect that." I have a friend (an EE with several jobs offers out of college but who chose to take the most cushy government job that was nothing but paperwork) try to make me feel guilty for spending my spare time working programming a side project rather than going out. He claimed "we graduated, we're done 'really' working" and after talking to him made me realize that he hadn't ever really enjoyed the classes in his major or what he's doing now. I understand there are a lot of people who find satisfaction in their lives outside of work but I think that there are many who never make finding their true passion in life a priority.
Reminds me of this oldie but goodie:

Good umpire: "I call 'em as I see 'em."

Better umpire: "I call 'em as they are."

Best umpire: "They aren't anything until I call 'em."

Same thing:

Good programmer: "I am a <501 or xxx> developer."

Better programmer: "Watch what I do. That's how you do <xxx>."

Best programmer: "Whatever this project needs me to be, that's what I am."

(comment deleted)
If you do programming because it pays better then, you are going to be just another guy who never amounts to anything in this world.

I know a few of these people. You're right, they've never amounted to anything... except

- Good and loving parents

- Competitive sportsmen

- Inspiring teachers (in the best sense, outside of schools)

- Good and helpful friends

- World-renowned experts in obscure fields

- Effective local politicians

Just to name a few people I know personally. And while they might never be known as awesome programmers, they do pretty well and their colleagues still look to them for leadership, because they know their domain expertise well.

It's about priorities, you know?

Add in the guy who said: "Programming for fun" was always a foreign concept to me...I was not a great programmer. I pity the fools who are maintaining my old code right now.

A little known fellow named Ken Jennings who happened to win a few million on Jeopardy.

"Whatever this project needs me to be"

I'll never put in 80 hours in a week for you. I'm sorry, but there are more important things in life than programming. Maybe I'll never be the best programmer, but I think I'll be a better person.

Put in 80 hours a week on someone elses project - sure, totally get this attitude.

But if you aren't willing to put extra hours into your own project (or others who you believe in) - then you will never be great.

I work 40 hours a week at a day job with a local startup. I'm not a founder, nor employee one - I do have some decent stock but really I just work for the salary.

My passion comes in the extra projects I take on for myself. I do it because it honestly interests me and isn't work - it's a hobby as well.

This whole "never work over 40 hours" is very humorous to me. Work what you feel like - no one else gives a damn what you do.

The problem is that people do give a damn.

People automatically assume that because I don't want to work over 40 hours means that I'm just in it for the money/job/whatever. They automatically assume that because I don't have 20 projects on github, I'm not active on twitter, nor do I have a blog that's updated twice a day that I'm not passionate about my profession. They automatically assume that because I don't go to 4 meetups a week nor contribute to their favorite open source software every other day, that I don't don't care about the community. Just because I don't do these things, it does not mean I'm not a passionate programmer.

People are also confusing the difference between work and pleasure. Just because I'll only put in 40 hours of work in a week, does not mean that I'll not program on the nights/weekends.

Well, let's be honest then.

If you don't contribute to the projects, if you don't spread your knowledge, if you don't give away your source...

...what good are you?

What have you done?

How are you anything other than a consumer of other people's work and knowledge?

"what good are you?"

That's just an awful way to judge someone. Just because he chooses not to give away his work, or do any side projects at all does not mean he is "no good". There is more to life than writing open source code you know!

Creating software that helps whoever uses it is the only immediate requisite for being a useful programmer.
Where did I ever say that I didn't do those things? I'm railing against the people that think that just because that's not what you do with every day and every hour of your life means that you're not passionate about it.
"Where did I ever say that I didn't do those things?"

meet

"Just because I don't do these things, it does not mean I'm not a passionate programmer."

I apologize if I incorrectly read your statement.

As for passion:

I mean, a lot of people are passionate about Jesus, and are passionate about the Chicago Bears, and are passionate about Jersey Shore.

That doesn't mean that they're doing anything genuinely useful.

The problem here is that it isn't enough to be passionate. You have to be doing Good--and if you look at my original wording, that was very much what I asked (albeit with poor capitalization): what Good are you?

Again, if all you do is dump code into the maw of some proprietary system without writing about it or trying to share your knowledge or give away your tools, well, you haven't really helped anyone who isn't a user of your project, right?

I'm sure his children don't see his worth as a father improved by the time he spends coding open source instead of interacting with them. A similar thing can be said for every other non-programmer he interacts with. Perhaps he won't leave the programming legacy that you or he would like, but that doesn't discount the value of the other legacies he may create in the meantime.

(Apologies if my gender bias above is incorrect.)

I think that the 501 argument at its core is that we shouldn't judge a programmer's personal value solely by their programming. Programming is the one thing that everyone in this argument has in common, so it's easy to turn it into the only metric by which we judge people. Any other metric might not apply to all of us, so it would be of limited use.

I think 501 developers are tired of being scorned or feeling guilty for not dedicating themselves to programming all the time when other segments of their life need attention too. But let's face it - if they weren't passionate about programming, they would hardly take the time out to make the argument.

Don't get me wrong--I'm not saying, "Hey, to hell with your kids, we've got commits to make!". I actually got hammered pretty hard a while back for defending the stance of fathers telling VCs/bosses/etc. to fuck off when asked to choose between family and code. That's the right thing to do.

But, there is a real problem, right? We can't really judge a person by anything other than their programming value--and the vast majority of us, here on HN, are only somewhat qualified to do that much.

Even in a seemingly simple case such as whether or not we should ascribe personal value to somebody who has had kids, we can't assign value easily. Do they support their kids? Do they beat their kids? If yes, is it for good reason? If yes again, how often do they beat them? Even something as seemingly clear-cut as that is a transparent as mud.

Are they homosexual? Are they polyamorous? Are they racist? Are they sexist/genederist? Are they a fan of classical music? Do they play an instrument? Do they like the Yankees?

All of that is stupidly subjective in terms of valuation. Why bother?

Programming, though--and more particularly, how they contribute to the community of programmers--is something that we can at least try to reason about. Something we can attempt to quantify (and yes, you can game lines of code, you can gain commit counts, etc.).

Lastly, note the attitude of the ancestral post:

"I'll never put in 80 hours in a week for you. I'm sorry, but there are more important things in life than programming. Maybe I'll never be the best programmer, but I think I'll be a better person."

That's a little high-and-mighty, yes? Didn't even bother to qualify "more important things in life than programming". There are, but that was an unsupported statement that we can't expect anyone who values programming above all else to agree with. The "better person" bit, too--better than whom? Themselves having chosen to value programming more? Us, the hapless codemonkeys who see a chance to make progress for everyone? Who?

I don't begrudge people that are punchclock coders. If you ignore what I do outside of my day job (which admittedly is secondary to my startup efforts), I qualify--and I come in late and leave early!

What I cannot stand, however, are people that make unsubstantiated claims, that come off as holier-than-thou, and that seem to be unable to grasp that they can insult a whole group of people without meaning to.

It is definitely still a problem. If we discard the programming-centric judgement metric, we are left with essentially no common ground on which to form opinions, so that's clearly a non-starter as well.

I don't have an answer for all of this, on either side. It seems to be rift-causing issue from both directions. I think that rift is something of a false dichotomy, which is my main problem with this issue. The people in this debate are all actually on the same side - they care enough to debate it. What they care about may differ, but that hardly seems to matter in my eyes, as long as they do care.

(I dislike all the downvotes you've received out of disagreement - it was a thought-provoking comment that has continued the discussion. I upvoted, for what it's worth. Playing devil's advocate seems to have gotten you singed a bit. :) )

I think I agree with you--and I don't really have an answer either. It's hard business all around. :(
I can't think of a better person than those who find something they truly love and are passionate about. No one said you should put 80 hours a week into any one thing or for any one company (lets face it no one pays enough to be worth 80 hours of your time). But the 501 manefesto comes across as a whining from the "just a job" crowd.

I almost never put more than 40 hours a week into my "job". But I love it and I know I do great work. I've never found anyone has judged me for when I go home, but if they did, I'd put them in their place right quick.

I do put probably another 10h into side projects, maybe another 10h or more reading, being involved in user groups and talking to people (which I love) and blogging whenever I stop procrastinating.

I love doing all this. I also love my family, I play with my daughter every day and I see my friends all the time. Yet amazingly, in all that I still find an inordinate amount of time to waste watching terrible TV shows.

The point is there is more time in our lives to do awesome than the 501 developer seems to want to admit. If there is anyone who deserves pity it is anyone who does anything because it's "just a job". I can't say I'll have much regret about all the time I've spent coding, and learning and attending meetups, but I can say how much regret I would have doing "just a job" for 40 hours a week. Exactly 40 hours a week worth.

I think that's the point that everyone is missing. Just because you put in 40 hours at your job, doesn't mean you're not passionate! Because at the end of the day the 8 hours I give to someone for a paycheck "is just a job."
That's where the problem lies with this 501 developer manefesto. In an effort to slam overtimers he's also globbed in those who simply have passion and want to use their free time doing something they love. It's a terrible manefesto in my opinion.
I think the point of the manifesto is reject the continuous raising of the bar that enthusiastic programmers bring to the community. An accountant doesn't need to compete with someone who is passionate about accountanting on the side. Neither does a welder, a shopkeep, or a factory. These people just want to put in 8 and forget about it. They don't want to put in effort to update their skills, they don't want to learn a new framework, they want to do the least outside of work they they can and still collect a paycheque.

On one hand I worked at a place where no one had learned how to use Java generics since they had been on 1.4 until recently, and they never saw the need to learn (this was a couple of months ago). On the other hand if I was only an accountant since it offered the best prospects for my family I'd probably want to be reminded of it as little as possible.

This is such bullshit reasoning. I have a family member who is a very successful welder that is continuously working to improve his craft. This is the reason why people in the tech community seem smug to outsiders.
I actually didn't know that welding was something with varying degrees of skill. That wasn't said out of condescension but rather ignorance. I guess "cashier" would have been a better example. There are people who want to work like cashier but get paid middle class incomes. They are "middle class cashiers & stock boys".
Middle class cashiers and clerks used to exist until reading and writing became ubiquitous, and computers took much of the effort out of keeping track of numbers and data processing.
I don't get it. How are those "better" and "best" people you describe not self-important jerks? There are already too many stupidly arrogant people in most companies; they are immune to criticism and extremely difficult to work with. Shouldn't facts matter more than ego?

"I call 'em as I see 'em." is an attitude I can work with, because it lends itself to meaningful discussion and, maybe, some kind of understanding. "They aren't anything until I call 'em." on the other hand is useless wankery in my opinion.

On the other hand, I agree with you that "I am a <501 or xxx> developer." is a somewhat weak statement, but for other reasons than you. I think 501 and others are overly broad labels and philosophies. Most people who are capable of having their own opinions would probably agree or disagree on some of the 501 points, but not subscribe to all of them as a package.

I agree fully. Actually I didn't bother reading the original past the passage you outlined, about pity and respect. People who work on something they aren't passionate about deserve neither, and their sacrifice will go unnoticed. I'm yet to see great software developer who doesn't do shit the minute he's out of he office.
Here's something better:

-- The 416 Developer Manifesto --

* I get hired because I'm good at what I do, and excited about it.

* I'm good at what I do and excited about it because I get enough time outside of work to pursue my interests.

* If you want to maintain my value as an employee, make sure I get enough off-time.

I don't get the 416 reference?
"Requested Range not satisfiable," perhaps? I don't quite get it, either.
Oh, it's an HTTP code. Very nice.
You've gotten an error because what you've requested is beyond the available range. (My time is my time, not yours.) Although I think a 413 would make more sense—the request is larger than the server is willing to process.
That's the one - although 413 makes a lot of sense too :)
Where does it say that 501's are actually productive and produce good bug-free code?

Being a little bit of a dick here, but programming is art and science and there are aspects of it that require dedication beyond a 9 to 5 mentality. I, for one, prefer to hold reasonable hours and come home to the kids. At the same time, I am no stranger to 18 hour days, seven days a week. Sometimes inspiration and problem solving require you to stay on task longer in order to get things done.

And then there are those bug-hunting missions that sometimes never end. I once spent six months tracking down a software bug in a hardware design (Verilog, FPGA). High-speed digital designs can be notoriously difficult to troubleshoot. The problem was caused by a rounding error in an Excel spreadsheet used to calculate parameters plugged into the code months earlier. We used "ROUND()" instead of "ROUNDUP()". Though I digress, the point is that programming sometimes is about recognizing when you need to do a little (or a lot) more than watch a clock.

I'm not proposing that all programmers ought to work ridiculous hours. Whenever I've done 18 hour stints it took me out of the game for weeks. And that's OK so long as there was a point to exerting yourself to that extent.

The bottom of the manifesto says: "To us it is just a job, but we still do it well."

That, to me, is a guarantee to not being hired. That it is "just a job" means that they might as well be welding, at least to me. I don't want people like that in my team.

Having said that, I am the first one to tell someone to get the hell out of the office if they need to go see their kid perform at their school event at noon. Get the hell out and go enjoy the day with your family. Need to take a four day weekend when it isn't an official holiday? Do it! Send pictures. The point is that you build a team and everyone looks after everyone else while having one hell of a time creating a product. Respect, dedication and consideration. 5:01? How about not coming to work to go fly a kite with your kid? I like that.

I don't agree with everything you've said, but I do agree with the notion that "putting in time" doesn't necessarily equal work.

It's important to me to maintain a good work life balance. To this end, I work from home 90+ percent of the time so that 'working late' doesn't mean having to miss out on family interactions, or becoming the proverbial stranger to my family.

The flip side though, is that if there's a problem, or a challenge that needs to be solved, I generally go all out until it's solved. Not every bit of programming is amazingly fun -- CRUD operations or writing login forms for example are pretty mundane most of the time.

But when I'm building out the logic for something that I don't know is possible, or if I'm attacking a problem I don't immediately know the answer to, I tend to spend a lot more time on it than 8 hours a day, and I seldom even notice until I'm done that I have.

To me, it's not about watching the clock, it's about getting work done. If it takes me longer to get something done than I thought, that shouldn't necessarily mean that it's going into the queue for another day. Similarly, if I have dinner plans with my family, I'm not likely going to miss dinner because there's an unsolved problem. I don't have family plans or obligations every single day, so there really isn't a good reason for me to bolt at 5:01 every single day unless things are running smoothly.

What's interesting is that I agree with everything you said!

My view of the job is that you should be passionate about what you are creating. That is not at the exclusion of personal or family life. Not at all. At times this dedication to the task will result in sacrifices. I am saying that, so long as these are justified this is OK.

If working long hours is normal there might be something wrong with the process. My view was more about that case where "Hey, I am really into getting this state machine figured out. I should stay and get it done 'cause I'm in groove" or "we really have to ship this by Friday, let's get it done and take a few days off next week".

In my view of the job the team is a team and everyone looks after everyones interests and well-being. I've let employees go out of town for a few days (fully paid) to go see a concert by a band they really liked. When asked, if nothing horribly pressing is happening I'll almost always say "yes". Why? Because I have those interests and passions outside of work too and it would not be fair to treat others differently. This is not a religious view, BTW, as I am most definitely not religious. When someone takes a few unscheduled days off to go do something they love the business does not loose money, you gain by fostering a stronger relationship as well as having someone come back from their trip re-infused with energy.

Robotically clocking out at 5:01PM has never made sense for me, even when I was the employee. I don't think I have ever worked 9 to 5 in my life. Maybe I'm lucky 'cause I've had fun jobs that I wanted to keep doing.

The only thing I really disagreed with was the notion that 501 developers aren't necessarily good developers.

I've worked with some folks who belied that argument. Good, solid work, but no more than 8 hours of it. In all fairness, this usually (though not always) was the result of having been exploited. They were great developers working 18 hours a day, 6+ days a week, until they came in and quit. Realizing how necessary they were, the employers were able to strike a deal that kept them. Usually the only complaint were the work hours. Employers give them a gentler schedule and they stay, still producing good code.

I get the motivations for the 501 guys, and will freely admit there were places I worked where I wasn't happy, and that unhappiness expressed itself as a nonchalant attitude toward the work.

Of course, once I realized it, I made it a priority to get out; to get myself somewhere I could enjoy the work, and to get my employer the opportunity to get somebody in place of me that might enjoy the work they were doing. I didn't feel it was fair to either party for me to be that guy, and sadly, the work itself was exhilarating, it was a variety of factors within the team that made the job unenjoyable.

I miss the work. :'(

> The only thing I really disagreed with was the notion that 501 developers aren't necessarily good developers.

I don't think I said that. If I implied it, I'm sorry, I should have used more precise language as this is not what I believe.

My comment about writing good code had to do with their manifesto. They obviously go into a lot of the reasons why they want to work 9 to 5 but fail to also commit to doing a solid eight hours of work and producing good code during that time. You can work eight hours and produce absolutely nothing or far less than you could/should.

So, if you are going to work eight hours and code for eight hours --no youtube, no facebook, no HN, no anything outside of what you are supposed to be doing-- then, that might be OK.

In other words, like brick layer lays builds a wall or a Walmart employee attends to the cash register.

If you want flexibility than you are not a 501'er.

Ah -- my apologies for putting words in your mouth.

I'd say that's a fair and accurate statement all around. If, as an employer, I can't count on you, as an employee to be flexible, then I'm certainly going to be less tolerant of the miscellany (like HN, youtube, etc.) than I would be if I knew you were more likely to get things done.

Of course, if my guys can put in only 8 hours and still meet all tasks assigned while surfing porn and youtube all day, I'm almost certainly going to look the other way.

Before I was a software developer I was an auto mechanic and this ethic is what makes the good people good in both fields. Sure, you can make decent money doing flat-rate brake jobs that pay 1.5 hours in 30 minutes, but if you like to fix cars, you crave those problems where you've got to dig deep and experiment, and are more concerned with solving a challenging problem than what the $/hr turns out to be for that job. In an auto shop, the people who are willing and able solve the hard problems when they come up generally get assigned the best(easiest to finish under book time) of the other work. From what I have noticed in both fields, the happiest and most successful people have a sincere interest in their craft (knowing how, and wanting to know how things work), and this interest often carries over into how they chose to spend their personal time.
I don't understand why you wouldn't be interested in hiring someone who feels that software development "is just a job, but I do it well." And what is wrong with welding?

What is it about programming that requires dedication beyond regular and predictable work hours? If the implication is that the 501'ers aren't thinking about what they do when they are not at work --they say they "...value personal creative projects over commercial products the world doesn't need." Certainly that is an abrasive way to phrase it, but it's clear that they are doing some level of development outside of their workday. This could cover keeping abreast of the state-of-the-art, certainly I feel that it is my responsibility to keep my skills competitive and up-to-date.

You yourself prefer regular and predictable work hours, why shouldn't your software developers be able to enjoy these kinds of hours as well? The implication seems to be that people who work these kinds of schedules will be unwilling to work longer during a "crunch period." I don't see any reason to believe this is the case; I strive to work regular and predictable hours and I will put in extra time when warranted. I take full responsibility for my work and its effect on the company. I don't know what more any manager could ask of their employee and it's not clear where the 501'er is (in your estimation) falling short.

Perhaps you believe that someone who strives for a regular and predictable schedule will be spending all of their time eyeballing the clock, perhaps even "gaming the system" to work as little as possible. For sure, such people exist, but I don't believe that there is any reason to assume a 501'er is one of these people. Again, I have to point out that you enjoy this kind of schedule yourself and you are clearly not spending all day "watching the clock." For that very reason, I find your objection to hiring a 501'er very puzzling.

Lastly, as an aside, I wonder if the objection to the 501'er Manifesto boils down to this: the 501'er clearly values their personal life over their professional life. It seems to me much more difficult for a manager or business owner to baldly argue that their employees should value their work product more than their girlfriends, wives or families. Yet I can't help wondering if that isn't their true objection; that despite what they may say or do they are very much looking for people who are willing to live very unbalanced lives, lives that are unbalanced in favor of the workplace.

Creative endeavors are not regular or predictable. Manual labor is. That's the difference, as writers and painters figured out a long time ago, but we seem to be struggling with. (For understandable reasons - it's often a team sport and not a solo one like those other two are)
I understand that there's a continuum from art to craft, from something like the code for Lisp at one end and some generic RPG reporting code at the other. I understand that artists work on odd schedules and people that work billing software typically do not.

Artists often have patrons who finance their art. I haven't seen much of this in software development. I'm not sure how artists or writers are treated in their respective workplaces, but is it the common case that they cannot expect to work regular or predictable hours? I know dedicated copywriters and graphic designers that tend to work schedules similar to my own, perhaps they are the exception to the rule.

In most cases, I find the argument that software development is similar to art less than compelling. In my experience it is extremely rare to see software treated as art and even less so to see an software developer treated like an artist. In fact, I'm not sure what being "treated like an artist" would look like. Perhaps I have seen it and simply didn't recognize it for what it was: long and irregular hours, neglected private lives, exhaustion and burn-out.

I think you've got it in the last part. Basically, where someone throws themselves into creating something, rarely coming up for air. People often pay lip service to passion without ever explaining what they mean, but I think that's what it is - feeling driven to commit yourself wholly to working on something for periods of time, all else be damned, followed by rest periods where you're not creating much.

As for the patrons, that's what a general release is for - to unveil it into the world and have the public shower patronage on you if they like it.

I would say I tend to work on the artist schedule - fool around with things and do more communications-intensive tasks during the day, and at night after everyone's gone to sleep, 2-4 hour chunks of intense concentration in which I get more done than entire other days.

I've never found a company that really let me do this, except one that let me come in late and get really productive after everyone's left. I've found it a much better fit.

This does a pretty good job of describing my response to the post too. I think work/life balance is extremely important, but so is enjoying what you do during the day, and continuing to learn about your work and the world at large.

I typically try to work 8 hours a day. I'll work longer during crunch times, sometimes 12-14 hours... but if "crunch time" becomes the new normal I'll abandon ship without embarrassment.

When I'm home, a lot of the time my hobbies are technical: I'll play with personal programming projects, or try out new sysadmin tools, or mess around with a friend's web site. I'll also read books about physics, go fencing, take walks with my wife, play with the cats, go drinking with friends from outside of work, play the trumpet, read ridiculous amounts of science fiction... I know my work/life balance is being impacted when those things are being marginalized.

But I'll keep programming at home, too.

Very much agreed. In fact, I pity someone who works a job so distasteful/uninteresting to them that they need to go on a rant like this manifesto. There's something to be said for leaving work projects at work, I get that. But every day I get inspired and amazed by the stuff people are doing in the world of software. I like programing, I like computers. Maybe I haven't seen Game of Thrones or spent much time in bars over the last 5 years, but I don't see why that's reason to pity me. If you don't love what you do, do something else.

Software is complex. Complex enough that, for most, if you're not passionate enough about it that it creeps into your hobbies and your reading, you probably won't be much good at it. The manifesto seems to acknowledge this, while at the same time implying that they want to be well paid and get lots of time off. In any other industry I am familiar with, these are the perks of being the best.

Perhaps I'm taking it a big far, but to me, the most exciting software projects are closer to art than any other sort of work. I'm not familiar with many artists who view their works as "just a job", and would be surprised if many compelling works were created by people with that kind of mentality. I think it really reaches out to any kind of skilled work, I wouldn't want to be diagnosed by 501 doctor, bring my car to a 501 mechanic or drive my car over a bridge designed by a 501 engineer.

EDIT: removed ending nastyish statement.

I don't understand this manifesto business. Everyone wants, and can get, something different out of a career in software development.

Why do the "501 developers" care that some people would rather program late into the night than go out with people. Likewise, why should anyone care that the they would like to have enough free time to engage in other hobbies.

If I want my job to define who I am, who are you to tell me that it's "wrong"? If you want the free time to do other things, go for it, but don't assume that the lifestyle you want would make everyone happy.

Because the expectations jobs have come in large part form the cultural expectations prevalent within the field. And your job's expectations can make you either unhappy or unemployed.
It seems to me that the manifesto takes a swipe at other developers who "[w]rite a technical blog [...]" (referring to that whole list) as if the way they do things is inferior.

It also appears to make the assumption that the only reason someone would be so involved in their work is that they are sacrificing their personal life to get a promotion or make more money.

>We recognize that your willingness to allow your employment to penetrate deeply into your personal life means that you will inevitably become our supervisor.

This makes it sound like "non-501 developers" just lie back and think of England so they can get a bigger paycheck. Maybe some people just enjoy working longer hours.