The way to scale out is to empower community members and delegate responsibility to them. You can’t do it alone.
A self proclaimed “Redis Geek”, Itamar is currently the Chief Open Source Software Education Officer at Redis Labs, the home of open source Redis, the world’s fastest NoSQL Database. He is also the former Chief Developer Advocate, evangelising Redis to thousands of developers, helping it grow to over 46,000 Github commits and 35,000 StackOverflow questions. He was AVP of Evangelism and Product Marketing Xeround, managing support and QA for thousands of users and acting as the company spokesperson across public events, webinars and PR. Add to that an EMBA from the Kellogg School of Management and you’ll get Itamar’s unique perspective on both people and technology, and he took some time with us to talk about what he’s learned along the way…
OpenChannel: How did you manage being both a valuable member and a developer advocate for the Redis community?
Itamar Haber: I joined near the start of Redis Labs, we’re built around an open source project and one of the core components is the people and community. At the beginning I really worked to understand the users, developers, community and how it all worked together.
For context, Redis is not only open source software but also software for developers which is an important distinction. Think of it like an onion where the outer layer is everyone that uses Redis, then further in are the developers and devops teams that are trying to make Redis work. Another layer in are developers that provide libraries and frameworks for people to use, the next layer in is a set of developers who do the client side work and there are 150 clients in over 50 programming languages. Last but not least there are the core developers, it’s been Salvatore Sanfilippo aka antirez leading it, people have joined to help and sponsoring companies have also recruited developers so the core has thickened with more people, myself included.
The community is online and very global. I do run the local meetup here in Tel Aviv, but was more interested in making the community very decentralized. You need to find where your community members hang out and get in there. One of the obvious places is Stack Overflow’s Redis tag, especially for our developers. I would start by reading other developer questions and commonly asked questions. I was trying to decipher what makes a good question, what makes a good answer and learn how I could actually help people? When you’re confident enough you can start answering and helping people, small stuff at the beginning and as your confidence grows you can tackle more complex questions.
There are other ways to get in touch with the Redis community. We have an IRC Channel and we have a Reddit/SubReddit for people to have an open discussions. So same method there, start reading everything. Redis also has a mailing list where everyone listens.
If you want to be a valuable member of a community, you need be current and up to date. This is especially true with infrastructure technology like Redis because it sits in the middle of everything from cloud to machine learning to big data. There are a lot of buzz words, but some of ideas are important and you need to take the time to understand what’s happening and what’s changing.
With Redis being a technology and knowledge focused community, one of the major barriers is the learning curve that’s involved. It can be pretty steep depending on where you’re coming from and how much you know.
OC: What things are most effective in helping developers reduce that learning curve you mentioned?
Itamar: Before anything, you need to go through the curve yourself and actually understand what’s going on. You can’t help others if you don’t know what they’re going through. Then you need to remove yourself from the equation and try to generalize the experience for other developers. Once you’ve built the experience, then you can look back and see what’s missing.
I always try understand someone else’s viewpoint. Most of my work, whether it’s webinars, conferences, blogs, slide decks, etc, has been setting the groundwork and keeping it simple. It’s not giving them the answers but teaching them the principles to learn and become valuable community members and successful developers. It’s the whole giving someone a fish versus teaching them to fish idea.
An example would be how search works in Redis. Redis has no indexes meaning you can’t search by value, so how do you tackle that? Things can could look trivial but they aren’t for developers from other systems and backgrounds. I try to help them take their first step. I’ll include knowledge about data structure for example, give them the context to spike their imagination and won’t try to cover everything in a single session. If it’s someone is asking a direct question, it’s the same approach. I’ll attack any fallacy first, then explain how it’s usually done in Redis, and then give the proper solution for the question.
Redis also has great documentation, It’s very accessible and straightforward but not everyone reads the documentation. A new developer taking their first steps or a devops person sitting in a billion dollar company won’t read the same amount of documentation. You need to have good documentation but you can’t force people.
OC: What are the most important metrics you track for your community and why?
Itamar: That’s a biggie because I hate metrics. You need to be very careful with both who’s tracking and who’s interpreting them. Metrics’ definitions can get outdated and some metrics are more relevant at certain stages than others.
With that disclaimer, I try to estimate the amount of liveliness in the community. Good metrics are how many and what type of questions are getting asked and over what time period? For a given type, you can look at multiple questions and try to understand if you are targeting the right people. If people are asking very basic questions and your product is supposed to be for high-end technical customers, maybe you’re not reaching your target developers. You can also go more in depth and look at how many are new use cases versus the same stuff you’ve seen before?
Then you want to get a sense of how your community is performing and how questions are being answered. How many questions get answered versus how many get left unattended? Is this a repeat or invalid question versus a new question? Can you identify characteristics that lead to a question being answered or not? Stack Overflow has been a golden standard for me, so I monitor that a lot. For the database world there’s also website called DB-Engines that have their own algorithm, they comb Stack Overflow, count tweets, read job descriptions and give a score to databases.
Questions and answers are just one form of communication and you can go broader and track things like the number of blog posts that mention you, press releases or tweets. Anything you think people are using at that time. Numbers matter, but nothing beats a personal touch and you need to feel how your community is doing.
OC: If you were starting a developer community today, what would you focus on?
Itamar: First thing is I’m cautious of even saying “developer community” because developers come in all sorts of shapes, colors, opinions, and needs. One may be passionate about the backend server world, another can be focused on UX/UI and design and then there are the full-stackers which I can’t even place in any category.
That said, most developers appreciate transparency and honesty. They want the truth, you can say “I’m good” but don’t say “I’m the best”, give them the data and tools to verify what you’re saying and make their own judgment. Honesty and transparency also means you’re willing to say, “I don’t know,” or “I don’t have the answer.” That’s part of the pact – I will help, but I can’t help if I don’t know – and then you work to find the answers together.
You have to be passionate about the mission, the community and what you’re doing. If people ask a question you have to answer, even if you’re on vacation. If someone has an issue or request, you need to deal with it and you can’t leave it open or ignore it.
The bigger your community gets, it’s a blessing but can be curse and you need to take the larger community needs into consideration. The way to scale out is to empower community members and delegate responsibility to them. You can’t do it alone.
OC: How do you identify and empower those people to start helping you maintain the community?
Itamar: It’s not an easy thing to do especially if it’s your community or project because we all have our own ego and it’s hard to let go.
When you’re a parent you nurture and protect your kids, but at some point you let them become independent. It’s same with community. You need to answer questions, give them the tools and fixes they need and have patience. Once you’ve seen improvement you want to provide encouragement and positive feedback in a way that doesn’t sound patronizing. Be specific and give them credit directly. From there people will take initiative and start answering other people’s questions. I’m on every question about Redis on Stack Overflow, so if someone new starts answering questions about Redis, I’ll give positive feedback, comment or tweet about it.
OC: What communities do you really admire and why?
Itamar: Reddit is an amazing place. Both the people behind it and the community, where you’ll find everything uncensored, unfiltered, true Reddit style.
Same goes for Twitter. I like freedom of speech, It’s a core value for me so any community that is organized around that strikes a good chord.
Again, Stack Overflow is magnificent. It’s constantly evolving and some of the members both on the team running it and the regular joes, which I like to think of myself as one, are truly amazing guys.
OC: What is going to be different about software and developer communities in five years?
Itamar: I don’t know, maybe we’ll have community members working inside their self-driving cars. Sure we might replace Git with something but these are just technicalities. We’ll still write error prone code that runs on faulty hardware used by impatient users and tired bored developers. The basic ingredients of this cake will remain the same.
It’s much easier to get started now, with a few clicks you can set up an application that can scale to millions of users. We’ve evolved to where you don’t need to understand the entire stack, but we’re not totally at the point where software and hardware are just something you use to create. Like when you take a paintbrush you don’t think about how the bristles are putting paint on the paper. The same kind of thought translated into action will happen with software development and software communities will of course be affected.
OC: What’s something outside of work that you’re really good at?
Itamar: I’ve been meaning to take a vacation for the last four years and see what’s life is all about 🙂 I’m good at databases, maybe, I’m also good at making kids and have three wonderful kids and beautiful wife.
I’m very detailed oriented. I like painting little small Dungeons & Dragons figurines made of lead, so I’ve probably got lead poisoning from that.
I love working with my hands and cooking. I make a mean Mediterranean vegetable salad with cucumber, tomato, onion, salt, olive oil, and lemon juice. I’m very structured and cut the cherry tomatoes into 36 little pieces. My daughter loves the salads, it takes me two hours to finish making one little bowl for her but it’s so much fun. You need a good quality set of knives that will last, we got ours in Germany.
OC: We totally agree and love cooking with these.
Itamar: It’s a good rule that society has completely lost – that good tools are priceless. Whether it’s a knife, a good hammer, or a good database…wink wink. We’re in the disposable era. We buy a laptop, it breaks it and we don’t bother fixing it. Whereas my grandparents, their things may not have been as sophisticated but they just worked, didn’t break and were made to last…
We want to thank Itamar for his time and insights. If you want to connect with him, you can follow him on Twitter or email him at firstname.lastname@example.org, and to follow the latest from the world of Redis, sign up for their blog and newsletter.