Spolsky on Software on Both Sides of The Table

Posted on May 7, 2011 | 32 comments


Sometime around 2003/04 my technology team turned me on to “Spolsky on Software” a periodic newsletter served up blog style from Joel Spolsky of FogCreek Software, a maker of bug-tracking software.

Blogs weren’t popularized yet so it was an oddity for me to read the founder of a software company spewing out advice. But I loved reading them and so did my team.

So it was a thrill for me last month to be able to have dinner with Joel and shoot the breeze. I asked him if he’d be willing to allow me to interview him for This Week in VC and we filmed it in the offices of Stack Overflow – his new company. I loved every moment of our discussion other than the video angle, which I think I’ll be more particular about in the future ;-)

You can watch the video here or …

As always we have notes: graciously provided by Daniel Wolchonok, the founder of RentMaps whose request of me for typing up the notes was to come and speak at Yale where he’ll be getting his MBA starting this fall so I’ve agreed to it. But if you like the notes check him out on Twitter or his website. Thanks.

Background:

Joel Spolsky studied Computer Science at Yale University (class of 1991). Upon graduating, he went to work at Microsoft. It wasn’t like joining Facebook today – other students had never heard of it, and asked questions like “is that like a Macintosh?”.

Joel moved to Seattle, and worked at Microsoft for three years as a program manager on Excel 4.0 and 5.0. He then went on to work at Viacom and Juno in NYC. After leaving Juno, he founded his own software company, Fog Creek Software. In 2008, he founded StackOverflow, and it has become the foundation for a question and answer platform called StackExchange.

His Tenure at Microsoft

At Microsoft, Joel was responsible for defining the specification for a programming language for Microsoft Excel. This ended up developing into Visual Basic for Applications, the strategy for programmability in Microsoft Office.

Defensibility in Software

How did Microsoft de-throne Lotus?

Microsoft Office ended up beating its competitors because it was able to read and write to file formats other than its own. For example, Excel was able to read files from Lotus, and was able to save the file without losing any information. The important lesson in order to gain market share was that in order for new users to try Microsoft Excel, they had to be able to work with the files their coworkers were creating.

Lesson: You don’t want your customers to feel locked into using your software. It helps with sales cycles because customers know that they can switch away if they so choose. While customers will be willing to try your product, they think two steps ahead. They want to ensure they can easily migrate to a new system.

What do you think of Facebook’s privacy model?

“I guess people don’t care about that stuff”. Joel believes that consumers don’t believe that the data that is stored in Facebook is very important. If they have uploaded photos to Facebook, they know that it’s stored somewhere else on their computer so they’re not concerned about getting them out. In terms of privacy, users are more concerned about shredding their credit card bills rather than the intricacies of their privacy settings on Facebook. Joel is more concerned about the fact that it’s a closed garden, and being a vendor is very difficult because there is such a limited ability to control the experience.

Working at Juno

What did Juno do?

Juno provided a free email service. Free email providers (like gmail or hotmail) didn’t exist, and you had to pay a separate fee to dial up companies like AOL to access the internet. Juno used your modem to to download and send email, and it was paid for by placing ads in the email client.

Eventually, Juno provided free access to browse the internet in addition to sending email. The experience was paid for by placing ads at the bottom of your internet browser.

Juno IPO’d while Joel was there, and it was the first “broken” IPO of the dot-com era. It debuted in the morning at $13, ended the day at $11. It was the first internet company to lose money on its first day on the public markets.

What did you learn at Juno?

Joel met his co-founder for Fog Creek software and learned a valuable management lesson. While it was not a widespread problem, there was an element of micro-management at the wrong levels. Smart, capable managers would not hesitate to make decisions instead of allowing their employees to make them. Because the managers couldn’t make every decision, they would make random decisions and then move to another area. This left very smart employees feeling very frustrated because their managers would interfere intermittently and at random moments. It took Joel awhile to realize that “If you’re hiring very bright people, let them do their damn job”.

15 minutes

The role of Product Managers at Technology Companies

Do you see product managers as a hindrance to software development?

Companies historically have structured their development teams in different ways. Microsoft and Apple have a role of product manager as different from a program manager. A product manager is responsible for:

  • Talking to customers
  • Pricing information
  • Marketing materials
  • Going to trade shows

A program manager would traditionally be responsible for:

  • Writing the detailed specification for how the software should work
  • Communicating with the developers who write code
  • Working with writers to create documentation
  • Interface with program managers about features and product roadmap

A program manager was expected to be be able to convince programmers in the prioritization of features and how to implement the software, and to be the central person who drives the roadmap of the product. The program manager was the key person at the center of the product, yet wouldn’t have anyone reporting to him/her. Instead of using seniority, the program manager would have to convince others based on the merit of their ideas.

What about a world without program or product managers?

It depends on how customer feedback is incorporated into the product. If developers get the feedback and can integrate it into the product, it will ultimately be successful. For example, stackoverflow developers use the product every day, and they can’t help but interract with their uers. Joel doesn’t think he could design software for something in which he doesn’t have expertise.

Mark: Google had trouble dealing with customers and contracts because they historically were so engineering driven. The technologists would say “tell the customer we won’t ship on time”. While that happens sometimes, it was a challenge for Google because it frequently had trouble adapting from an engineering driven culture. The role of a CEO is to find the happy medium so that:

  • Salespeople do not blame engineering and marketing for a lack of features
  • Engineers don’t blame salespeople for making them work weekends to help them hit their quota

Lesson: As CEO, it is your responsibility to educate everyone and mediate the difficult tensions that can arise by removing excuses. One way to do this is to make everyone the “CEO of their job”.

As an example, Joel says that there is a chief revenue officer who is solely responsible for bringing in revenue to StackExchange. He is responsible for bringing in revenue from advertising and their careers offering. Jeff Atwood is the person responsible for product and user experience across all of their sites.

What is the best reporting structure for an engineering team

There is no perfect structure. Engineers often want to be able to move around and work on different projects, rather than be pigeon-holed into working a particular team or feature set. Within a small startup with 3 engineers, everyone will work on all aspects of the site. As you grow, each group may have its own engineers. As an example, there is a team devoted to the careers section of StackExchange, and another team dedicated to the core engine. They both have their own responsibilities, but at the end of the day they’re all working to drive revenue either through a great user experience or through empowering employers to search for prospective employees.

29:45 minutes

Leaving Juno and Blogging

How did you leave Juno? What happened to the company? When did you start blogging?

Joel ended up leaving when Juno ended up switching from providing free e-mail to free internet access. He felt that the decision process was very broken, and he wasn’t able to impact it from the bottom of the organization. After Joel left, Juno merged with NetZero.

When did you start blogging?

Joel started Joel On Software shortly after he left and before founding Fog Creek. At that point, only four bloggers were really doing it. It was called a “weblog” at that point. The first CMS to allow publishing on a blog was called EditThisPage.com, which had been built by Dave Winer. Dave Winer would read the posts as they were written on the site and drive traffic to posts he liked. Joel benefited from this, and in a relatively short amount of time Joel was able to gain a fair amount of traffic.

34:45:

What posts are you most proud of?

How MIcrosoft lost the API war“. Joel feels that it was a gigantic and enormous loss for MIcrosoft and the repercussions can still be felt today. A lot of it does seem like conventional wisdom today, but back then it wasn’t.

How did MSFT lose the API war?

Microsoft became obsessed with COM, OLE and felt that it was the future of software development. They didn’t focus on building for the web and they lost a great opportunity to win the transition to browser based applications.

Building on top of platforms

What does Joel think about building applications on the Twitter platform?

It is extremely rare to build a platform that third parties can build on top of and be very successful. Excel at the time Joel was there was a big business, but today is a billion dollar business. Even though it has been wildly successful, the number of businesses built on Excel never exploded the way that building applications for Windows did. There’s a big business in Finance working with Excel, but that’s an outlier.

There are very few examples of large, successful companies emerging on top of a platform. Twitter had a fundamentally flawed strategy from the beginning. They took care of the stream, and let others build the client applications. They didn’t think about monetization from the start, which has hurt them because they’ve had to pull the rug out from under the companies working on twitter clients. Joel doesn’t empathize with the twitter clients, he feels that they didn’t make a smart business decision.

Lesson: The only way business building on top of twitter can survive is by combining multiple streams into one. You couldn’t build a twitter client long term. It’s only obvious to the world now.

Joel is skeptical about building on the iOS platform long term. He feels that it’s not a great platform for vendors because they have no control over whether Apple allows your application in their marketplace.

Mark: Apple is like China, they have introduced an incredibly amount of innovation to the market. They’ve forced the entire industry to innovate and change. They have been successful simply for pushing the telecom companies, Microsoft, and Google to innovate. They’re well within their right, but it’s short sighted. Steve Jobs shouldn’t have the veto power over the marketplace. Make it open, make it free and incentivize people to make money doing it. Then you can buy, and compete in the marketplace.

Joel: Microsoft had an entire department for other companies to write for Windows. Everybody joked how Excel got special treatment (special APIs, etc which were never proven), but there were a bunch of people at Microsoft whose job was to help Lotus work on Windows.

46 minutes:

Joel on the battle between MySpace and Facebook

Joel felt that MySpace completely missed the opportunity to build a platform, and were clueless about the decision they made.

Mark: MySpace understood the desire of users to put videos on their site as well as images, but didn’t want to tie into services such as YouTube. News Corp (MySpace’s owner) felt that Youtube had made a fortune off of their content, and made a strategic decision focus on internal innovation and become more closed at the same moment that Facebook decided to become open. It was a concious business decision from the top. This was the moment where Zuckerberg (20 something entrepreneur) schooled Rupert Murdoch.

47:50:

The creation of StackExchange

Where did the idea for StackOverflow come from?

Stackoverflow was created in 2008. Joel wanted to combine multiple things: reddit, digg, xbox 360, Q&A sites, Wikipedia, and forums. There were 9 best practices across all of these items and Joel wanted to combine all of them into one site to help programmers get answers to their questions. Programmers were having trouble getting answers to their technical questions (the market leader was a site called experts-exchange). The site put answers behind a paywall, and programmes loathed the site for its tactics. He asked himself: programmers know how to make web sites, why couldn’t programmers create their own site and answer their own questions?

Joel was too busy with FogBugz to work on it, but ended up working with Jeff Atwood. Jeff had recently quit his job to be a full time blogger, and they decided to form a partnership to work on it together. Jeff built the first version of StackOverflow with a bunch of old colleagues, and it launched in August of 2008.

What was the original model for StackOverflow?

Joel and the team started out by building three independent sites: one for programming questions, another for PC buffs, and a third for server administration. That was called the “trilogy”. After that, they created a white label version of the software called Stackexchange 1.0. Joel saw the opportunity to create another software business (because that’s what he knew). The idea was to sell it to companies to leverage internal and external knowledge, but it was flawed because he saw it as a software business.

Joel found out it was a bad idea. The software is not difficult to build and the hosting element has become a commodity; the hard part is building a community. That’s the unique element, the people who you can convince to come to your site each and every day.

Lesson: Joel had been building a community of readers since 2001. Jeff Atwood had a community of people built up from his blog. The community they had developed was extremely valuable and is what differentiated StackOverflow from the free, open source alternatives that were created in response to StackExchange.

Spolsky: The era of software was a narrow period of time. Before 1980, customers purchased hardware and software was bundled for free with the hardware. Microsoft was brilliant because they realized they could sell software and make a hefty profit from it. Today, we’re in a post-software phase. The software isn’t the valuable asset – it’s the ability to tap into a community that is truly valuable.

Building Communities

Lesson: Whatever you choose to do in your career (another plastics moment), think about how you’re going to capture a community. Stop blogging to your friends. Start blogging to your customers and your intended audience.

Spolsky: It’s more than the community, it’s a behavior. People have a behavior that when they have a question, they come to StackOverflow to get an answer. Some people go to our site to help others and answer questions. Instilling a behavior in a lot of people is a very difficult task. Facebook is a great example in that they have created a habit in everyone so that they login almost every single day.

58 minutes:

Spolsky: You could make the argument that SO wouldn’t have worked unless I had spent 10 years building a community of programmers. At the end of Joel on software, a post would get 100,000 views, a popular post would get 1 million views. On StackOverflow, we get that in a day. In order to take the original community and build into the success of today, it’s all about natural progression and growth. Below is a graph of the wordwide usage growth of StackOverflow. It was a constant, constant growth rate that started with their original communities and continued to expand and grow over time.

 

Distinct Communities

How do you keep an audience as a blogger and on the network of StackExchange?

It’s important not to have content drift. If you talk about your core mission and then blog about your vacation, you might lose your audience. People have two or three interests, and if you stray from that consistently it drives people nuts.

Lesson: if you’re passionate about two different htings, have two differnet blogs. Don’t try to put it all in the same stream. The reason we build distinct communities is that if you don’t have 200 active people contributing to a site, it won’t take off. We know that because we’ve done research into what it takes to launch a new community. If you can’t find 200 people, you don’t have enough of a community, you won’t get answers to your questions.

Monetizing StackExchange

The original business model for StackOverflow was to help employers find good programmers. If we could build a community for the best programmers, we could build a good marketplace for employers to understand the capabilities of job applicants. Right now, the only thing they’re monetizing is the technical sites. For example, the StackExchange site for auto mechanics is free and they are not trying to monetize the site.

Pageviews are so cheap to deliver, that if you can monetize a small fraction of them, then you can run a very nice business.

How do you find developers through StackOverflow?

It’s really simple: jobs.stackoverflow.com

It’s really spread out. If you check out the StackOverflow users page, it shows the top 36 users. It shows where they’re located, and it’s really interesting to see where the top users are located. None are in Silicon Valley, one is in New York City, they’re spread out across the world (France, Estonia, St. Louis)

How do you get to the top of the rankings?

You have to answer a lot of questions. To get reputation, you answer questions and they’re peer reviewed. It’s a great way to recruit because this person is able to impress their peers and has gained their respect through a very democratic process.

Is StackOverflow subject to gaming?

Not really. When you have a lot of page views, it’s hard to game the system. We’ve modified the system over time to punish bad behavior. Users can push down spam, so every single user is able to police the site and ensure that the best content wins.

Why do people answer questions?

There are a bunch of incentives:

  • Desire to help people by sharing knowledge (Yelp)
  • Social currency
  • Desire to be an expert (Wikipedia)
  • Trying to get discovered for a job someday
  • WoW and social gaming addiction.

However, we have built in controls so you don’t get too addicted. You can only gain a certain amount of reputation in a day.

Fundraising:

Fog Creek was bootstrapped. Raising money in the ash of the dot-com fallout was not a possibility. Joel had an audience of Joel on Software, and they iterated slowly over time. Fog Creek now has 35 people.

With StackOverflow, Joel raised money through venture capital. They looked around and felt that the engine that powers StackOverflow was much better than anything else out there (forum software). They thought it would become obvious to everyone, and they had an opportunity to take advantage of the “land grab” situation. If they could raise money and go from 3 to 30 people, they could accelerate their ability to create communities. After 2 years, they realized they were onto something, had great growth curve, revenue, customers, and raising money was very very simple. Union Square Ventures is an investor. They have raised two rounds of funding: a series A and a series B.

  • http://byJess.net Jess Bachman

    This is definitely a great interview. @spolsky has some very interesting things to say about apis/closed/open/etc. As someone who has watched Stack Overflow for a while, I think they have done very smart things in terms of revenue. Mark you seem very “relaxed” in this vid, lol, love it.

  • http://www.mitultiwari.net Mitul

    Thanks Mark for the detailed blog post! Enjoyed watching your conversation with Joel.

    One question while watching the conversation was comparison of StackOverflow and Quora. You guys briefly discussed Quora, but wondering whether StackOverflow feels any threat from Quora?

    I guess StackOverflow is more vertical focused (programming primarily) but do they plan to be generic Q&A site like Quora?

  • http://bothsidesofthetable.com msuster

    It was after a week of not sleeping so, yeah, I was feeling “relaxed” ;-)

  • http://bothsidesofthetable.com msuster

    It was after a week of not sleeping so, yeah, I was feeling “relaxed” ;-)

  • http://bothsidesofthetable.com msuster

    It was after a week of not sleeping so, yeah, I was feeling “relaxed” ;-)

  • http://bothsidesofthetable.com msuster

    It was after a week of not sleeping so, yeah, I was feeling “relaxed” ;-)

  • http://bothsidesofthetable.com msuster

    It was after a week of not sleeping so, yeah, I was feeling “relaxed” ;-)

  • http://bothsidesofthetable.com msuster

    I don’t think Joel feels threatened – I think he sees them focused on very different market opportunities.

  • http://bothsidesofthetable.com msuster

    I don’t think Joel feels threatened – I think he sees them focused on very different market opportunities.

  • http://bothsidesofthetable.com msuster

    I don’t think Joel feels threatened – I think he sees them focused on very different market opportunities.

  • http://bothsidesofthetable.com msuster

    I don’t think Joel feels threatened – I think he sees them focused on very different market opportunities.

  • http://bothsidesofthetable.com msuster

    I don’t think Joel feels threatened – I think he sees them focused on very different market opportunities.

  • http://petergiordano.com Peter Giordano

    Loyal listener, first time commenter. This interview is one of my absolute favorites. Loved the perspective of @spolsky on the true asset of Stack Overflow: the ingrained behavior in the community to want to ask and answer questions. Fantastic discussion and insights on community building too. Thanks @msuster and @spolsky!

  • http://ppeach.com/blog Anonymous

    I’m curious @msuster:disqus , did he mention what the “9 best practices across all of these items” were?

  • http://www.facebook.com/profile.php?id=689987025 Jebb Dykstra

    Building a community is the plastics moment. Software is still the medium, but the message is the community. Spolsky is tuned in for sure.

  • http://dianabol.blog.com/ Dianabol

    spolksy has been behind some interesting companies.

    steroids blog

  • http://www.RenegadeToolCo.com Timothy Lemnah

    Mark,

    I really need to disagree with what Joel was saying about Micro-management problems with Juno. My brother was VP of Telecommunications for Juno and has grown with United Online since the beginning. After United Online (Netzero) acquired Juno, Jeff was appointed to VP of Corporate Development. He is now VP of Broadband and has contributed significantly to growth of the company. In fact, Joel really didn’t do that much with Juno. No disrespect to Joel, but he shouldn’t be bashing management with his problems with the company. Joel is the kind of a guy who wants to be at the top, which is a good thing! I applaud him for doing so after leaving Juno, because now he is CEO.

  • http://bothsidesofthetable.com msuster

    Thanks, Peter. I really enjoyed the discussion myself and I hadn’t really thought about one’s community as an asset that can be nurtured for years across multiple initiatives / platforms. That’s certainly something for young people to think about these days.

  • http://bothsidesofthetable.com msuster

    No, don’t think we had a detailed discussion about it.

  • http://bothsidesofthetable.com msuster

    OK. Thanks for adding a different perspective. No doubt on nearly every management team there are people who see the company and management differently.

  • http://www.RenegadeToolCo.com Timothy Lemnah

    Yes, your absolutely right.

  • http://filmicgames.com John Hable

    Great interview! Although I have to completely disagree on the “software is over” part. So much so that I in fact signed up for disqus. (-: It’s easy to forget how small Facebook actually is. Last I checked, their annual revenue was $2b. As a point of comparison, revenue from video games was about $15.5b. That number doesn’t include hardware. http://www.npd.com/press/releases/press_110113.html

    Facebook is certainly more interesting for the “startup world” because a $2b company that could add $1b in revenue next year is far more interesting than a $15b industry that could grow by $1b. As a whole, software is doing just fine.

    Where software as a sales model is not doing well (and where I think spolsky is right) is in wide-scale consumer internet. Those pesky economics guys have always said that the cost for any good eventually becomes its marginal cost, which in the case of software, is 0. The basic functionality of Word/Excel/email/etc. is the same as it was 10 years ago, and thus there are now good free alternatives. The same can be said of gaming. You can get games of the same quality as Mario 1 as free flash games. In other words, yes, the software that your grandmother uses has been commoditized and now has little value by itself.

    But the timeline for a good’s price to decline to it’s marginal cost can be pretty long. So as long as software is constantly innovating and adding new value, it stays ahead of the curve and remains quite profitable.

    A good examples is Adobe. Everyone in the startup world talks about the decline of Adobe because of flash issues. In reality, Adobe had revenue in fiscal 2010 of $2.95b. That’s more than Facebook, and the majority of that was good old software, and represents 29% growth. They can still sell software because they are constantly innovating.

    Btw, stack overflow is awesome. Whenever I see them in google results, they are the first one I click on. And they helped me solve some linker issues yesterday.

  • http://twitter.com/christophe971 Christophe Maximin

    Just a comment to say thanks for this great interview, I really love to see great minds at work!

  • http://www.victusspiritus.com/ Mark Essel

    Thanks to Daniel Wolcholnok for the transcription, I enjoyed the post and the text notes of the interview.

  • Anonymous

    Thanks @VictusFate:disqus . It was a great interview by Mark Suster.

  • http://twitter.com/statspotting StatSpotting.com

    Very good interview, Thanks for posting.

  • Jeff

    Regarding product management/program management – I would argue that Joel’s assignment of responsibilities may be too development centric, delegating less cerebral, largely supportive tasks to the product manger. Years ago, when I ran product management for a company with an engineering dominated culture and a technical CEO (I was from the biz side), I played with many models of how to forge product partnerships between a product owner from marketing and a product owner from development. After much pain, I eventually settled on the following notion: program/development manager owns the “product”, and product marketing manager owns the “business of the product” A program assistant (often shared by a number of product ownership groups) owned administrative items. At the time we were transitioning from a two product company (with one dominant one), to a multi-product company with about seven new product launches scheduled over a 12 month period. Of course any of these orientations can work, and it largely depends on the culture and the capability of the specific players. We did have years of success with this one however.

  • Dave W Baldwin

    Well written. I may be reading too much into it, but that mindset does lead to expanded product/rev potential.

  • Dave W Baldwin

    The way to look at it moving forward is the ‘delivering’ of software. That is what will keep software profitable.

  • Dave W Baldwin

    Good interview. Love the comment re control via closed systems. We just need to work in the open which will grow communities and with that place the closed systems on a page in a chapter of a history book.

  • http://twitter.com/AllTheInternets Zeb Anderson

    Thanks for this interview. I really appreciate the perspective from those who have been there and are doing that. I just read the article, haven’t watched the video yet.

    But does he address what are the, “9 best practices across all of these items and Joel wanted to combine all of them into one site to help programmers get answers to their questions.”?
    It is interesting that he found 9 commonalities among those fairly divergent sites.

    Thanks for your time that you put in this stuff Mark.

    (edited for spacing issues with the quote)

  • http://anyessays.com/ Essay help

     I agree… This is a great interview!