How to Create a Developer Community

I’m a Developer Relations (DR) Evangelist/Advocate, specializing in building software developer communities around hardware. Recently, I began looking for a new job in this field. I must admit, I’m surprised at how new this field is, and at the extent to which is is still not well understood.

Companies dealing in hardware often do not have an adequate understanding of what the developer relations niche is all about. Many lack knowledge in regard to how the department should look and who should be hired to do the job.

As a successful Developer Evangelist/Advocate in my previous company, I feel that I have the knowledge to provide a detailed description of what it takes to do well in this position. I’m hoping that this article will help others understand this field.

What it Takes to be a Developer Relations Evangelist/Advocate

Companies often make the mistake of taking a regular software developer from the streets or from within the company, in the belief that he or she will have the ability to create a community. Having the ability to teach fellow developers about the hardware, how it works, and how to take advantage of the product’s SDK and API is a requirement of this job. Another requirement is being able to speak effectively in front of a large audience at big events. Sadly, as developers are often introverts, they may not the best choice for teaching or speaking with any great impact.

A Developer Relations person is someone who has technical ability and experience in software development; feels comfortable at public events; and is able to communicate with less extroverted people. The ideal DR personality will have the following traits:

  • Extroverted: Willing to engage in conversation with strangers at events. Someone who will feel comfortable in front of an audience.
  • Smiling: Someone who is smiling, happy, and positive will pass their attitude on to others, making everyone happier and more relaxed. Humor is an advantage when working to solve complex problems.
  • Supportive and compassionate: Each developer will have a unique skill level. The DR person is responsible to help them out without judging them.
  • Able to break down complex problems: You have hardware, many SDKs, platforms, events, and more. You need to be able to take all that and organize it, and then present it to others in a way that is understandable.
  • Possess the desire to help others achieve more: The goal is to empower developers to create great use cases for the hardware at hand. The DR person inspires them to continue working, believes in what they do, and supports them as much as possible. And it doesn’t matter if it is a small indie developer or a big company. Everybody is equal.

Skills required to run a Developer Relations Department:

  • Marketing: The DR person needs to know how to target and find developers with clever marketing plans.
  • PR: Great contacts among external developers is key to keeping them loyal and happy.
  • Project management: Must be able to manage SDK projects, example apps, and the entire developer website.
  • Be a actual Software Developer: Have the knowledge required for writing example code, and deciding what to say at conferences. You can’t show up with just a smile. But feel free to ask for the support of developer with a higher level of skills if necessary.
  • Tester: Once the apps start coming in, you will have to test them all to see if the hardware implementation is as expected.
  • Speaker: Deliver talks at conferences and travel around the world. Having a killer presentation is vital to creating excitement among a new group of developers. But having a killer presentation doesn’t mean having amazing graphics, animations, etc. The key is to have rehearsed your speech to perfection, so you come across as confident and to the point.
  • Design oriented: The DR person creates a style and design for the whole developer CI. If you aren’t good at this sort of thing, rely on external designers.
  • Event organizer: Know how to organize a good hackathon, where developers will have a good place to meet and work together.

In my previous position, I worked on building a strong community of developers, and I did all of the above. But ideally, to be even more effective, this department should have at least two additional people, including the following:

  • Main manager
  • Assistant/helper who will take on part of the responsibility
  • Skilled developer who can answer the most technical questions

What is the Goal when Creating a Community?

Everyone would like to build a community of people around something. This is the holy grail in these modern days when you are marketing a product. But to be successful in creating such a community, we first need to know what the point or function of the community is to be. It is certainly not the numbers that count.

You want quality over quantity, because to create a revolution, you need passionate people who believe in your hardware. If you bring together a community of people who strongly share what you believe in, they will be the ones who will pass your idea on to others. And then the community slowly grows.

Think of your community as your soldiers, people that will go into battle and die for your idea.

  • These are the people who will stand up during a meeting and propose your product as the solution for the problem they are trying to solve.
  • These are the people who, when they show up at a hackathon, will talk positively about your product with their friends.
  • These are your soldiers, who will fight for you.

A community is more than just numbers, it is a group of passionate people who will advocate for your device.

How to Market for Geeks

You are probably thinking, If you want to reach a big group of developers, you will treat them no differently than you would a regular consumer. You create a marketing campaign, try to do some PR, and they will come, right? NO.

Developers are very skeptical people who will scrutinize everything you are doing. They will smell BS from your marketing and PR team from a mile away.

Online advertising should be treated only as a reminder, not a direct call to action.

For example, if you are going to give a speech at a big event, one week before the event create an ad showcasing the face of the person who will speak and the company’s logo. People will get used to these two images, and when the event launches, developers will recognize your Developer Relations person and will already trust them. It’s all about trust with developers. No BS is allowed.

One week after the event, run a reminder campaign to remind people that they wanted to check out and play with the new hardware.

Determine who your target group is. It is very important to sit down and figure out what type of developers from which industries will be more interested in your product. Without this specific list, your targeting will be very inefficient, increasing the risk of never building a strong community.

I know it is tempting to say that everyone in the whole world is your target market, but this is not how it works.

Standard of Implementation

Before you start doing anything, you should consider creating a standard for how your product should be implemented and how your product support should be presented to the end user.

You want the customers, the users, who will use someone else’s product to have a consistent experience. When they see that a product they have purchased supports whatever you provide, they will know exactly how to interface with it.

At all costs, avoid using an outside developer’s creativity; this should be your way or the highway, with no exception. Otherwise, if something doesn’t work, they will blame you, not the developer who did a poor implementation.

Pro Tip: Create a separate email account for testing device implementation, even if it’s just you doing it. It is important to put a wall between you and the developer; otherwise, they will be asking for exceptions and the whole relationship with them could fall apart.

Create a Company Identity (CI) Document

You are thinking, Why should I waste my time and money to create a custom CI for the developer community? Well, because we humans like to look at beauty. Especially geeks (your developers). This is the group that spends money on comics, t-shirts that represent an idea, beautifully crafted game card collections, hand painted statues of their favorite characters, and the like.

Most of the engineers that you will want to attract are people who think highly of design and art.

If you are going to create a custom CI, just for the developer department, you will get the following:

  • Anyone outside of the company will know that you take outside developers seriously. They are not an afterthought.
  • With a good-looking, visible brand, you can push the idea behind the product. If developers are able to identify themselves with this idea, they will proudly wear t-shirts and other “merchandise”. Other developers will ask for information about your product.

Developer Website

Now that you have a CI, it is time to make good use of it by creating a developer website. Remember that developers will visit this page every single day to check on documentation. Require that each developer creates an account; it will enforce the idea that he or she is entering a community. Secondly, you want to know how much and how quickly your community is growing, what type of developers the site attracts, and from what companies they work for. With this information, you will be able to adapt your strategy in the future.

The following sections are key:

  • Registration: Get to know your developers.
  • Download: Provide links to your SDK and other media.
  • Documentation: Should be accessible without registration.
  • Quick Start: After reading this, the developer should know exactly what to do.
  • Calendar: List all events you are supporting, planning to visit, etc.
  • Online Shop: Where you will sell your Developer Kit.
  • Directory of Developers: You need both a public and private version of this site. For one thing, you want the world to see how many developers you have and how your community is growing. You also want your developers to know the size of the community they have joined. It will be best to include all of a developers apps that were created for your product.

Developer Kit

This part is especially important when you are creating hardware. A nicely designed box that a developer can buy from you before the product becomes available to the general public is key for having other products on the market to support your technology when the time comes.

But don’t think that the Developer Kit box should be done without regard for design and style. It must be something unique that will surprise developers. It should contain some small piece of merchandise, and at least a quick start for the hardware itself.

From experience, I know that my design was well received by many developers and also got positive feedback from hiring managers from big companies. A nice box is a nice box. It’s the first thing they will see, and, if done right, it will stay in people’s minds for a long time, as a positive experience.

Newsletter

A newsletter is the most important tool for staying in touch with your community and for letting them know what is happening within the company and with the hardware. A monthly newsletter is a great idea, because people will know that you are serious, and won’t forget why they are receiving this newsletter in the first place. The worst thing you can do, is have a huge amount of emails and use it once every three months. People won’t remember who you are, or why they are receiving this newsletter in the first place. Which can lead to a huge number of unsubscribes. We want to avoid that at all costs.

Pro Tip: These days, people worry that any email must be short, because nobody has time to read long emails. And so, newsletters fall into the same category. From experience, I know that this is a false statement. People who are interested will read the longest email. Those who are not interested in the topic at hand won’t pass that first sentence. Write as much as you want, because the engaged readers will read the whole thing, no matter how long it is.

Examples/Tutorials

It is very important to do this section right. Otherwise, you will receive a huge amount of technical emails asking for help. The key to success here is to have someone on your team who is a developer but is not overly skilled as yet.

I will give you an example: I’m an okay developer. I know how to code in many languages (Java, Objective-C, PHP, Ruby, Javascript, etc.), but learned programming by myself. I never went to college to study computer science. With enough time, I can do anything, but I have a hard time if the documentation is not very specific or or if it’s written by more skilled developers.

Skilled developers are never able to put themselves in someone else’s shoes. They don’t understand that others have no clue how the process that they are describing works, and that buyers are just starting to learn your product.

My software skills are perfect for working as a Developer Relations person. I can easily spot bits of code that are hard to understand. I will tell you this: You will get a vast variety of developers who are interested in your product, who want to create something, and if you will have a clear and simple tutorial, nobody will have any issue understanding how to make your hardware work with software.

I always got very few software support requests, because I was able to write tutorials while keeping in mind that not everyone is a code ninja.

So, if you are getting buried in emails asking for help with integrating your hardware, it means that your tutorials are too hard to understand, and need to be fixed.

There are many tools out there to help you create a community, some obvious, some less obvious. These are my favorites:

  • Twitter: The easiest way for developers to ask quick questions.
  • Facebook: The best tool for spreading your message and keeping the community informed. It also enables you to reach a new audience of developers using Facebook ads.
  • Google Ads: It’s hard to target a tight group, but Google Ads is perfect for a base marketing campaign that will work as a reminder. Plus, many developers’ blogs use Google Ads, so you would have to use this tool if you want to reach your geeks.
  • Eventbrite: If you create events, meetings, and and/or hackathons, I would only use Eventbrite. It allows you to create an event and sell tickets for free, as a donation, or paid. Even if your event is free, Eventbrite allows you to keep the amount of attendees in check. You will always know how many people will come, and you’ll never exceed thenumber of developer that can sit comfortably in a room. And, in addition to that, you will have access to a new set of email addresses that you can add to your newsletter database.
  • GitHub: The best place on the Internet for sharing code, including examples, apps, tutorials, and quick starts.
  • Gitter: Well-integrated live chat system in your GitHub repository. People can come and talk live with other members of the community.
  • Gist: Similar to GitHub, the best place to share snippets of code and receive comments, suggestions for improvements, and so on.
  • MailChimp: My favorite tool for sending newsletters. They constantly work on their product, making it better every time.
  • StackOverflow: A public community where developers ask questions and share their knowledge. It is out of anyone’s control, but it is worth keeping an eye on, just in case some developers there start asking questions about your product.

Hackathons

Hackathons are the best tools available to you for growing your community. This is where you will meet developers, both experienced and new, making it possible for everyone to get to know each other, and giving you the opportunity to show that you truly care about them.

Pro Tip: Provide solid Internet access. No Internet means pissed-off developers who can’t work. Supply plenty of power outlets. No power means pissed-off developers who can’t work.

Contests

Contests for regular people are very popular; the bigger the prize, the greater the coverage from the media. Developers are something else; these are geeks who already have money, and they don’t care about a big cash price. If you offer a big cash prize, the only people who will enter your contest are those who already have a finished product on the market, and adding support to your device won’t cost them much time. Which means that you won’t get any innovation from that.

In addition, no media outlet will write about your contest; this is not something that interests them at all. The best approach is to give away the most wacky and crazy prizes you can think of, hoping that some blog will pick up your story for the out-of-the-ordinary prize pool.

Developers are more interested in being noticed, and having their work showcased to the public. For developers, that is the most important goal.

Merchandise

Merchandise is not a gimmicky thing to do, nor should it be done without much thought. This is a very key aspect in helping your army spread your message. The design should be done in a way that will make the wearer proud, and should spark up a conversation around your message. In my opinion, the following items are the most effective for printing your message:

  • T-shirts: The biggest surface that is constantly mobile
  • Mugs: Always next to the developer on a table.
  • Silicone wristbands: Always visible on someone’s hand, and good conversation-starters.
  • Key lanyards: Good for badges and keys. These are nice, long strips with your printed brand.
  • Stickers: Versatile; can be placed on any surface. It is good to remember to create stickers that can also be easily removed without leaving residue behind.

To sum it all up

Although it may seem logical at first, a regular developer is not the right person to fill a developer relations position. It takes not only an individual with technical expertise, but also someone with a high level of social skills, combined with empathy and the ability to understand the needs and desires of others.

However, a talented developer can be of great help to the Developer Evangelist. The developer has the ability to provide answers to any technical questions an external developer might throw at you, and offer assistance with issues and problems they encounter.

If you are serious about attracting developers to your device, you should take all the time necessary to find the most qualified person for the DR job. Otherwise, not much progress is likely to be made. External developers may get excited at first, but then lose interest after they play with the device. You need someone who is willing and able to work closely and consistently with external developers to keep them interested in your product.

Feel free to leave a comment below if you have any additional questions.