Introducing The Server Room, your DevOps community hub!
After weeks of preparation, I’m happy to announce that The Server Room is now open! No, that’s neither a cooling problem nor a security breach. “The Server Room” is my new DevOps community of practice for software engineers, system administrators, SRE, and all kinds of DevOps people. And it’s launching today!
You can sign up right away if you want! But if you’re interested in the why and how, read on.
My vision of a DevOps community
As the Monospace Mentor, my mission is to empower FLOSS community members to succeed in their engineering endeavours. However, achieving this goal requires more than pre-recorded courses or single workshops.
Having success in the IT industry requires constant learning, practice, and above all: time. In view of this constraint, the best way to support people on their journey is through an ongoing relationship. That’s why I want The Server Room to be a place where members can collaborate effectively for months or even years.
I have been running my own Discord server for a few years. Why am I launching a new platform now? The reason is that building a long-term DevOps community requires a better approach.
In order to achieve my mission, I need the community platform to support the following goals:
- Facilitate learning
- Foster long-term collaboration
- Preserve shared knowledge
- Enable various community activities
- Make continuous engagement sustainable
On top of showing severe signs of enshittification which I’ll set aside here, Discord doesn’t really support any of these goals well.
Facilitate learning
Effective learning demands structure, organization, focus, and easy knowledge retrieval. However, chat-based communities often struggle to meet these criteria. Chat systems are designed for real-time communication. Their conversational and chronological nature leads to relevant information being dispersed across channels and threads. This makes retrieving and navigating these fragments a huge challenge for learners.
In her article “Breaking Up With Slack and Discord: Why It’s Time to Bring Back Forums”, Joan Westenberg highlights this problem, too:
“While enabling instant communication between members around the globe, Slack and Discord weren’t necessarily designed to facilitate rich, long-term community interactions. Conversations quickly become disorganised and fragmented across multiple crowded channels. Discussions end up fractured instead of developing depth in a single thread.
For these reasons, the learning experience on a chat platform is likely to be fragmented and frustrating.
Foster long-term collaboration
My DevOps community should extend beyond courses and workshops to foster long-term collaboration. While traditional courses have limitations in duration, a community platform offers the opportunity for ongoing engagement. However, it must accommodate the diverse needs of its members.
Because of time zones and differing schedules, the collaboration inside a learning community usually won’t happen in real-time. The requirement to support asynchronous communication makes chat-based systems a poor choice as the basis for long-term collaboration. They just don’t offer the required features to organize knowledge and curate educational content. Learning typically requires a logical progression of topics and concepts, which is not easily achievable in a chronological chat setting.
Preserve shared knowledge
Communities evolve unique cultures and amass valuable shared knowledge over time. Preserving this knowledge is essential for a thriving community platform.
This is yet another problem with chat-based communities. Joan Westenberg points out their weakness in her aforementioned article:
“There’s no central repository of reference material for members to search or easily browse. Information gets dispersed and lost.”
I don’t want to allow the contributions of my DevOps community members to vanish in the depths of a chat archive, to get deleted after a retention period expires, or to be left behind when we switch community platforms. Why would you run a learning community like this? It doesn’t make sense to me for several reasons.
First of all, every contribution by a member adds to the value of the community platform. From a curator’s perspective, letting this value erode over time is terribly wasteful.
Additionally, I find it disrespectful of the time, love and effort members invested into creating their contributions. A community can only flourish when it appreciates the contributions of its members and makes them available to current and future learners. Conversely, a platform that allows content to quickly fade into oblivion is a disincentive to members creating that content in the first place.
Community activities
I’ve been talking about running an active community, so just setting up a forum and then leaving members to their own devices isn’t going to cut it. On the contrary, I have planned a plethora of activities that will not only help the individual member grow. They’re also designed to strengthen the collaboration between members of my DevOps community, and help them build a professional network.
Here’s just a short list of activities we’re going to do regularly:
- Office Hours: Q&A sessions in which I answer questions from the audience
- Hangouts: Casual video chats between community members
- Deep Dives: Video calls in which I showcase one of my tools or workflows
- Hot Seats: Sessions in which a community member gets feedback on a specific issue they’re having
- Community workshops: Practical projects guided by me and implemented in small groups
If you’d like to know what exactly these activities entail and what other events I’ve planned for The Server Room, I’ll refer you to the community sign-up page where I’ve explained them in detail.
Sustainable engagement
The management of a learning community goes well beyond the usual administration and moderation tasks inherent to any community. For learners to stay engaged and make continuous progress, there has to be a constant stream of incentives, learning materials, external accountability, and events.
This requires a high amount of work and effort from the provider of such a community, i.e. me. While I’m highly motivated to put in this effort, I have to split my resources between many responsibilities just like everyone else. If running my learning community is supposed to be continuous and sustainable, it needs to support me in meeting my goals, not run counter to them.
The most crucial resource in this context is time, the most precious and rare of them all.
Spending my time efficiently requires a community platform that doesn’t have the weaknesses outlined above. That’s the technical side, and I’ll get to the solution I picked in a second. Furthermore, there’s also a financial aspect to sustainability.
If I want to put time into teaching an engineering community, I’ll have to take that time from my current day job of running a hosting business. That’s what I’ve been doing in recent weeks. But time is money, and I need money to pay the rent. Therefore, when I turn my time into something valuable for someone else, I’m not in the position to give these results away for free all the time. What would happen otherwise is becoming quite obvious in today’s FLOSS community where maintainers burn out or have to abandon their projects to focus on earning a living doing something else.
This is why I’ve decided to make The Server Room a membership community where members pay a moderate monthly fee to reap its benefits.
The tech
Regarding the technical infrastructure of The Server Room, I concur with Joan Westenberg’s advocacy for forums. Thankfully, the open source ecosystem offers a robust forum solution in the form of Discourse.
The Server Room runs on a Discourse instance that I’ve set up on Hetzner Cloud. At first, I tried to manage memberships via Memberful, but when they doubled their prices out of the blue, I decided to take matters in my own hands. I migrated my website from a static Jekyll site to WordPress, which opened up a world of plugin-based functionality. Now, community memberships are managed by Paid Memberships Pro, in conjunction with WP-Discourse for handling access to the forums. To fine-tune access permissions, I had to refresh PHP coding skills that had lain dormant for 20 years, and write a little add-on that bridges the two aforementioned plugins.
A simple DevOps community structure
In Discourse, I’ve created a bunch of high-level categories (aka forums):
- General discussion
- Software Development
- System Administration
- DevOps
- Introductions
There’s also a category named “Meta” for general notifications as well as a dedicated forum for each membership level in which I’ll announce upcoming events and relevant changes.
For effective content search, I’ve created a bunch of tags that can be assigned to topics (aka posts) and will probably increase in number with time.
Two important tags are “sharing” and “asking”. The former is for topics in which the author shares their know-how. The latter is for when someone is requesting support and feedback from the community. It enables a feature that’s well-known from Stack Overflow and will allow the author to mark a specific response as the solution and the issue as resolved.
I’ve dedicated the past few weeks to populate the forums with content, ensuring that even our founding members encounter a vibrant community environment rather than an empty space.
Let’s go!
All that’s left for me to say is: You’re invited to The Server Room! If you want to push your engineering career to a new level, our DevOps community is a safe and friendly place where you will find new skills, support and motivation.