Depending on the size of the team, good developer relations teams can be made up of several skillsets.
- Developer Advocates
- Technical Writers
- Developer Marketers
- Program Managers
- Event Managers
- Community Managers
Developer Advocates are the jack-of-all trades who apply an engineering background to making developers successful with a given technology.
Developer Advocates (DAs) must be skilled at teaching, debugging, and writing code. They must be able to communicate with developers in their own language, and be able to understand the challenges developers face on a day to day basis.
Technical writers (or sometimes more specifically Developer Documentation Writers) are responsible for designing a single cohesive documentation experience for developers. This documentation needs to be high quality enough that it can be the primary source of information for developers who are onboarding as well as experts that keep coming back for reference materials or to learn something new.
Developer Marketers are experts in driving developer awareness. They combine a traditional marketing skillset with empathy for developers and a focus on technology over hype. They are responsible for driving awareness of a technology, and often work closely with Developer Advocates to ensure that the message is authentic and resonates with developers.
Program managers can be critical to the success of a developer relations team. They can be responsible for individual programs such as grants, or larger programs such as expert or ambassador programs.
Developers love getting together socially. Most technology decisions are at some level made within a social context. Events are one of the best ways for them to connect with each other while learning about technology and staying on the cutting edge. Event managers are responsible for ensuring that events are well run, and that developers have a great experience.
Community managers are responsible for building, supporting, and growing a community of developers. They are often responsible for the day to day operations of a community, and often are responsible for the first point of contact for developers who are looking to get involved or who need support.
While many of these roles have the word "manager" in their title,they are most often not managers in a traditional internal sense with direct reports, but instead are responsible for large and complex groups and programs.