A Developer Advocate acts as the liaison between an organization and its relevant developer community or communities. A Developer Advocate’s main responsibility is to help their developer community do better work faster and more efficiently.
Angie Jones, Senior Director of Developer Relations at Applitools, wrote: “As a developer advocate I work for the community and that work is sponsored by my employer.”
Developer advocates are often part of a Developer Relations team, which is an umbrella term for teams that may also include community managers and any other team responsible for creating and fostering developer communities.
Okay, but what does that mean specifically? Let’s address the main responsibilities of a Developer Advocate!
Developer Advocates’ two main responsibilities
So what are a Developer Advocate’s main responsibilities? It really comes down to two things: Help the developer community and help the company. The main way a Developer Advocate helps both groups is by bridging the gap between an organization’s internal engineering teams and their larger community of developers. Let’s dive a little deeper into what we mean here.
Help your developer community
A Developer Advocate’s main job is to help their community of developers succeed at their jobs. They care deeply about and are always thinking of new ways to boost other developers’ productivity, experience, and well-being.
One major way Developer Advocates help developers is by gathering, analyzing, and understanding the developer community’s wants and needs and communicating those desires to their company. Developer Advocates advocate for the community internally, making sure the product, marketing, and sales are attuned to developers' feedback. They’re responsible for representing the developer community to the company to ensure end users are driving the product roadmap.
Developer Advocates also help developers become aware of and better utilize their company’s products and services. However, helping your community of developers succeed at their jobs should go beyond just helping them to successfully use your organization’s platform, tool, or technology.
Help your company
Having someone at the table to represent the developer community helps ensure the company creates products and services that actually meet the needs of the end users. And having someone to show developers what exists and how to use it to make their lives better boosts awareness, adoption, education and retention for companies.
What’s the importance of a developer advocate?
For companies, Developer Advocates help ensure they’re continuously improving the products and services that developers use based on what’s happening out in the world, rather than relying on theory and assumptions.
For developer communities, Developer Advocates provide free advice, instruction, and consultation to help them get better at their jobs. And, Developer Advocates help ensure the products and services their companies build actually solve their problems.
How to be a good advocate for developers
5 essential skills of a great developer advocate
What are the skills a Developer Advocate needs to succeed in the role? Below are the five main skills every Developer Advocate needs in order to successfully connect their company to the relevant developer community.
1. Software development skills
While you don’t need to be a Senior Developer with ten-plus years of experience to be a successful Developer Advocate, you really do need to know how to code. Creating and shipping products for internal and/or external use is part of the job.
“When you use your products to make products, you act as “customer zero,” as Chegham put it. For example, he created, led, and shipped the official Azure Static Web Apps CLI to allow developers to run and debug their apps locally. Chegham believes every Developer Advocate should be shipping software, “Because it's essential to understand how a product or a service is designed, implemented, know its strengths and weaknesses,” Chegham wrote.
Chegham is also an active member of the open-source community, does most of his work for Microsoft in the Open. He pointed to recent tools he’s made, including https://www.hexa.run, the Nest.JS libraries for Azure CosmosDB, and Azure Storage.
Jones actually does more coding as a developer advocate than she did in her traditional engineering roles. Part of her role is creating educational technical content, which requires educating herself enough to teach others. She has to research and build to do her job. “I can see my growth as an engineer because of the variety of problems I get to solve,” Jones writes. “For example, five different programming languages support Applitools’ API, which integrates with more than 50 different test libraries. This gives me quite a bit to learn in order to speak and teach to these various sub-communities within tech. But how amazing is that?! I’m not tied down to a specific tech stack like I would be in a traditional engineering role. Instead I am able to explore and learn new languages and frameworks.”
If you are going to be advocating for developers, the least you can do is to put yourself in the end developer’s shoes by trying to master the product and the platform you are advocating for. Building real-world applications with the tools you are advocating for will also help you better understand their limitations and hopefully suggest some improvements to the engineering team.
Developer Advocates should be avid learners. A lot of the job is constantly seeking to better understand their community, their challenges, and the processes and technologies that help them do their jobs better. Developer Advocates should seek out new information by listening to their community, building tools, testing out new solutions, etc. Developer advocates need to familiarize themselves with complementary and competitive tools and services to help their community.
For Chegham, that means focusing on tech stacks including Node.js, TypeScript, Serverless, IoT architectures, databases, and hosting. But it also means learning the Rust programming language.
Here’s Jones again: “The most desirable trait of a developer advocate is a willingness to learn in public and share what they’ve learned with others, as a huge part of the role is embracing and creating new solutions to help fellow engineers. Early-career engineers can certainly excel in the role, especially under the guidance and mentorship of more experienced developer advocates.”
Serving your developer community is priority-one for Developer Advocates. To do that well, you need to listen closely to them and understand their motivations, challenges, questions, and more.
“Developer advocates should have a community-first mindset,” Jones writes. “Their loyalty should be to the community first and foremost, and their primary goal should be to be of service to the community. A developer advocate should never mislead fellow engineers to influence a sale. A good developer advocate will even direct an engineer to a competitor’s product if that’s the best solution for the given engineer’s problem.” Often, the solution is outside your product space entirely. For example, many Engineers need more Focus Time to get their jobs done. So you might recommend a tool like Clockwise, which creates more Focus Time automatically while automating and streamlining manual scheduling and rescheduling.
To be a great Developer Advocate, you need to care deeply about your developers and the problems they face.
Chegham gets tons of requests from developers who are asking questions, reporting issues, or asking for feature requests. “I always try to help them first, if I am familiar with the product,” Chegham writes. “For major issues or popular feature requests, I create a work item on our internal dashboard and collaborate closely with the product team to improve the experience based on the feedback gathered from the community.”
All the skills, curiosity, listening, and empathy in the world isn’t going to help your developer community if you can’t effectively teach others what you know. That’s why Developer Advocates need to be excellent communicators.
“It's easy to get caught up in the latest and greatest technology, but often times we need to take time to work on how to be better communicators, to listen and understand other viewpoints, to have empathy. I like exploring the intersection between technology and psychology or other disciplines,” writes LaunchDarkly’ Developer Advocates Dawn Parzych.
A huge part of developer advocacy is creating content for engineers. This includes creating, updating, or helping to create:
- Technical documentation
- Coding challenges
- How-to guides
- Support articles
- Feedback surveys
- Blog posts
- Video tutorials
Jones points out that developer advocates shouldn’t limit themselves to creating content about their employer’s products. “A developer advocate should be free to produce content that is helpful to the tech community,” Jones writes. “A lot of that may have nothing to do with their employer’s products and that’s perfectly ok. A developer advocate does not become a trusted voice of the community by constantly shoving their employer’s products down people’s throats. Even when producing content about their employer’s content, a good developer advocate ensures the content is not a sales pitch, but instead provides real value to the community.” Chegham gives keynotes at the international conferences and events, live streams webinars, and records podcasts. He’s ready to talk wherever his developer community will be.
The difference between a Developer Evangelist and a Developer Advocate
So what’s the difference between a Developer Evangelist and a Developer Advocate? One way to look at it is that Developer Evangelists are preaching the gospel of their company’s products and/or services to the developer community while the Developer Advocate is having a two-way conversation.
Developer Evangelists are there to, essentially, sell. They exist to convince developers to use their organization’s products and services.
Developer Advocates are there to advocate for developers within their organization while also helping developers do their jobs better, even if it doesn’t involve their company’s products or services directly.
Another difference between a Developer Evangelist and a Developer Advocate is that a Developer Advocate might sit under Marketing or Engineering, but a Developer Evangelist is more likely to sit under marketing.
“Developer advocates are engineers, not marketers,” Jones writes. “I encourage companies to keep their Marketing and Developer Relations departments separate, as a developer advocate can become ‘tainted’ if Marketing is giving them their directives.”
A Developer Advocate acts as the bridge between a developer community and their company.
Their mission is to:
- Understand their developer community
- Care deeply about their challenges and goals
- Learn the processes and tech that will help them be more efficient and productive
- Teach them those processes and tech
- Understand their desires for the company’s products and services
- Advocate for their developer community within the company and product
To be a great Developer Advocate, you need to be a software developer and develop strong curiosity and empathy. And you also need excellent listening and communication skills. If you prefer to have a more one-way conversation and enjoy marketing and sales, you might be a better fit for Developer Evangelist roles.