This may seem like a joke, but the answer says a lot about an organization. For example, last time I was at the Wikimedia Foundation offices, this sign was above the sink:
http://commons.wikimedia.org/wiki/File:These_dishes_may_requ...
This may seem like a joke, but the answer says a lot about an organization. For example, last time I was at the Wikimedia Foundation offices, this sign was above the sink:
http://commons.wikimedia.org/wiki/File:These_dishes_may_requ...
Since you have to actually wash the cup after you drink from it, there were long queues before the kitchen sinks.
People started reducing the number of cups of coffee they drink :) and instead started dozing off (not joking)
People started congregating around the pantry or kitchen because if you wander off with your cup around the office, you still have to come back to kitchen to clean it up.
I used to wonder the whole 'go green' thing at the time because anyway the paper cups are going to be recycled :)
There is a dishwasher. It's five seconds to rinse your dish and put it away.
At the WMF, there is someone whose job it is to make sure the kitchens are clean and the dishwasher gets run, but that's only effective because most people exercise common sense.
I'm just not sure how that scales for tasks that require more time. If there is some task that requires 20 minutes, and the company is big enough, do the answers change or do they not? Maybe it is better to hire a dedicated person for the office to do that than to make everyone use 20 minutes of their time every day on such task?
http://www.youtube.com/watch?v=JGfXiIXTpE0
More seriously, I think that allegedly financial calculation often ends up covering up for laziness, arrogance, and hierarchies of social class. Make sure the code works? That's QA's job. Make sure it runs well? Oh, that's ops; file a ticket. Wash my own dishes? Hey, office manager, get on that. Oh, and and honey, make me some coffee while you're at it.
I know some companies work that way, but I'd never want to work at one.
Testing is a little different: most professional software engineers consider testing an intrinsic part of software engineering, and so would never say, "that's QA's job". (But even then, there are some especially hairy testing problems that would benefit from a specialist's touch.)
Anyway, I think you're conflating dysfunctional organizations with specialization. In your example, developers say "that's operations' job" because they are lazy and don't care about maintaining a sane production environment. In a functional organization, they'll say the same thing, but they'll mean, "that's operations' job because they will do a better job than me". It sounds the same, but it means something entirely different.
(The same goes for washing dishes. I could wash my own dishes, but I would use a lot of water. If we batch up all the dishes in a 3000-person company each day and wash them in an industrial dishwasher, it will take less aggregate time and use much less water and energy. So while washing your own dishes may be symbolic of teamwork, it's actually a dumb thing to do.)
I know in my work, I've found that doing a variety of things, including "grunt work" leads many times to great works of creativity and discoveries of new ways to be more efficient. If you have a Ph.D. sweeping floors, you can bet they're going to take a stab at making the entire "floor sweeping" problem disappear. Not so much for a professional janitor.
Putting your head down and focusing is great when you have a mountain of obvious work to do. But that's not always what the business needs.
The high-end design firm IDEO specifically looks for "T-shaped people", by which they mean people who are deep in one area but have a broad set of skills outside their specialty. They believe that creative work is essentially collaborative, and that you can't be a great collaborator without a good understanding of what people are up to and the ability to step in and take a swing at anything that comes up, expert or not.
Another reason to avoid specialization comes, I'm told, from queuing theory. Unless your workload is perfectly regular, specialization leads to bottlenecking and global underutilization.
I'd also consider how Toyota, the world's #1 car company, looks at this. They do an immense amount of crosstraining, and line workers are specifically discouraged from specializing too much. Much of their efficiency comes from bottom-up innovation, which you don't get if people are focused only on their one little piece of the problem. (For more on this in particular, Toyota Kata is a great book.)
I drink 10-15 cups of whatever a day. The cups get tossed in the trash when empty, or left ..somewhere.. when I get an idea.
But stop me every time my cup is empty, make me break my train of thought and go fool with soap and water and a breakable cup? Likely the castle comes crashing down, and 40 minutes to rebuild it.
Might work for some, but definitely not for me. Wash your own cup; but leave me alone.
People are skilled economic resources, but they are also status-seeking monkeys that were mainly evolved for foraging, fucking, and fighting. If you don't keep that in mind when setting up an organization, there are risks. I'm asking how Valve handles them.
Regarding dishes, I'm not saying that one has to pick suboptimal solutions just for the sake of symbolism. Google, for example, has industrial dishwashers. But still, everybody picks up their trays, sorts the compost, recyclables, and landfill into proper bins, puts the utensils in the bins for used silverware, and then slots the tray and dishes into a conveyor that feeds into the kitchen. Could Google hire busboys? Sure. But they didn't, and I'd bet it's not an accident.
Maybe there's some marginal value in saving highly paid employees from doing menial work, but there's also a cost in terms of culture when you treat people like they're better than anyone else.
I was selling work of and inexperienced tea maker or dishwasher or cleaner or delivery man to my employer at hourly rate of a skilled programmer. One of the best deals I've ever done albeit short one.
Basic hygiene/workspace maintenance is everyone's job. There are people who specialize, of course (the cleaning staff; if you have them, developers aren't scrubbing toilets and steam cleaning carpets, of course), but it takes literally 5 seconds to rinse a dish and put it in the dishwasher, the act of which improves the entire workspace and contributes to overall order in the environment. If you don't have a dishwasher, it might take upwards of 30 seconds to wash your plate, dry it, and put it away.
Developers are actually in a unique position where they can do their job while doing other things; much of a developer's job involves thinking through problems, and menial physical tasks are actually a pretty great way to get your brain engaged on the problems.
This is a practical salary versus return on work done calculation, not a human worth judgement.
I strongly believe that a lot of corporate idiocy is driven by hidden status games. E.g., the way that managers often have status in proportion to the size of budget or staff, which gives an incentive away from maximum efficiency.
Unconventional approaches to management push against this. E.g., the notion of servant leadership, or Toyota's explicit focus on management's responsibility to support the people doing the real work. Valve presumably has something similar.
Both are ways of arguing that you should be exempt from certain tasks that the rest of society / your group is not.
It takes literally 10 seconds to wash (not just rinse, but entirely wash) a bowl and a spoon. Nothing has to stay in the sink - just wash things right when you're done using them.
Anyhow on point, takes 10s (or maybe 30) to wash ur dish and leave it in the sink xD Takes 5-10min if you leave it and wash it the next day.
This works if your coworkers are happy to leave you alone to think. I often pace the halls at work while I think, but the moment I step into the breakroom I get greeted with "Hi Michael how are you so nice to see you how was your weekend" which makes the exercise kind of pointless.
Not that I have anything necessarily against small talk, but the time spent in the breakroom is unproductive time.
So you may have saved some time dropping your stuff in the sink, but now you have another developer who's spending the identical amount of time cleaning up...but in addition he's pissed off as well. Sounds like a positive outcome to me.
Are we engineers or high schoolers these days?
If you can reliably find fresh coffee, morale is good. Low or now coffee, things are amiss.
The secret (iirc) was a wee bit of salt in the grounds, and regularly cleaning out the works with vinegar.
(I've personally complained about how some of the espresso tampers are not heavy enough, and how the Barista station closes at 3:55 instead of 4:00. If you give a moose a muffin...)
Coffee is hard :)