Running A Tech Community in Your Company: An Ex-Principal Engineer’s Guideby@dawchihliou
271 reads

Running A Tech Community in Your Company: An Ex-Principal Engineer’s Guide

by Daw-Chih LiouMarch 23rd, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

🌱 We'll discuss the principles of founding a tech community in detail. 🕵️ We'll see real examples of how I organize a Rust community. 🏎️ You'll get an open source template to jump start your community.
featured image - Running A Tech Community in Your Company: An Ex-Principal Engineer’s Guide
Daw-Chih Liou HackerNoon profile picture

5 easy steps to create a sustainable tech community in your company that everyone loves.

In this article

  • 🌱 We’ll discuss the principles of founding a tech community in detail.
  • 🕵️ We’ll see real examples of how I organize a Rust community.
  • 🏎️ You’ll get an open source template to jump start your community.

Six months ago, I started a tech community at trivago, a Nasdaq company that helps more than 25 million travelers a month find their stays around the world.

The community is called the Rust Guild. It’s centered around the Rust programming language.

Since its launch, I’ve received a tremendous amount of love and support. So in this article, I’ll share with you how I conceptualize, execute, and sustain a community so that you can run your own tech community in your organization.

Let’s go.

Find Your Core Value around People

First thing to know about communities is that it’s all about the people.

It’s very easy to approach a tech community like it’s only about a piece of tech or a programming language. You might think offering a space where people can share information about tech is enough to attract developers to join and stick around, but it’s not. Many communities declined or eventually faded away because there were no engagements. They were boring.

In fact, tech or programming languages are just subjects. They are nothing more than topics in your exchange with your peers. So what tech community founders need to do before creating a community is to think about how the community can have an impact on developers.

For the Rust Guild, the community is built on the concept of “Play. Learn. Share. Repeat.”. We encourage everyone to share what they learned regardless of level of experience, job function, or department. It’s an inclusive space for learning together as a group. There’s no learning that’s too small. We want our community members to give talks about simple concepts in Rust, one line of code, or painful experience with the language. I believe that simple, tiny talks are seeds in someone else to learn and grow.

Get Help

Don’t do it by yourself. It’s a bit much. There’s an operational side of communities:

  • Looking for speakers.
  • Scheduling meet-ups.
  • Engaging in Slack.
  • Sending meet-up invitations.
  • Moderating meet-ups.
  • Collecting feedback.
  • Communicating with legal teams if you’re inviting guest speakers.
  • Coordinating with accounting teams for guest speakers’ expenses on on-site visits.
  • Managing food and drinks for on-site meet-ups.
  • Handling recordings and archives.
  • Uploading signed agreements from guest speakers

The list goes on and on. It’s time consuming for just one person.

A better way is to find people that can run your community with you from the jump. In the Rust Guild, I designed a few community roles:

  • Moderators: organize and moderate meet-ups. Currently it’s me.
  • Coordinators: assist moderators with operations.
  • Mentors: engage in discussions on Slack and provide technical guidance to members that have questions.

It’s also helpful to identify stakeholders and contact persons for:

  • Company technology strategy and budget: to explore framework and event opportunities.
  • Event organization: to help with space, food and drinks for on-site events.
  • IT support: to help with on-site events.
  • Legal agreement: to draft agreements with guest speakers.
  • Expense reimbursement: to handle guest speakers’ on-site visit.

So far we have 1 moderator, 1 coordinator, and 2 mentors that serve a community of 30 developers. You can expand the community roles according to your situation. The key is to find help to provide your community members with the best experience.

Write A Community Guideline

Now that you have a core value and support group, time to write things down.

It helps you formulate an actionable community format and transform your raw concept into a sharable experience. It’s important to document the following aspects:

  • The core value: what is the expectation and code of conduct.
  • The format: how do you want to structure the peer discussions and meet-ups.
  • The support channel: where can the members find help and support.

By expressing the core value, you’re clarifying why your community exists and how the community members are expected to interact with each other. It gives a clear framework and mental model for the members and it attracts like minded developers to join. They help shape the future of the community.

By standardizing the format, you’re aligning the expectations. It’s not only helpful to the developers, but also benefits the moderators and coordinators to run the operations. It’s a stress reducer.

By communicating with the support channel, you’re creating a feedback loop . Needless to say, feedback culture is an essential component of a successful community when done right. It’s also very important for people outside of the community to contact the organizers.

The community guideline doesn’t have to be long. A one-pager will do. I’ll share the community guideline of the Rust Guild with you. You’re more than welcome to use it as a template:

use it as a template

Don’t Cancel Meet-ups

Canceling meet-ups diminishes your credibility and everyone’s commitment to the community.

Developers want to engage in a community where they feel safe. It’s just like installing a package in your software. Before you commit to a library, you want to make sure it has enough stars, weekly downloads, and the maintainers are consistently responding to issues and discussions.

Same for communities, you as community founders and coordinators want to establish your commitment by keeping a regular schedule according to your community guideline. You can structure your schedule with breaks upfront, but try not to cancel events.

What if there’s no speakers for a meet-up? Be creative. There’re many ways you can make it happen:

  • Turn it into a live coding session where developers work on a piece of code together and share knowledge.
  • Turn it into a storytelling session where developers share painful or funny stories with the tech.
  • Turn it into a tech cinema session where you watch a course or online talk together.
  • You can jump in and give a talk.

Be creative. Have fun with it. Show your commitment.

Create A Wow Moment

It’s nice to surprise your community with something cool once in a while. It helps rejuvenate developers’ interest in the community and make them feel that they’re part of something cool and eventful.

In the Rust Guild, we invite guest speakers. So far, we were very honored to have:

to talk to us about their innovations and experiences working with Rust.

The wow moments we designed were very well aligned with our core values. The guest speakers shared the learnings from what they’ve built. The community members got a chance to immerse themselves in the learning experiences from different fields and applications of the Rust programming language. I want to use these special moments to spark the interests in learning and experimenting.

Regardless of the outcome of the learning, we had fun playing, learning, sharing, and repeating the process as a group.

This article was originally posted on Daw-Chih’s website.