Last summer, I helped launch a website called Stack Overflow, on which programmers can ask one another highly technical programming questions. After nine months, it's going great. More than great, in fact.
Since the site debuted in August, it has drawn 3.3 million unique visitors -- more than the total number of computer specialists in the U.S., according to the Bureau of Labor Statistics -- and, by one estimate, equal to about a third of all programmers worldwide. Users have posted 150,000 questions on the site, and more than 90 percent of them have been answered with a response that received at least one positive vote, which means someone read the answer and thought it was correct.
I may be jumping the gun here, but I think it's only a matter of time before most serious programmers consider Stack Overflow to be an important tool in their work. (To read more about the start-up, see my earlier column "The Unproven Path," November 2008.)
To promote the site further, my partner Michael Pryor and I decided to take a week and head to the West Coast for some Stack Overflow evangelism. First stop: Microsoft, where a bunch of smart people had expressed interest in finding a way to work with us.
Returning to the Seattle area is always an interesting experience for me. I worked at Microsoft in the early 1990s, and the place has changed quite a lot since then. When I left, the company had about 10,000 workers worldwide and was headquartered on a cozy campus of a dozen or so buildings, all of them within easy walking distance of one another.
When I visited Microsoft this spring, however, the campus was unrecognizable. The company has grown like kudzu, the result of a policy of continuous, aggressive hiring. Microsoft now employs 90,000 people worldwide, and its staff in Redmond, Washington, fills 94 buildings. The campus spreads out over the area of a small city, with cafeterias, a shopping center, sports fields, and even an artificial lake. A fleet of company-owned minivans and Toyota Priuses shuttle employees to and from their meetings.
Of course, the idea that you would have more than one meeting a day is a relatively new phenomenon at Microsoft. Back in my day, meetings were avoided like the plague, and it was considered a burden if you had to go to three or four of them in a week. But today, the average Microsoft manager is scheduled to within an inch of his or her life. The new virtue is keeping to a schedule of brisk half-hour meetings, and most of the midlevel managers I met said they had consecutive half-hour meetings scheduled for stretches of days at a time.
The proliferation of meetings at Microsoft reflects a larger change in the culture there. Meetings are easy. You just have to show up and shoot the breeze for a half-hour until the large digital clock that is now standard in Microsoft conference rooms tells you it's time to move on. And you never linger: The crowd of people waiting to use the conference room immediately after you will attack you if your meeting runs over.
After Microsoft, we headed to Silicon Valley to demo Stack Overflow before a crowd of about 100 developers at Google's burgeoning new complex in Mountain View, California. (A video of the demo is up on YouTube, of course: youtube.com/watch?v=NWHfY_lvKIQ.)
Now, Google -- which has 10,000 workers worldwide -- is very different from Microsoft, and the two businesses have very different cultures, which is evident when you visit them one after another.
When you are a guest on Google's campus, for example, you get free Wi-Fi service. You simply connect to one of the open hot spots that blanket the area, and you're ready to go. Microsoft has free Wi-Fi, too, but to use it, you have to register with a receptionist who enters your name, your affiliation, your e-mail address, and the name of the person you're visiting into some kind of computer system, which then spits out a page with a temporary password. The receptionist has to walk to the nearest copy room to pick up this page. He or she also hands you a brochure that is intended to teach you how to get on the Wi-Fi network but in reality provides little more than a stern warning that you must not ask the receptionist for any tech help, because The Receptionist Knows Nothing.
I found it interesting that someone at Microsoft thought that it was important to control how guests use the Wi-Fi network and created a whole complicated system of registration and a nice four-color brochure, while the person with the same job at Google just decided to make the Wi-Fi free and open. Presumably that person at Microsoft was very convinced that all kinds of chaos would ensue if guests just willy-nilly connected their laptop computers to the Internet. And yet Google proves that no such mayhem actually occurs. (I had to wonder: What might we be doing at our company that is similarly a waste of time?)
There are other areas where the two cultures diverge. For example, Microsoft gives almost all its programmers a private office with a door that closes, so they can concentrate without interruption. Google tends to fill each office with four programmers who tend to interrupt one another all day. At my company, I prefer to give my programmers private offices.
Google has free food in the cafeterias and free snacks everywhere; Microsoft subsidizes food for its workers, but it's not free (and it's not nearly as good).
These criticisms aside, I enjoyed my time at Google and Microsoft. The two companies are filled with smart people -- I respect their opinions enough to fly cross-country to hear them. And now that Stack Overflow has built a critical mass of users, we are eager to solicit all of the advice we can. At Google, some developers suggested that we create an enterprise edition of Stack Overflow that large organizations could use internally to share and organize important information. I like that idea a lot. (The people we met at Microsoft had great ideas, too, but that meeting was off the record.)
As we move forward, there are a variety of paths we can take. Stack Overflow is already breaking even, just by showing a few advertisements, so there's no pressure to accept outside investment. Should we create the enterprise version of the site, like the folks at Google suggested? License the software? Sell the company? Raise venture capital? Expand into Germany or Japan? Build other professional Q&A sites, like one for tax lawyers? I feel like I finally understand what Jeff Bezos meant in 1999 when he described Amazon as facing "insurmountable opportunity."
Still, what I'll probably remember most about the trip is what I learned about company culture and how it's affected by scale. Giant corporations such as Google and Microsoft are like cities full of relatively anonymous people: You don't actually expect to see anyone you know as you walk around. Going to lunch on either campus is like going to the cafeteria at a huge university. The other 2,000 students seem nice, but you don't know most of them well enough to sit with them. Meanwhile, a typical lunchtime at my company is like Thanksgiving dinner: There's a big meal you get to share with a bunch of people you know and like.
As I headed for the airport in California, I was happy to be on my way home.
Joel Spolsky is the co-founder and CEO of Fog Creek Software and the host of the popular blog Joel on Software. For an archive of his columns, go to www.inc.com/keyword/spolsky.