That's a question I hear often, or another form of it: "How do you get people to do things that nobody wants to do?" I usually answer this with two questions:
1. If everyone deeply cares about the culture and longevity of the company (which is a prerequisite), and nobody wants to do it, does it really need to get done? The answer is often no. But if the answer is yes…
2. How do you turn that into a celebrated task where everyone wants to do it?
One example of this at GitHub is support. Developers hate doing support. But we have decided that it is absolutely vital to our company to both provide good support and to have developers involved in it so we are constantly getting feedback about what is working and what is not.
So we created the "King of Developers", which is a position that is held by a developer for one week at a time, in which that developer's primary responsibility is support. Along with that comes a pimped out desk at our HQ in San Francisco and tons of street cred. We even have a ridiculous internal website to go along with it (http://dribbble.com/shots/554836-GitHub-King-of-Developers). There are currently 9 developers signed up waiting to be the King.
Thanks for the detailed response. At my current work place everyone rotates through support as well (dev, sales, ops), and I agree with you: the only way to make these kinds of things work is with an exceptionally strong culture, and not compromising.
We have the advantage of using GitHub to build GitHub (http://zachholman.com/talk/how-github-uses-github-to-build-g...), so we all know what needs worked on. There is certainly some vision casting from a few core people, but everyone takes responsibility for figuring out what needs done and coordinating how to do it.
> Who makes these decisions, when there are multiple viable ways of going forward, but someone just has to put their foot down and decide which one?
We all do, but whoever submits the first pull request usually sets the tone of the conversation. Occasionally, a pull request will get abandoned, but usually it is the starting point and we build from there.
There are often intense conversations about how something should work. I've learned to just try one way and see if you like it. Not everyone will, but you can form some consensus.
It is a for-profit idea, but we promise we'll never clutter up your presentations with tacky ads. We currently only have small ads on the right for our own products. We may do other ads there in the future, but we promise they will be tasteful.
We have a lot of other ideas for monetizing it with premium and event-related features. But everything you see on Speaker Deck today will always be free.
I’ve heard a few other stories like that. I'd like to talk with one of the companies that has a lot of experience managing MongoDB and see if the horror stories are just a result of poorly managed servers, or if it is really a problem with MongoDB itself.
If it is with MongoDB, I’m hopeful that it is a result of MongoDBs immaturity, and over time it will become more stable.
1. If everyone deeply cares about the culture and longevity of the company (which is a prerequisite), and nobody wants to do it, does it really need to get done? The answer is often no. But if the answer is yes…
2. How do you turn that into a celebrated task where everyone wants to do it?
One example of this at GitHub is support. Developers hate doing support. But we have decided that it is absolutely vital to our company to both provide good support and to have developers involved in it so we are constantly getting feedback about what is working and what is not.
So we created the "King of Developers", which is a position that is held by a developer for one week at a time, in which that developer's primary responsibility is support. Along with that comes a pimped out desk at our HQ in San Francisco and tons of street cred. We even have a ridiculous internal website to go along with it (http://dribbble.com/shots/554836-GitHub-King-of-Developers). There are currently 9 developers signed up waiting to be the King.