DEV Community

Cover image for 4 Communities Every Coder Should Join
Jason C. McDonald
Jason C. McDonald

Posted on • Updated on

4 Communities Every Coder Should Join

UPDATE: I no longer recommend joining or participating in StackOverflow, or by extension, any other branch of the Stack Exchange system. The system and culture inherently reinforces toxic behavior.

UPDATE 2: Freenode IRC was the target of a hostile takeover.. Use Libera Chat instead; the former Freenode staff and communities live there now.

There are a plethora of online communities and social media platforms online, and many of them are popular among different groups and pockets of coders. However, there are four specific places I find myself returning to and using, time and again.


GitHub is practically the geographic center of the programming world. It is used to host projects, code repositories, websites and blogs, pastes, and a whole host of other things.

While most of the resources on GitHub can be accessed without an account, the true value of the community is in the interaction. GitHub also serves as a sort of combination universal login and cred badge for coders.

There are other similar tools: GitLab and BitBucket being the two most notable examples. There are certainly valid arguments for each, and it may be worth having accounts with all three (I certainly do); but if you decide you only want to sign up for one, make it GitHub!

It may be tempting to maintain multiple GitHub accounts, but let me strongly discourage you from this.* First, it's against GitHub's Terms of Use. Second, it introduces unnecessary confusion and fragmentation. Your personal projects, open source contributions, and (if your workplace uses it) your work projects all tell a story about you as a coder.

[*Yeah, I know, your workplace may have handed you a GitHub account you were supposed to use only for work, or some other such nonsense policy. If that's the case, just flow with it and make your own GitHub account your own. The onus is on them for making you use a second account.]

Stack Exchange

UPDATE: I no longer recommend joining or participating in StackOverflow, or by extension, any other branch of the Stack Exchange system. The system and culture inherently reinforces toxic behavior. It is not possible to improve such a system through personal behavior.

Yes, the network that is hope to the (in)famous StackOverflow, as well as other useful sites like Server Fault, Ask Ubuntu, and Power User.

People have strong opinions about this community model, and I'll be the first to admit it has its drawbacks. Regardless, Stack Exchange is the de-facto Q&A source for all things coding (and then some).

Sure, we don't want to by Copying and Pasting from it, but without StackOverflow's model, we'd have a lot more of...

XKCD: Wisdom of the Ancients

Even if you find the model somewhat repugnant, remember that no community can improve when the well-meaning stay out! Whatever your feelings, it is definitely worth having an account, just for the following basic privileges:

  • Upvoting good questions and correct answers.

  • Favoriting especially useful Q&As you keep going back to.

  • Commenting, to help improve, expand, and update answers with current and accurate knowledge.

  • Proposing edits, to help keep Q&A clean and up-to-date.

  • Asking questions! This is the fastest way to gain reputation. Read their tips on question asking, ask, and then wait and don't let naysayers get you down. (Downvotes aren't really as big a deal as they seem.)

  • Answering questions. Share your knowledge. If you get it wrong, or if your genius is underappreciated, just keep going.

Once you've got the basic privileges you want, you don't need to feel obligated to keep heavily participating. Just interact when you think you can add something. Meanwhile, upvote good questions and answers, and favorite things you use a lot. Just a little bit of encouragement goes a long way!

If you'd like some tips on surviving and thriving on StackOverflow and beyond, check out my talk, A Field Guide to Common Nerds.

Libera Chat (IRC)

Slack, WhatsApp, and all the rest of those fancy chat apps are well and good, but IRC is still the core chat technology of the programming world! There are several networks that are worth joining, depending on what communities you want to be active in, but the most vibrant I've encountered is still Libera Chat, home to the lion's share of the Linux and coding communities.

IRC is one of the oldest computer-based communication platforms, a contemporary of USENET and predecessor to the old Bulletin Board System (BBS) communities. But don't let the age convince you that it's outdated - if anything, it is a mature and stable platform, from which we inherit many aspects of "netiquette" still in use today.

There's a reason why this joke is true:

XKCD: Team Chat

While it is a synchronous platform, the IRC culture includes the concept of lurking. Most IRC alumni are logged in most of the time, if not constantly (using an IRC relay). Questions may be answered and messages responded to sometimes hours after they are posted. The expectation is that everyone post and wait. This also means that you don't have the same pressure on you in IRC as with other chat apps: you aren't expected to answer quickly.

Getting on is easier than it sounds:

  1. Select an IRC client (Hexchat and Irssi are popular choices.)

  2. Register your nickname

  3. Configure your client to automatically log you into your nickname (using SASL) and join your favorite rooms. Autostart your IRC client with your computer, or get into the habit of starting it up regularly.

You should look for communities that both interest you and have community rules that you agree with. Some rooms are very relaxed about topics and behavior, and flame wars can break out as a result. Others are strict, avoiding certain topics to keep things friendly. Unfortunately, as with any community, some rooms reward antisocial behavior and punish good behavior, so be cautious where you join!

You can find rooms for many common technologies and programming languages, and social channels for those same communities. Here's a few of my favorite rooms:

  • #python: This was the first coding community I ever joined. It's a great place to learn more about the language, ask AND answer questions at any experience level, and find weird-but-friendly coding debates about the language.

  • ##c++-friendly: This is actually my own room, which I founded to provide a safe and healthy C++ discussion room. Small, but growing. (Warning: avoid ##c++ - they're relatively infamous for permitting hostile, trollish behavior.)

  • #ubuntu: Support for Ubuntu-based operating systems.

  • #ubuntu-offtopic: A great social room, even if you aren't an Ubuntu user. The application of the Ubuntu Code of Conduct keep it relatively active and healthy.)

This one is so obvious, it almost hurts! is without a doubt the friendliest and most vibrant community of coders on the internet. If you haven't joined yet, what are you waiting for? (You can register with GitHub...see #1!)

Top comments (13)

alihaider907 profile image
Haider Ali

I would include Hacker News

rjpsyco009 profile image
Ryan Norton

This is great. I hadn't heard of freenode, so thanks for that mention. Just want to restate how right you are about Everyone here seems to be on the same level:a friendly community to help and learn from other developers. I've been so encouraged by so much here. Thanks everyone!

ben profile image
Ben Halpern

I can't believe I didn't mention this when I first saw this post, thanks for including on the list! We do not take it for granted that everyone here totally gets it. But we're working hard to live up to the love the community has shown.

If you're reading this and you haven't joined yet, I suggest you come on board and hang around and leave some love and some comments for the other devs working so hard to share the knowledge.

csgeek profile image

I do think that should come with a surgeon warning. It might be a bit more addictive than tobacco. At least that's been my experience!

elnawe profile image
Nahuel Jesús Sacchetti • Edited

I use Weechat for IRC. As well as a local bitlbee server for Hangouts and other stuff.

I agree with this post.

EDIT: Specially what you say about

5chdn profile image
Afri Schoedon

IRC is slowly replaced by Riot/Matrix :)

codemouse92 profile image
Jason C. McDonald

Eh, I disagree. Every chat protocol likes to believe they're replacing IRC, but that's never actually been the case. IRC is completely open, stable to the point of being virtually bug free, and decentralized. Very few of the alternatives can claim even two of those, and none can claim all three.

5chdn profile image
Afri Schoedon

Oh, I am entirely on your side. IRC is incredible, and I am still using this. But the matrix protocol is not only open-source and open-protocol but also enables end-to-end encryption (like Signal) and data-federalization (like XMPP), both two key features IRC does not have. There has never been anything in the last 30 years that had the potential to replace IRC - and I'm not claiming this will happen - but Matrix could do that. ;)

sodonnell profile image
Sean O'Donnell

Thank you for suggesting Freenode/IRC and not some sorta lame Slack-based discussions. =)

nelruk profile image

Great post!
I would include Hacking Dsitributed also..I use HexChat for IRC

pratikaambani profile image
Pratik Ambani

+1 fir"vibrant" phrase.

pbkarlsson profile image
Philip Karlsson

Great list! I'd also suggest a discord channel called The Programmers Hangout. They have changed changed else for morst languages and topics. And more important, a ton of super helpful people.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.