People that usually go at home around 5:15 but some times are there longer because they want to finish something they are doing. Or sometimes they go out at 4:58 because they have a non programmimng related date.
People that when are not at their job want to go out with their friends, watch tv, be with their family and not think about programming or see a computer for a full night, even a full week-end, but have spent more than once a full week-end experimenting with that new SDK.
People that love programming but want to take a break every now and then.
People that like to go out at their local bar and have a drink with their (non tech/geek) friends and watch a sport match. Only to meet another tech/geek guy they didn't know and end up talking about how they both hate that programming language all night.
Yes, I'll call this the 515 Manifesto.
I like to program and even do it in my free time. I'll even work longer hours if the problems at work are interesting enough. Still, I have other interests, friends who aren't programmers, family, and if I wasn't able to pursue those things because I was too caught up at work, I'd grow to resent my work, whatever it was.
The programming I do at work I enjoy, but it's also my job so I leave when the working day is done, or a little later if I'm caught up in something particularly interesting or urgent. Then I go home, and maybe I'll work on projects of my own, or I'll do something else that interests me.
It's not about being only into programming because it's a job and it pays well (I've been doing it since I was nine) and it's not about looking down on people who spend their lives doing nothing but. It's also not about not being one of those people who do nothing but and looking down on those who don't. It's about programming, enjoying enjoying what I do, but still having a life outside of work.
515 all the way.
They're not talking about the same thing! We can have both. We shouldn't spend all day in a job that leaves us uninspired, but neither should we let passion (or any driving force) make us sacrifice our physical health or essential relationships. We SHOULD have both.
As a programmer, I do most of the mocked off-hours activities (except the bathroom thing), but as a professional programmer, I happily leave the office in time.
But I definitely know a lot of programmers who don't. Or maybe some of them should be described as "people who program", because they're
- Scientists who use programming to simulate or analyze their data
- Mechanical or electrical engineers who use programming in their work
- Accountants who can't quite make do with Excel and start doing their own programming
- Small business owners who do just a little bit of process automation
- And yes, dedicated programmers who work on deeply boring things like hospital infrastructure software, factory automation, and the like
(Naming a few people I've interacted with personally; totally sure there are more examples.)
I have a hard time imagining any of these people reading the line
Programming is a culture of problem solvers, efficient and creative people, who want to make a change in the world because they realize that nowadays, software is omnipresent and that from this property alone, change CAN happen.
and doing more than rolling their eyes, and turning back to the medical billing software they're working on.
That doesn't mean programming can't be an awesome and artistic endeavor. It can! But it can also be a means to an unrelated end, and carried out by people who don't care one bit about code in and of itself, only about the domain-specific task which is their personal driving force. That doesn't mean they're bad at programming either: these people also go to conferences and collaborate on solutions and think deeply and well about code, but they don't attach any special meaning to it either.
All that means is that there are a lot of different "programming" cultures (or "cultures that program"?). The OP describes one of them, and it's one I'm a part of much of the time. But that doesn't mean I think the others are wrong.
(Incidentally, the "people who program" I described above may or may not be more likely to head home at 5, depending on their local culture.)
Edit: fix formatting, slight re-phrase
As a side note, I have found that setting a hard cut off helps you to push away irrelevant chit chatting, youtube, emails and what not and focussing on the job in order to get it done. While obviously I have had ideas in the shower and that helps my next day become more productive, I don't see the need to immediately act on that and go open up my computer and write code.
Because people with a life outside their official job start demanding things like shorter hours or overtime pay, and those cost money.
I had passion for both the domain (although not my own) and code.
There is passion in everything, even in billing or accounting. I was able to drive myself to love electrical engineering, and although now I'm back in Web, I still talk about EE with a spark in my eyes.
I'm not a 501 programmer for sure. I agree, that there is a culture as you describe it, but I strongly disagree, that every programmer somehow needs to be part of this culture. I have worked with many 501 programmers and often enough they do a good job and take away a lot of work during their office hours (especially the boring kind of work). Actually I think most everyday programmers are of this kind.
The part about pitying wasn't very smart and (as you say), adding a small piece of "respect" doesn't really help it very much. But to care about it, my first step would have to be to take this whole manifesto thing seriously, which I can't do. Most 501 I know wouldn't care about it too. Especially since it doesn't say much in the first place.
Is drinking an act or a culture? http://en.wikipedia.org/wiki/Drinking_culture
Drinking can even become a bad habit. Or someone can become an alcoholic and could still see it as a culture (read Charles Bukowski.)
A culture in any case is something very artificial and not very well defined in most cases. Everybody can simply declare to be part of a certain culture or redefine his own culture at any point. So now there is a 501 culture...
501's passion is to get back home. I can respect that, but it has nothing to do with programming.
As I've noted, imagine for a moment that they're talking about fishing. Their points remain valid to what they're seeking.
However many link it as a manifesto of programmers.
Its the same as publishing "Do no harm" as a manifesto, and it has nothing to do with programming, nonetheless a programmers culture.
I don't think so.
DHH of Rails fame in particular claims to only code 4 hours a day. I think most folks on here would recognize him as a passionate coder.
I think its more about how you approach the craft than how many hours you put into it a day.
Its also a bit presumptive to assume that because someone is leaving at 5:01 that they won't put energy into coding later. People have kids that need picking up or train or carpool schedules. Stop watching the clock. The clock is just a number on the wall. The office is just a building.
Let's all just agree to "get shit done". If you're working with someone who doesn't "get shit done" fire them, have your boss fire them... get rid of them. However, let's not use their time in the office as that metric.
New mantra for our "culture": Get Shit Done or GTFO.
Everything else distracts from productivity.
The world is not black or white, being a 501 programmer is not a binary answer, it is an answer with many subtle shades of gray.
Instagram didn't change the world, but it certainly did make 12 people very rich. Most people who work on a startup will not become stupidly rich, changing the world is something the people who own the stock tell people dumb enough to believe it. Programming as a culture is yet one more of those things. If it was a culture you would not get paid to do it, just like no one gets paid to be Italian.
501 programmers are akin to mercenaries, we believe in the almighty dollar and don't think that the King or country is something worth dying for, and especially not stock options. We go home at 5:01 because we aren't being paid to stay any longer, and we know that the vast majority of the benefits of staying past 5:01 will accrue to those who hold stock rather than to those who stay past 5:01. (If staying past 5:01 is even productive, which many studies think is not)
The point is the subtle-looking bash at open source, and people that hold it as a passion.
Sure, you shouldn't spend your life making a certain someone's dream come true. And if you do, you should be sure you want to make that dream come true.
But you can spend it doing something you love.
Programming is not like that. Being a workaholic programmer should be a personal choice and not a culture. I think that's all the 501 guy is trying to say.
There is waste of electricity the more time you waste on writing bad code. This wastes electricity and the materials used to generate it. Even though this is really small and you do not notice it anywhere else except in your electricity invoice.
Another material waste is to build hardware and software can not be used without hardware. Building computer parts does create waste when the parts are created this same happens when you saw a wood plank. Even if you use the plank you cut you have wasted the amount of wood your saw cut out. Basically sawdust is in this case the waste, but I am not certain how much building hardware will create dust, I think it's really minimal, but it's still waste of materials.
I wasted quite a bit of electricity by writing this meaningless post.
I only ask because I feel like I do it pretty well:
1) I am newly married and loving that new part of my life
2) I work out regularly with my wife and friends
3) I spend plenty of quality time with other friends
4) My brain is never really not cranking on whatever I've been fighting to code at work
5) When I have a brilliant/dumb idea and I have time/access to try it I'll log in to give it a whirl.
6) I read about programming/C.S. for fun (because I find it fascinating).
I find that most everything (regardless of what it is) is best in moderation, even things you're passionate about. Basically: why is this so polarizing? I see it as a false dichotomy.
Yet both sides don't seem to understand that they need to respect the other side themself too if they want to get (and deserve) respect.
There are many different ways to live a life. I respect each one who does what he feels is right for him, even when I am sure something different is right for myself. Well, maybe unless they pity me for what I do or claim I am not cultivated or similar.
I refuse to work in an industry that demands that level of constant dedication and availability for work as non-critical to life as programming.
> We (programmers) are a culture now, and usually the passionate ones are the ones that are being mocked.
nonsense. the tear-jerking displays of ninja butthurt i've seen from certain quarters since i wrote the manifesto should leave no-one in any doubt just who is, and who isn't, accustomed to being mocked.
The 501 Manifesto makes some good points but using terms like Craft and being rigid about 9-5 & days a week, makes me think that they havent made the trade up from blue collar shop floor worker attitudes. I am quite strict with my time but ill do what hours I consider are required to ge the job done.
It may be different in the USA but in the UK there are huge social and class implications in being a professional and all that entails.
As a "profession" collectivly we need to stamp out any attempt to devalue our jobs by conflating them with lower status and lower pay "Craft" ones.