I am Jeff Atwood (@codinghorror), co-founder of Stack Overflow and Discourse. Ask me anything! 4/8 @ Noon PST


My main advice is that no software plan survives contact with users :wink:

With Discourse some things we thought would work well, did not, and some things we thought were unimportant (presence and other chat-like features) turned out to be far more important than we realized. We had no way of knowing that until the software got in the hands of active users.

Thus the goal should be to get an early working version of your software in the hands of users, and have a tight and fast feedback loop to iterate on:

  1. deploy software
  2. gather feedback
  3. improve software based on that feedback
  4. repeat

Don’t optimize for getting everything right, that’s impossible, optimize for speed of improvement.


Hi Jeff, thanks for creating what saved many coders lives aha! My question is: did you do a big marketing push to grow the community? If yes, what worked? thanks :slight_smile:


That is unfortunate – sorry to hear that :frowning:

As an industry we didn’t think enough about user safety and designing for evil. Part of it is that a lot of us are men, and people don’t bother us in the way that women and underrepresented groups tend to get bothered online – so we didn’t consider the many ways our software could be abused to make other people’s lives miserable.

But the good news is that I believe software can be designed to encourage people to be their better selves online.


So true, how much do you think marketing could contribute and help to overcome this first contact?

Asking cuz we used Discourse as an example in Seth Godin’s seminar and everybody is so much fan of slack.

1 Like

If you have a lot of runway and funding honestly it’s probably more flexible and convenient to go with cloud hosting these days. If you want to be more frugal and optimize for monthly income, then colocation is about 5× to 10× less expensive once you get the servers deployed and ready. So I guess:

  • how tight is your monthly budget
  • do you have funds for an initial purchase of servers
  • are you willing to spend the time to build and rack them

It is a set of tradeoffs.

Oh also! Always use Amazon S3 for highly redundant backups, don’t bother trying to do super reliable on-site colocated storage, it’s extremely expensive and complicated to get that stuff right.


Generally… poor.

Now that we’re profitable at Discourse, every year we do try to give back to the open source ecosystem that Discourse is a part of and benefits from. This is a manual process of us identifying what dependencies we have, how much we rely on them, and then tracking down a way to send them the money.

A centralized service that offers one stop shopping here, a directory of open source projects with an easy one-click way to send a bunch of them money would be awesome though – and maybe the first significant step in that direction?

How can we reduce friction, and make it as easy as possible to hand money to {x} different open source projects at once?


Companies that use automated systems often shrug off responsibility for the behavior and potential user consequences of those systems.

It seems that a lot of developers believe that if they were not explicitly intending for particular aspects of the system to discriminate or mistreat then they are not responsible for the behavior.

How do you think we can best bring forward issues of complex potentially discriminatory system behavior especially among companies that make use of closed source systems with minimal oversight?

1 Like

Jeff, thanks so much for your expert perspective on this! James

1 Like

Good question… I feel like chat was one of the last frontiers where the good replacements took far too long to appear.

If you consider that Discord’s main innovation was moving something like TeamSpeak, which had a terrible UI and was very difficult to set up, into the ease of a one-click browser URL link… my intuition is that with WebAssembly people start building even more ambitious apps with the browser.


This resonates with me deeply as a woman in tech. Thank you for mentioning it.


A lot less people blog regularly, and there’s a zillion alternatives to blogging, including pervasive social media. If you just want “a web presence” then the zero friction way is to create a Twitter or Facebook / Instagram page. It pains me to say this but the era of the blog is probably over.

That said, there’s still a lot to be personally gained by putting your research journal on the web (as a blog or anything else you prefer), like I did back in 2004, and seeing what happens. You can link to it, you have a record of what you were working on, and interested people can find it over time. It still works!


I do not. I’m not sure “artificial intelligence” is a particularly useful concept at this time. “machine learning” is at least a little more accurate in describing where we are :wink:


The main challenge is that you’re asking people to create an account and sign in to the community site before posting. I view this as a helpful barrier that prevents low-value drive-by commenting:



Has IBM died yet?

1 Like

Hey Jeff @codinghorror! If you have one, what’s one of your favorite questions or interactions you’ve seen on Stack Overflow?


I subscribe to the “three things” philosophy.

When it comes to software, I generally practice complaint driven development, and for Discourse we always favor aggregate feedback from active communities over random opinions.

Right now, I’m thinking how we can make Discourse better for Q&A and AMA (Ask Me Anything) type activities since that’s what we’re doing :thinking:


Don’t start a really big project. Start a small project and iterate on it with your users to make it big.


Oh this one is close to my :heart: but let me invoke this


Have you seen the movie “Inside Out” by Pixar? Discourse is like your long term memory, so it is quite complementary to the short-term memory of chat.

That said, for very small communities of less than 5 people, or if you have really low usage, honestly a Slack or Discord will work better.

Once you have “enough” people participating over time, you will likely want the searchability, organization, and long term memory of a Discourse instance. And remember, we are 100% free and open source, forever!


So true @codinghorror. People surely seem to prefer hot takes on social media over long-form blogging. Fun fact though: long-form posts perform a lot better on @hackernoon than shorter ones. We will strive to forever be a place for deep tech expertise rather than hottest news.

1 Like

I think amplification of words online is maybe part of the current problem, not the solution. White supremacy, for example, shouldn’t be amplified, nor should hatemongers like Alex Jones.

Freedom of Speech ≠ Freedom of Reach

There’s been excellent progress in this area over the last couple years from the big players like Twitter and Facebook so I’m encouraged we can continue to improve here.