What is the role of a developer advocate?

A few of high profile speakers in conferences and big companies have the designation "Developer Advocate".

  • What exactly does a Developer Advocate do?
  • Do they have a specific job description or is it an umbrella term for a wide range of roles?
  • Is someone in the Dev community a Developer Advocate or know someone who is one?
Did you find this post useful? Show some love!
DISCUSSION (14)

I'm not a developer advocate, but I've looked into becoming one and have talked to a few friends who fall under that title. From what I understand, it is a really different job depending on the company. At some companies, it can be, essentially, a sales role where you are selling software from a developer's perspective. At other places, it's more of a speaking/blogging/communicating about code job. You normally write demo apps to show off tech and then demo them around at conferences/meetups and online.

So it is really more of an umbrella term for a wide range of roles. Would saying

"Product Evangelist who knows the ins and outs of the how the product is built and works"

be more of a generic description?

Typically advocates keep documentation up to date, keep contact with the community, do demos and blog about the product, pass feedback on questions, and basically help facilitate a good developer experience with the company. It's a semi-technical role with high soft skills requirements.

You can think of them as public relation persons representing some software or dev methodology (SaFE agile comes to mind). You can see a lot of them giving speeches at conferences.

Source: medium.com/@ashleymcnamara/what-is...

This clarifies a lot of things. One person that immediately came to my mind after reading this desription is Dan Abramov from the React team.

Well, not exactly 😄Dev advocates are more of salesman persons than developers, at least I got that impression. I don't have a good example, but what came up to my mind at first is Peggy Rayzis from the Apollo graphql, if I understood correctly her main job is to go from conference to conference and talk about Apollo. She does have some knowledge about programming, but she doesn't actively contribute to Apollo development. Correct me if I'm wrong.

I guess this really is one of those roles where you can't pin and say this is what they do. It really does differ from company to company and person to person. I wonder how they measure their growth.

It's always seemed to me that a developer advocate is a new-ish title that has the same spectrum of meaning that "software engineer" does in that it can and usually does mean different things depending on where you work. It also can go by different names. To some, it's software engineer, others is software developer, or programmer. Dev advocates can be called engineering advocates or technical relation specialist and the like. From what I've gathered, they are kind of the externally facing version of a scrum master. Where a scrum master runs deflection for the developers and serves as the middle man between whiny executives, sales people, or other developer teams, a developer advocates seem to do the same thing, but with the customers, clients, and partners outside the company that have a vested interest in the product being done right. Not sure if this is accurate, but that's what it seems anyway.

Hi, I'm Michael and I'm an Developer Advocate (DA). I started out as a developer some 20y ago and I've been in a DA role at different companies for the last six years. It's a super exciting and varied job: from public speaking engagements at conferences and meetups to developing demos and tools to writing blog posts, articles, and books to creating audio-visual artefacts (podcasts, interviews, demo screen casts) to maintaining advocacy sites to giving workshops and training sessions. I spend ca. 70% on the road where I meet users, customers, and partners. And then I hang out on Slack channels, in office hours, and on StackOverflow to help users. So part of the job is to get the word about the tech out there and communicate good practices.

The other part—which sets advocacy apart from evangelism—is to close the loop: I collect feedback, document how folks are using the technology, and note suggestions and complains. This feedback I channel back to Engineering and Product Management to improve the technology and shape the roadmap. As a DA, you're not Sales (we don't sell stuff, heck I don't even know our pricing) and you're not Marketing (leads are not our KPIs). You represent the technology you're advocating to developers and ops folks and your credibility comes from the fact that you're hands-on with it on a daily basis, with the goal to make people successful with the respective technology.

Thanks for the clear and crisp explanation Michael. DA sounds exciting.

One thing which I don't get is, at what stage will a product startup require a developer advocate?

You're welcome and that's an excellent question—when does it make sense to have dedicate DA position? When I joined the start-ups they were well funded (B/C round) and had some 130 and 80 people respectively there. Initially, the DA role would likely be taken care of by the CTO (if you're dealing with a dozen of employees) but at some point it pays off to have a dedicated person for this role. Think about it this way: somewhere in your journey the CTO will stop doing daily engineering management and a dedicated VP of Engineering is hired to take care of this task, freeing up the CTO to focus on strategic decisions and activities. Maybe this is also the right size of the company to either find a developer in-house with great people skills and who likes to present, produce technical content, etc. who takes on the role of a DA or maybe you look externally in places like devrel.net.

I'm a Developer Advocate. I'll try to answer your questions as best I can.

  • What exactly does a Developer Advocate do?

    • I usually do a mix of things, but mostly:
    • write demo apps and blog posts that show you how I built that demo code
    • go to events and interact with people (I'm actually at a hackathon right now), gathering feedback about our products, feedback that I then take back to the product teams, helping them make it better
    • speak at conferences and meetups on topics that I'm passionate about, mostly JavaScript
    • write documentation, quick start guides and tutorials
  • Do they have a specific job description or is it an umbrella term for a wide range of roles?

  • Is someone in the Dev community a Developer Advocate or know someone who is one?

    • I am, but there are a bunch of others lurking around here from what I've seen. Like Martyn and Hui Jing

I'd be more than happy to do an #ama if people want to know more.

Thanks Alex. I now have a better understanding on what DA's do. #AMA would definitely help the community as I'm pretty sure there are other folks who still wonder what DA means.

I agree that Developer Advocacy means different things for different companies. Here is a description I like to use.

Developer Advocates - our job is to help developers solve their problems and built trust. That's #1. Now, if we can do it with our company technologies, that's even better. If we know that our solution is not the best fit, we have to be honest and say that this product/service is not the best fit.

I also like to add that we provide developer education.

Hope this helps.

Classic DEV Post from Sep 17

How I broke Dev.to on my First PR

A tale of two face-palms

Dinesh Pandiyan
Full Stack Dev | Open-Source Enthusiast | Blogger | Speaker 🔥
Sign up (free forever)

dev.to is where software developers stay in the loop and avoid career stagnation.