Connecting with Django contributors on Mastodon

I am going to share how people can connect with a significant chunk of Django contributors through Mastodon. And if you’re interested, there’s a bunch of context and justification why Mastodon is the place to go.

Getting started on Mastodon with the Django community

Here’s my onboarding guide that I would like to see people adopt when they want to connect with the Django community. I can’t promise everyone will connect with you, but I will do my best.

  1. Create an account
    • Don’t get bogged down on servers; pick mastodon.social if you’re unsure
  2. Add a profile photo
    • I’d recommend using the same one as your GitHub and Django Forum avatars to start
  3. Set up your profile
    • Add a description of who you are
    • Please include your technical interests and your personal ones (that you’re comfortable with)
  4. Create an #introduction blog post
  5. Configure notifications appropriately
  6. Follow Django related hashtags
    • Here’s a guide that directs you on how
    • I follow #Django, and then I’ve added #djangoncon and #djangonautspace to it so that any post with any of those will be shown to me in a separate column
  7. Follow people generously
  8. Don’t be afraid to turn off boosts
    • By default, I don’t see boosts in my feed; I only enable it when I’m looking for new content
  9. Ask questions and share feedback!
    • When someone shares some content, actively engage with it
      • Likes are good
      • Boosts are great
      • Comments are amazing
    • There’s a time and place for critical feedback, but positive feedback is always welcomed
  10. Post things regularly
    • Sharing something at least weekly is a good cadence, but don’t feel obligated

And that’s it. I didn’t realize it was going to be 10 steps, but it is. To avoid adding it as step 11, my bonus tip is to create content for the community. Start with the above, but once you’re doing that, create a blog (use dev.to, Jekyll, Pelican, or Django), and write about what you’re working on. Write about what you want to see. People want to hear from you! If you put the time and energy into creating content for the community, it will be paid back.

Why is this important?

I was speaking with Chiemezuo, a Djangonaut from Session 5 of Djangonaut Space, recently about open source. Mezuo has also participated twice in Google Summer of Code for Wagtail. I was asking him questions about his speaking engagements at DevFest Lagos, where he presented his talk, “Contributing to Open Source: Zero to One” and was on the open source panel, “Open Source as a Launchpad: How Global Programs Shape Tech Careers”.

Mezuo was telling me about the advice he gives to people wanting to contribute to open source, which was “pick based on the community.” His advice was that people should introduce themselves to the community and engage with the people first rather than trying to pick up a ticket and work it to completion.

Generally I agree with him. The Django community prides itself on being a community. We have several people who participate because of the community rather than the code challenges. That’s not to say we don’t have people participating because it’s good for their careers or they enjoy the challenges our community is tackling; those people exist too.

My perspective of Mezuo’s point was that newcomers are generally looking for some type of help to move along their career/life journey. Software is a big, scary world. Every single aspect feels like a rabbit hole of technical complexity that would take years to master. Newcomers recognize that and want someone to tell them, “This is the way.” By first connecting with the community as people, we allow for that connection and sharing of experiences, goals, and desires.

Personally, I’d be a bit put off by someone providing their life story on a PR (though maybe I shouldn’t?). It’d be unexpected, and I wouldn’t know exactly how to handle it. PRs are meant to serve as a historical record of a discussion about a code change, and us talking about someone’s goals in the community doesn’t feel relevant.

Where does Django best do connection

Assuming we agree that PRs, tickets, and issues are not proper places for social connection, then where do we allow that in the Django community? The two places we officially support public communication are the Django Forum and the Django Discord server.

The Django Forum isn’t for social connection

The Django Forum is well-meaning but a bit intimidating to use. Most of the topics are internal conversations about Django or people asking help questions. I think the forum is a good place for us to track historical perspectives and discussions but lacks the ability to build social connection.

I think I’ve only managed it with Ken Whitesell, but that was because I was engaging in a game with Ken about who could answer the most questions on the forum. Mind you, he wasn’t aware of this game, and he was winning (by a lot). Even still, our connection only started to form because we had participated in several threads where we found tangents to the topic that we could briefly discuss. That’s not something a newcomer can replicate.

So presently, the Django Forum isn’t a place to go to create social connection. Though it can foster social connection once you have created some connections to the community.

The Django Discord

The Django Discord is less intimidating to use but is best used in a synchronous fashion when building social connection. What I mean is that you need to be online and participating at the same time with the person you’re connecting with. If I post an image of my cats or share some tidbit about my life, I expect to have a conversation about that for the next few hours. After that, once the feed fills up with other conversation, it becomes difficult to keep track of the full context of the conversation. Having time between messages makes this difficult.

Discord does support threads where the full context of the conversation is well-contained, but you need to opt in to get notifications about those threads. It works well for specific topics, but it’s not great for discovery by others.

All that said, the Django Discord server has a lively social component. There are several people who regularly chat on the server that make it a welcoming and engaging place. A big thank you to some specific people, amirreza 🇮🇷🇵🇸, Ben, Kag_ee, klove, nanorepublica, offby1, Ülgen, Villager, Xterm, and Yoon, but there are several others that make the Discord wonderful!

If you are online at the same time as one of these people and you’re discussing topic of their interest, you will have a great conversation. But if your topic isn’t of interest, or it doesn’t happen to align with someone being online, it’s a bit challenging.

Using Mastodon to connect with Django contributors

As of today, Mastodon seems to be the best place to connect with the Django community socially. There are other segments of the Django community that use other platforms, but in my opinion, the majority of people who participate in the working groups, teams, Board, Steering Council or contribute code to Django / popular packages, regularly participate in Mastodon.

Mastodon is meant for social communication. Whereas it would be weird to share on a PR (or some areas of the forum), I would expect to find someone posting about their goals for open-source on Mastodon.

Mastodon allows for discoverable, revisitable, threaded conversations. On Discord, you’re limited to recent conversations or a specific group of participants, but on Mastodon, the conversations are meant to be revisited as people have time and availability.