What's going on at Facebook to keep the company and culture flexible?
The product we've built encourages people to be open and share information. A lot of decisions here-design reviews, PR strategy, what servers to buy-are often open for informal debate and input from across the employee base.
We built tools on top of the Facebook platform, including one called Ideas. Any employee can create an idea by category-social, office, product. There's a discussion tool with a star rating. One star is a really bad idea. Five stars is "I'm gonna quit if we don't do this." Ideas are anything from, "I think we should have a chat feature on the site" to "Can we replace sodas with juice in the fridge?" We encourage public comment.
We also live-blog. There's a person who transcribes any large company meeting, monthly presentations from different departments and weekly Q&As with the management team.
There's a combination of management's willingness and desire to continue to push to openness and creativity.
Why did you build these tools rather than buy them? There's no shortage of blog and chat tools out there.
A couple good reasons and not so good reasons. We're a technology company and we like to write software. But really, these tools are integrated with the Facebook interface, so it makes it that much easier for employees to use. One thing I've seen at a lot of other companies is they have a pea soup style-lots of tools and Web forms and e-mail in-boxes. It's difficult for an employee to know, if they have an HR question, do I e-mail or walk over? Do I have to fill out a comment form? For us, it's all Facebook. Employees use Facebook every day. They don't have to launch a browser window to go to different URLs to communicate.
What does your infrastructure look like?
Our entire Web site is run on free software. That varies from a large MySQL site-we're second or third to Yahoo, which is No. 1. And we are also a PHP site. We have half a dozen open source projects. Another is the Memcached project. I've taken over stewardship of that project with some of our developers here.
What have you contributed lately?
One example is Thrift, which is a language-independent network library that allows different software and systems to communicate without developers having to do rewrites of network application layers. That's gotten a respectable following among Web companies.