
I Guess I'm Not A 501 Developer - shimms
http://adit.io/posts/2012-04-18-I_guess_Im_not_a_501_Developer.html
======
bbwharris
I think there is a lot of delusion going on here.

In today's modern world, we are intentionally ignoring the rights that were
given to us.

8 hours a day was fought for. 40 hours a week was fought for. If you are
expected to exceed these limits without compensation, you are being ripped
off. You have limited time in this life.

As a developer, you create tremendous value in this world. If you didn't you
couldn't demand the salaries that you demand. If it was easy, then the
business guys would be learning it and doing it for themselves.

It's a modern skill required by modern business. You should not feel like you
are forced to spend every waking moment eating, drinking and sleeping code.

In my personal experiences I have found that I have to force myself to step
away. After a few hours the wheels stop spinning, but when I come back I am
always excited to work on something. This is far more desirable than feeling
the dread that comes from doing something non stop.

Balance is extremely important, I do not understand the opposing viewpoint
that we should all be code robots.

~~~
fleitz
It wasn't fought for, it was given to us in fear that we'd negotiate something
better. Most people rip themselves off by giving up labour for money, it's a
poor mans game, especially in software. Very few people become wealthy playing
this game.

Coding for salary is for the most part stupid because you're producing a
capital good, it's much better to retain a portion of the capital and have the
capital produce your cash flow.

~~~
AkThhhpppt
No, the 40 hour week was fought for - before there was ever a software
industry. The 8 hour day and the weekend are union accomplishments.

------
robomartin
Interesting. In my view of the world is that there are no sick days, no
personal days, no vacation days and no holidays. Fuck all that.

As long as you own and are responsible for what you are supposed to be doing
and deliver on the commitments made you are free to manage your time as you
see fit. In reality, it's a team decision and not the decision of the boss
(me, in this case). If someone wants to go out of town to see a concert or
take the kids to Disneyland for a few days, we talk about it. More often than
not there are no issues and the answer is "send pictures". Sometimes the
answer is "OK, but could you take the laptop and see if you can finish this
little chunk of code". When it can't happen it is obvious to everyone.

Want to take a month off to go down to Argentina? Let's figure out how to do
it. You might have to drag along the laptop and keep up with some stuff, but
there are probably few reasons to say no. Can I come?

The same applies to sick days or "personal" days (who came up with that
term?). You are sick? Please go to the doctor and stay home? Need to go take
care of that speeding ticket? Take the day if you have to.

This also applies to work hours. Sometimes you have to put in the time to get
something done. When discussed as a team these instanced become self-evident.

I said in another post that I am no stranger to 18 hour days. I hate doing it,
but sometimes you have to. In all cases this kind of thing must be fully
justified. It can't be the norm. If it is, something is seriously wrong or you
need more people.

9 to 5 programmers have one guarantee: They will work 9 to 5 every day and
will be held to strict rules when it comes to vacation, personal and sick
days. If you want to work a strict 9 to 5 schedule I have to treat you
differently. I have to treat you by the letter of the law. So, while the
guy/gal in the other plan is in Argentina having fun and doing some coding,
the 501'er will be clocking in and out and accounting for meal time and
vacation days. Yuck!

I, personally, hate that kind of work accounting. Not for me. To each his/her
own.

~~~
bluesnowmonkey
> If someone wants to go out of town to see a concert or take the kids to
> Disneyland for a few days, we talk about it.

I don't want to talk about it. If I'm going on vacation, I probably _need_
that vacation. I would be pretty offended by coworkers (especially managers!)
prying into the details of where I'm going, or trying to have a conversation
about whether I should bring a laptop. _Fuck that sincerely._

Personal time wins, and work can wait, always. I don't work at NASA. We're not
going to miss a close approach of Mars if we ship a couple of days later.

Yeah I'm probably a 501 developer.

~~~
Xylakant
> I don't want to talk about it. If I'm going on vacation, I probably need
> that vacation.

You probably need it. You still need to talk about it unless you are the boss
- and that's not unique to the IT industry. There's other employees that might
need a vacation, that might have a sick child or other things to take care off
and it's just a basic fact of corporate life that it's mostly impossible that
the whole company goes on vacation at the same time. So the manager must
balance on who needs the vacation most, who had the first pick last time etc.
So you either talk about that and maybe accept a compromise or you don't go.
It's as simple as that.

> Personal time wins, and work can wait, always.

Think: Small company, important Customer who already has TV adverts on air
with the release date. Project hits a roadblock no one anticipated, is a
couple of days late. You can still make it if you put in extra hours, but
won't make it if you prefer your personal time. Customer threatens to sue for
a sum that will make the company go bust. What are you going to do? Stick to
"work can wait" and look for a new job, make all your colleagues look for a
new job?

------
kevinalexbrown
The workaholic v just-a-job tension seems to stem from the fact that it's
difficult, in a team environment, to hire someone for the value added. If you
could, then the workaholics could work more, learn more, and get paid more,
whatever, and the just-a-jobbers could just work, and everyone would get paid
by what they contribute.

To borrow the ideal-world-artisan metaphor, if I want a table made by a
carpenter, I don't care how long the carpenter spent making the table, and I
(ultimately) don't care if it's just a job to her. I care whether my total
investment of waiting and money is worth the table she makes.

Problems arise when it's much easier to measure 'passion' and time spent
working than value added. These are probably correlated within reasonable
bounds, just like total words in a comment and value added to a discussion are
often correlated, but I don't upvote on length. It's annoying to see someone
getting more respect than you, but turning out crappier work, just because
they stay late and fit the cultural bill.

But the flipside is that if time spent and value added are correlated (and I
suppose that's very loose across persons, and even within persons), then pay,
and perhaps even personal respect for someone's craft, will be tied to that.

501ers recognize that it will probably result in having less opportunities:

 _We recognize that your willingness to allow your employment to penetrate
deeply into your personal life means that you will inevitably become our
supervisor. We're cool with this._

I think that's a good attitude, as long as it's acknowledged that without
putting in the extra hours to learn, grow, or ship, you might not grow over
time and earn the same respect in the workplace[1], and you might not get paid
the same.

[1] Respect as a person, of course, should be independent of work, and respect
for your craft should probably be based on what you can do, not how long you
spend doing it. My closest friends are extremely talented, and also more on
the just-a-job end. This doesn't change how I feel about them at all. It's
their life, after all.

~~~
ChrisLTD
_"...as long as it's acknowledged that without putting in the extra hours to
learn, grow, or ship..."_

Something is wrong with a job that doesn't fit those things within a normal 40
hour work week.

~~~
ShaunK
I agree with this. There are certainly situations where more than 40 hours of
week are a necessity, but those situations should typically be temporary for
the majority of employees. If you are in an organization where meeting your
goals requires more than 40 hours a week, week in and week out, then I would
say there's probably issues that go beyond your work ethic and personal
boundaries.

~~~
tonyarkles
It really depends on what your goals are and who is setting them.

If your employer is expecting you to work >40hr/week to accomplish _their_
goals, and that violates your personal boundaries and goals (e.g. I want to
make sure I'm home for supper with my family every night), then there IS a
problem. It's not necessarily your employer's problem, and it's not
necessarily your problem, but there's a definite mismatch between expectations
that needs to be addressed.

If your goal is to become an exceptionally good developer, and your employer
is expecting you to be spending all of the 40hr/wk doing work (instead of
learning), then you've got the same problem. There's a mismatch of
expectations. You're expecting some portion of your time during the week to be
on self-improvement, and your employer is not.

But, there are equally situations here where there isn't a problem at all!

If your employer is expecting >40hr/wk, all working, and you're more than
happy to collect the overtime, then that's totally fine! There's a match!

Likewise, if you're a decent developer (I'm hesitant to use the word
"average", only because North American society tends to cast that word in a
negative light), and you're happy working 40hr/wk and staying at roughly the
same level, then where's the problem? You're happy where you are, your
employer is happy with the work you're doing, all is well.

And, if you're passionate developer whose goal is to become exceptional, and
you go home immediately after work and hack away on open source stuff/your own
projects/whatever, then that's fine too!

There's a few really important things that everyone should be asking:

* What are my personal goals? What are my priorities? * Are my current employer's expectations well-matched to my own personal goals? * If not, what do I do about it?

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

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

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

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

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

~~~
bmelton
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. :'(

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

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

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

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

~~~
debacle
I don't get the 416 reference?

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

~~~
DanI-S
That's the one - although 413 makes a lot of sense too :)

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

~~~
jack-r-abbit
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.

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

------
StavrosK
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?

------
mtoddh
I'm guessing that most of the people who see long hours as a badge of honor
are salaried employees or people who manage salaried employees. One thing I
noticed when I switched over to contract work is that once a company has to
pay for each hour you work, they are a little less enthusiastic about you
putting in long hours. In fact, some of the contracts I was on had caps on the
total number of hours you were allowed to bill. Long hours are seen as a sign
of passion when companies don't have to pay extra for that time, and seen as a
sign of poor time management when they do.

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

~~~
ef4
> 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. ;-)

~~~
felideon
You could be a Leonardo da Vinci, though.

~~~
batista
Ha, we had the same thought!

------
phillmv
Nothing saddens me more than the really smart developer who has no other
interests. How a person can know one subject to such endless detail yet be
clueless about the world around them.

~~~
scarmig
Indeed. One might argue it even stunts the potential for greatness: after all,
you best can solve problems you've directly experienced.

That might be part of the reason we have thousands of tools to increase
programmer productivity, but there are piles of money to be made by providing
a simple MVP in a market that's totally untouched.

------
davidw
Looks like semicolons had their run and it's time for something else.

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

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

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

~~~
adestefan
_"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.

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

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

~~~
angersock
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?

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

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

~~~
ejp
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. :) )

~~~
angersock
I think I agree with you--and I don't really have an answer either. It's hard
business all around. :(

------
ken
The big problem I see with the "501 manifesto" is that it assumes there is
just one thing called "programming".

The kind of programming that was fun for me when I was young is completely
different than the kind of programming that employers pay for today.

Why do you think people are spending their free time on Github? They miss
programming for fun so much they'll do it for free.

~~~
swlkr
I totally agree with this. Programming for work and programming for myself are
two totally different things. Maybe we're all 501ers when it comes to only
wanting to give a certain amount of time to your employer.

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

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

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

~~~
nooop
> 35day/year vacations (not to mention the ~20 days of public holidays. Yay
> France!)

I wish it was true; but you are just bullshitting.

~~~
babarock
I wish it was false; I really wish I was bullshitting.

[http://www.travail-emploi-sante.gouv.fr/informations-
pratiqu...](http://www.travail-emploi-sante.gouv.fr/informations-
pratiques,89/fiches-pratiques,91/conges-et-absences-du-salarie,114/les-conges-
payes,1035.html)

------
kamaal
What I don't like about this thinking is to consider anything apart from
'going to the moon' as a job not worth doing.

Everybody has a world of his own. A friend of mine comes from a family of
farmers. Back here in Bangalore, we would drive down to his place during our
engineering college years. And we would spent great deal of time in fields and
a small hill close to his place. Now you really must hang out with those
farmers. Try working in the field for a couple of hours and experience a cool
breeze blowing through your hair, drying you sweat. Try eating a banana or a
guava straight plucked from the tree, try roasting a chicken on a chicken
farm. Try climbing a small hill and then rest on it while sleeping and staring
right into the sky watching eagles. Try diving in to a the lake near the
fields. Do you know how much fun that is? None of that is rocket science but
it feels like heaven when you are experiencing it.

These days I try to hang out with cab drivers who drive me back home in the
night. I buy them a cup of tea or coffee in the night. And it awesome chatting
with them and listening to their experiences. Its crazy how much fun they
have.

Some of the words happiest people are the ones who work during the day in the
sun smelling the sweat essence of mud.

Passion and fun can be found even in the smallest of the things we do in life.
And people do that all the time.

The guide to a happy life is to really focus on _how you do things_ rather
than _What things you do_.

------
jack-r-abbit
If "501 developer" is being used in a derogatory way, then I am not one. But
if we're talking about devs that have "hard stop" point for themselves each
day then I am. I like to leave shortly after 5 because I like to have dinner
with my family. This is actually an agreement that my wife and I made when I
switched jobs and she went back to work (outside the home) after kid #3... we
would both do what we could to be home by 6:30 every night. And for the most
part we make that happen. Of course stuff happens but we would rather that be
the exception than the norm. And neither of us sees a problem with that
attitude. I enjoy programming a great deal. I am a problem solver. It bugs me
internally when I have to leave a problem unsolved for the next day.

But my take on the whole situation can be summed up like this: I work from
home 2 days a week and often times when it is approaching dinner time and I'm
still in the office, my wife will come in and ask something like "how much
work do you have left?". Well, the most accurate answer is "a lot... weeks"
but I obviously can't finish it all tonight. I'll have to stop at some point
and there will still be work unfinished. Even if I worked until midnight...
there would still be work left. So if I've put in 10 productive hours... why
is stopping at 5 any more significant than stopping at 6? or 10?

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

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

------
bcrescimanno
Why does it always have to be one or the other? Why do we feel the need to
assign labels to everything?

And why in the holy hell are some programmers so damn single-minded that they
can't accept that others who are passionate about programming can _also_ be
passionate about other things. I'm passionate about my job and consider myself
among the extremely lucky few who gets to do what I love for a living (and, at
the moment, in a place I love doing it making for a great combo). But I'm more
passionate about my family at home. I'm also passionate about the music,
movies, games, and other arts.

Devoting yourself to one thing is not being passionate about it--it's having a
single-minded focus and lacking passion about anything else. Can we please
stop confusing those points?

------
jiggy2011
Is this a binary scale of either/or?

I am on different sides of the spectrum at different times. I don't mind my
programming work but I wouldn't say I was "passionate" about it. 90% of my
work is not solving anything technically very interesting. More like fixing up
user error , solving minor bugs and making incremental improvements to things.

If I want to do some extra programming outside of work I would prefer to learn
some OpenGL or some new paradigm like functional programming than to just do
more of the same. Of course plenty of the time once I am finished with working
I would prefer to just get on and do something else.

------
darrikmazey
This labelling (501 or !501) is pointless and arbitrary. I'm a self-employed
developer with four children. Some days I work until 11p or even as late as
1a. Some days I quit at 2p and take in a child's soccer game. This isn't a
label as much as a choice every day. Both choices come at a cost. Big deal.
All choices come at a cost. If I choose family over work, in all likelihood
the perception of my dedication will suffer. Contrapositively, if I choose
work over family, my relationships will need repair. The labels are
meaningless, and perpetually choosing one side is simple indicative of a life
out-of-balance. This is all just a side-effect of scarcity of time, and the
labelling sounds like an attempt on both sides to justify choices. Ultimately,
if I want to be done working at 5:01p (or any other time), then I am, and I
take responsibility for those choices and the potential damage to my career.
If I want to work until midnight, then I do, and I take responsibility for
that choice and the potential damage to my relationships or the hinderance of
my pursuit of other goals. Call it whatever you like. Why do we need a
manifesto to categorize daily personal choices?

------
jmsduran
After reading the blog post, I actually agree more with the 501 Developer
manifesto. One year after graduating from college and landing my first
professional job, I discovered that although I love programming, I love life a
lot more. For me personally, it's all about maintaining a balance between my
career and life.

In the end, no one dies wishing they worked more:

> "Write a technical blog"

I found that I enjoy writing a lot more when it is not about technical stuff.
The few technical blog posts I write serve more as a mental bookmark for
myself, that I can reference back to in the future.

> "Contribute to open source projects"

Honestly, I have yet to find an open source project that I feel passionate
enough about to contribute to regularly outside of work. Until then, I'll
continue focusing on my personal projects.

> "Attend user groups in your spare time"

I would rather spend time with friends & co-workers going out to happy hour or
watching a good movie rather than discussing the frameworks/languages I use on
a daily basis.

> "Mostly only read books about coding and productivity"

For the longest time, all I did was read technical selections on Safari Books
Online. It got pretty monotonous after a while. I still read some technical
books, but I would pick a great fantasy/fiction novel over a book on cross-
browser CSS hacks any day.

> "Push to GitHub while sitting on the toilet"

That's insanitary IMO.

> "Are committed to maximum awesomeness at all times, or would have us believe
> it"

I'm not that awesome. Being part of the HN community has been an incredibly
humbling and educational experience.

------
pnathan
I've worked in those job environments before at other places, e.g., fast food
joints, and there's no joy for me in working in an environment where everyone
rushes home as quick as they can to get back to their "real life".

I would far prefer to work with someone who likes his job and is okay with
working over a bit, and has a github for personal code, and maybe has a tech
blog, and maybe contributes to open source projects. Someone who has a
personal desire to learn more overall, not just at work.

To paraphrase something my dad, a highly skilled carpenter, once said:
"Knowledge is our edge". If you are disdaining knowing more (in this context,
taking the time (at work or not) to know more), then you're disdaining your
edge in your profession. And that edge/lack of it accumulates.

If you hate your job and your profession so much you can't wait for 5:01 to
roll around so you can escape your workplace and software, I don't want to
work with you.

I code at home. I'm proud of this. And I want to work with people who
understand that.

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

------
entropyneur
That manifesto sounded really bitter. Nobody's judging you for having no
passion for programming. But the thing is programming is a craft many people
are passionate about and those people are an order of magnitude more
productive than you. Sure, if you are willing to work for what an average
"just a job" pays, welcome aboard. Otherwise I'm better off hiring someone who
gives a damn.

But the comments here perpetuating the fallacy that giving a damn somehow
means putting in crazy hours offend me even more than the manifesto. Sure,
it's common among the best programmers to live at work because they love their
job, but it actually makes them less productive, not more. There's _nothing_
wrong with working nine to five. It's not a manifestation of lack of passion.
In fact it's the most rational thing to do and it's in your and your
employer's best interest.

~~~
brazzy
> But the thing is programming is a craft many people are passionate about and
> those people are an order of magnitude more productive than you.

No. No, they're not. Some of them, however, are an order of magnitude more
pretentious than you.

------
jbranchaud
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?

~~~
chrisdinn
That's why the next sentence starts with "All kidding aside..."

------
__abc
I don't think this should focus on "are they good developers or not". That's
independent and "case-by-case" at the individual level. I don't think we can
characterize that entier portion of the workforce one way or the other. This
is more about bi-directional expectations between employee and employer.

Additionally, "passion" for the specific things you are building vs "passion
for doing a great job" are also independent. They can converge (awesome for
you) and sometimes diverge (welcome to life). More importantly, you will
experience all three scenarios at different times throughout your career.

In regards to the general relationship I keep with my employees, I personally
execute and support the "did the shit that needed to get done, get done"
approach. Not sweating when someone logged on for the day, when they logged
off, where they worked from, did they have beer during the day (my preferred
answer is YES). Thats the trade-off for when we need to work late to sometimes
get the necessary shit, done.

My parents prefer a different environment. They have a specific time they show
up to work, a specific amount of allotted time for lunch and breaks, and a
specific time when they leave. They different, it's not their problem when
shit didn't get done. Plain and simple. There is no flexibility and that's the
trade-off.

Each has their pro's and their con's and one isn't necessarily "better" than
the other. What do "you" want and works best for "you".

What I'm seeing emerge in these discussions (on average) is an arrogant
demanding of a blended approach entirely in favor of the the employee. They
want to show up generally around nine, take breaks, take lunch whenever, play
some foosball. All the "benefits" and be out the door at 5:01 PM with none of
the "cons". Additionally, what gets done, gets done. It's not their problem,
nor fault, in any capacity if it doesn't get done by 501. Someone project
managed wrong, someone did scope properly, etc.

Maybe it's a new world, at this is becoming the norm, however, it frustrates
me.

------
joshaidan
I'm not really sure if this has to be so black or white--you love what you do,
or you don't--for most people it's probably pretty grey.

One thing I'll add to the discussion, for myself I've stopped doing contract
work in my spare time because I feel it just takes away from my motivation and
causes more stress. Instead, I prefer working on my own projects where I have
more control over the design and implementation decisions, as well, I choose
projects related to stuff that interests me. And by interest I don't
necessarily mean computer science related interests, I mean other things like
mental health, depression, etc. and using computer science to solve problems
related to those fields.

It's all about integrating your life and interests I guess.

------
chris_wot
Agreed. Keep your pity.

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

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

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

------
nickmain
The role of the 501 Developer is something that we should be striving to
automate or abstract away.

I think that the craft of solving real world problems with computers has
reached a plateau, through lack of the right tools, programming languages,
methodologies, sociological systems, etc.

That 501 Developers are needed to intermediate between the technology and the
solution stakeholders or customers seems like an indicator of stagnation or
inefficiency in the current approach to software development.

------
overgryphon
Why is obsessive and 501 the only options? Anyone else feel in the middle?

Judging people's work by the hours they keep, or how they choose to spend the
rest of their time seems immature and shallow. 40 hours per week is plenty to
fulfill job responsibilities (and more), advance passion, grow technical
skill, and love what you do. The pace may be a bit slower than 60-80 hours a
week, but I find 40-50 more sustainable.

Working longer hours does not equal more done, more passion, or more skill.

------
SoftwareMaven
I like programming, but it is far from my passion. My passion is making useful
stuff people like to use (and preferably getting paid for it :). I prefer it
this way, because it means I can keep my passion when I have to spend a week
writing technical documentation or helping the sales team figure out how to
turn their laptops on. If it gets us closer to people using the product, I'm
good with it.

------
jimmyjazz14
Its probably a bad idea to attach labels to ones-self. Everyone is different
and thats fine.

In my personal experience I have found passion does not equal skill, skill
does not equal passion and working long hours does not equal getting things
done.

One thing I will say though is that it is important to get outside ones
comfort zone; for us programmer types this probably means disconnecting and
finding interest outside technology.

------
ryanchamp_ICE
The funny thing about the manifesto that it is proclaiming a particular point
of view (while neglecting the fact that most things on the list aren't
mutually exclusive), while condemning another.

Dude, it's a personal choice for you to be okay with being average, but don't
try condemn people who want to excel. I know that mediocrity loves company but
geez.

------
jayferd
Leaving at 5 has nothing to do with how "passionate" you are. I write better
code when I go slowly and have time to be a human being. Even if it were my
company, and I was extremely passionate about the product, I would still set
these boundaries, because that's what I believe is vital to my mental health.

------
Bharath1234
Nowadays everyone adding "Adjectives" behind their name for being a Programmer
. like this "501" !! You code to live or to get pleasure.That is totally your
choice ! But don't pity others for not travelling in your way.I hope they do
have certain justifications .

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

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

~~~
ChrisLTD
And you'd probably be less productive than someone who found the time to relax
and recharge their energy.

------
BlaineLight
Is this related? It's an article I wrote on how WePay hires it's sales team:
<http://news.ycombinator.com/item?id=3864412>

------
evanlong
Adit has never seen Return of the Jedi. No credibility.

------
pradocchia
I am not a 501 developer, but I work with a very good one, and he is an
invaluable source of stability and perspective.

------
ferrouswheel
I read this as a "501 Not Implemented" developer. Which doesn't really seem
like a good thing to shout to everyone.

------
nlz1
Wow. Author missed the point completely.

------
mletterle
I agree that a job shouldn't define who you are.. but I think what you choose
as your profession says a lot.

------
shimm3r
100% agreed to this

------
batista
Someone commented this on the original post:

> _People who work on something they aren't passionate about deserve neither,
> and their sacrifice will go unnoticed._

To which I reply:

That's an extremely arrogant, insulting and self-entitled notion.

You, sir, ONLY get to do what you "love" because millions of people every
after day do what they don't love but have to do anyway (in order to pay for
their food and family). People from the guys that work in mines to gather
materials to make your computer internals, to guys that transport gas and flip
switches at energy plants so that you can have electricity, to the guy that
flips your burgers when you go to the fast food joint across the street, to
the guy that cleans your offices. Not "loving your job" has nothing to do with
an aversion to "hard work" (people work far more hours and intensely in shit
jobs, because they have to), or not taking pride in one's work (there are
people that DO take pride in doing a good job at cleaning streets from garbage
for example --that doesn't mean the love their job).

It's a silly American notion that every job can be (or worse, has to be) the
worker's "passion" --and only few get to have the privilege of that notion,
and then again only after they have a lot of lucky breaks.

~~~
shadowfiend
I'd go one step further and say that it's likely many of them _are_ working on
something they're passionate about:

Their families.

~~~
peterbessman
I would up-vote this one thousand times over if I could.

Blazing ignorance of the most basic verisimilitudes of the human condition is
one of the more annoying characteristics of hacker culture.

~~~
kirubakaran
I wouldn't characterize 'hacker culture' like that. Vocal minority is the
blight of all groups / cultures.

------
zinbiel
I guess you aren't. Alright :)

------
macarthy12
They were my thoughts too

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

