Hey Jeff @codinghorror! If you have one, what’s one of your favorite questions or interactions you’ve seen on Stack Overflow?
I am Jeff Atwood (@codinghorror), co-founder of Stack Overflow and Discourse. Ask me anything! 4/8 @ Noon PST
I subscribe to the “three things” philosophy.
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
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 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.
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.
first of all, thank you for your work for the greater good of the internet communities. Sharing knowledge and laughs would not be as easy, nor as fun without the work you have done.
As for my question, I am wondering if you have some tips on how to grow an evening side-project into a viable business one would be able to live off. I’m not aiming for the unicorn buyout here, just a paycheck. The business centres around collecting data from companies regarding municipal reporting.
For Stack Overflow the big marketing push was Joel Spolsky and I being mini-famous within the programming niche, so we effectively cheated there.
We advise Discourse communities all the time on “how do I get famous” – there’s no getting around the central requirement of regularly creating great, interesting content that people enjoy. I’ve summarized some of my best advice at
I guess my main advice is to live in your own creation alongside your users, and eat your own dogfood. Try to feel your customers pain by … being the customer!
Honestly the best thing here is for people to write about the problems and publicize them widely. It works. The squeaky wheel gets the grease, especially if they have the higher moral ground of protecting underrepresented groups.
One of the central problems is this:
The problem is that Twitter and Facebook aim to be discussion platforms for “everyone”, where every person, no matter how hateful and crazy they may be, gets a turn on the microphone. They get to be heard.
Being able to close your community door on problematic members, rather than insisting “everyone” gets a seat at the table, is a critical first step. Everything else follows from that.
Well, you can’t go wrong with Cthulhu
4421 upvotes currently!
Hello Jeff. Thank you for this AMA. I would like to ask that what do you think about the communication skills of software developers’ as a founder of stackoverflow and discourse? What’s the weaknesses of developers? What do you think? What would you suggest us?
I can’t say enough great things about what Courtand is doing at indiehackers.com – they have a wealth of amazing resources on this exact topic. We even wrote up what we did at Discourse in some detail there
I’m going to collapse this to “top one” if you don’t mind
It’s no coincidence that both Stack Overflow and Discourse directly encourage people to become better communicators, for which they are rewarded with upvotes (SO) and likes (Discourse). This is intentional!
OK, you’re a genius programmer who can code circles around everyone else. But you may never ship any of your code for reasons that you don’t control. That’s an illusion. You can control when, how, and where your code ships. You probably spent too much time building your code and not enough time as an advocate of your code. Did you explain to people what your code does, why it’s cool and important? Did you offer reasons why your code is going to make their lives better, at least in some small way? Did you make it easy for people to find and use your code?
My hope is that over time, participation on Stack Overflow and Discourse makes people better communicators – because being an effective communicator (and often, persuader) is central to getting what you want out of life.
Be interested in everything about the industry you’re working in, not just the coding aspects. Follow those interests wherever they go.
The best way for people to benefit from open source is to participate! Find an open source project you enjoy or benefit from, and look at ways to contribute, starting with small stuff.
For example, at Discourse – which is of course 100% open source now and forever – we have this guidance:
Have you considered contributing to open source projects? We’ve hired several excellent folks from India who started out contributing to our Discourse open source code, per the ↑ above.
Yes definitely. One I have been apprehensive about is the full-on chat plugins for Discourse. I view Discourse as a system of paragraphs, and at least sentences, and chat is anathema to that. So bolting chat on to Discourse makes me very, very nervous.
To be fair we have evolved a few more chat-like features over time such as forms of presence (you can see if someone is currently replying to a topic if you’re idling at the bottom of a topic), native browser pop-up notifications (these even work on mobile for Android), and so on.
The other one that comes to mind is the invitation system (aka getting users to actually visit your Discourse), there was so much interest in sending invites that we ended up enhancing that system considerably over where it was at launch.
This is a tough one, because honestly (and perhaps controversially…) I believe you can ultimately accomplish more without coding, if you are guiding many other coders towards a collective goal.
I do know many lifelong coders, for example Bill Budge (who I met in person, what an honor) who currently writes lots of gnarly code for Google. So it is a valid path! I’d say keep honing those communication skills as you go, there’s nothing more fundamental. Let me quote my pal Joel Spolsky:
The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it’s not whether they prefer Python or Java. It’s whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless. By writing clear technical documentation for end users, they allow people to figure out what their code is supposed to do, which is the only way those users can see the value in their code. There’s a lot of wonderful, useful code buried on sourceforge somewhere that nobody uses because it was created by programmers who don’t write very well (or don’t write at all), and so nobody knows what they’ve done and their brilliant code languishes.
At Discourse we focus on making the moderator tools as easy and convenient as possible to use – and involve the community in moderation through our trust system. The longer and more frequently you participate the more we trust you, and you earn tools that help you organize and beautify the site you spend so much time on.
If there’s a trash can on every street corner, you do end up with a cleaner city!
My main and biggest piece of advice is that it is critical to have a sense of humor at all times.
Have you read this epic Miguel de Icaza piece? I love it, and it gets better every time I re-read it:
The Recurse Center also has excellent essential “social rules”: