Ever since I announced that I’ll start working as a developer advocate at huggingface, I received tons of questions. I shifted my career from being what I call a full-stack machine learning engineer, doing NLP, predictive analytics and backend development, to being a developer advocate in machine learning. The reason why I’m writing this is to answer the questions and fix the misperception on what developer advocates actually do.
What does a developer advocate do exactly? Why do companies hire them?
Developer advocates are developers of a framework/platform who communicate the features and updates in the platform, and build tools for developers. The companies mainly hire developer advocates so that the updates are adopted by the developers that use their frameworks, develop tools that their developers need and help developers out in general instead of just releasing something and leaving the developers to figure things out by the release notes and docs.
There’s a myth out there on how developer advocates don’t know anything, they can’t do work in production because *all they do is to create content*, which is not true. Except for the big tech, developer advocates actually develop things within the ecosystem, it can be an SDK, an integration or a tool, they also can develop a new feature, as most of the start-up positions are very broad. In big tech, they develop applications and implementations so that the developers can adopt the new features, so they also code actively, knowing most of the codebase and implementing new features when they’re out. Putting technical work aside, the solid requirement is to communicate this work to developers so that they can adopt it. I’ve also seen many developer advocates who aren’t using social media that much. I’ve never came across any developer advocate who doesn’t do development, but creating content is also a hard thing to do given you need to know the codebase and communicate it effectively. But because developers usually see advocates doing this work, this has become a common myth and something to rant developer advocates on (I really don’t know why).
What is the difference between developer advocacy and developer relations?
From what I’ve seen in various companies (I’ve came across this firstly in Google Developers) DevRel is the organizer part and builder of the communities, rather than technical work. Developer advocacy on the other hand is a deeply technical work.
What kind of skills do I need if I want to become a developer advocate? Why do companies hire developer advocates?
Before switching my career I talked to many developer advocates (working in big tech and start-ups) and the common thing they told me was to have an experience in development, and ability to communicate the work. I think that another thing is to be approachable and the ability to simplify concepts. I’ve been using open source frameworks in which I remember bugging developer advocates a lot and they did solve my problem, and I appreciate their work. (Another reason why I became one)
I will end this article here, thanks a lot for reading.