How do you become a developer advocate? What kind of role is it? What skills are required?

Question asked by Valentina Adami, thank you.

That's a great question Valentina. So for Developer Advocate (DA), that role generally lives within the DevRel group. Developer Advocate sometimes has different job expectations depending on the company. I'm going to go with a stereotypical role. First thing is that they are engineers, so these folks should be engineers who are building and testing out the API or product or feature that they're working on. One of the key skills that they need to have developer empathy, also wanting to teach. These folks are engineers who enjoy sharing with others; which I would say is the canonical characteristics when it comes to a developer advocate. Some common things that DAs do within teams, is that they work internally to help craft the developer messaging and also the developer experience and API or platform as well. They also focus on teaching and creating content that teaches folks how to use the thing. So some examples are tutorials, codelabs, code samples, writing blogs, creating videos, doing talks at events. They tend to be a little bit external facing compared to a different role that is really similar within DevRel which is Developer Relations Engineer. Generally those folks are more focused internally and on the engineering side so the Developer Advocate tends to have an external focus. It's not just communicating this out to developers, it's also gathering information and feedback from those developers, bringing that in and making sense of it. That way it can be shared internally so those wants and desires from those external developers can be brought in and tested out. That's usually done in a couple of ways because DAs are generally, in regards to scalable content, which is usually the folks were giving out talk publicly, those folks are looking at github, reddit, stack overflow, any Community groups, like on Slack. Then of course getting that information pulling it in and sharing it. 

When it comes to skill sets, I would say engineering is one core skill that a DA would need, as well as strong communication skills, and a desire to communicate. Then of course some social skills when it comes to working with lots of different people because, again, you are working internally and externally as well. One of the big things with a developer advocate, we are working with other teams as well. We're not just working with our own immediate team, we work with a lot of cross-functional teams, where we work with our core engineer team, with the PM team, marketing team. 

If you're interested in becoming a DA, some things that you could do now to get yourself aligned, so recruiters can find you, so you can become a developer Advocate, you can start writing blog posts. By all means please don't have to be super in-depth and aimed towards advanced people. I always recommend writing blog posts for entry-level folks on that topic. Content like “Intro to X” is 1) really helpful for yourself and then 2) that's actually the most common type of content people are looking for because, unless they're going to be paid to do the thing, generally people want to have an idea of how to do whatever technology you're working on. So I would recommend writing blog posts; go on stack Overflow and answer questions there as well. Depending on your own expertise,  go there and answer some questions. Submit some talks to events; and you can always join a developer group community group. That's another way that you can get plugged into where there are events. Finally, Of course, open-source development, contribute to some open source projects. 


I know it is really easy to say “Just do these things,” but this can at least give you a larger plan. Then to actually do these things, something I always recommend, is try to solve your own problem or do something that is scoped to being kind of small but you're interested in it. My canonical example is, I was planning my wedding a few years ago and I wanted to communicate with my mother-in-law who only speaks Korean. I remember thinking that I wish I had like my live translation that wouldn't stop the conversations. Then I realized that I don’t need it in person, because she lived in a different city than I do. So I really only wanted to be able to text with her. I ended up writing a little web app that she can text the phone number in Korean and that message gets translated into English, with Google Translate,  and sent to me in English. Then I can respond back in English and it gets translated into Korean and sent to her. It's really simple thing, I did not build it in mind to give to others. I built it to solve my immediate problem. I put that code on github, and wrote a fantastic README. That helped me write a great blog. Then I used that blog to submit for talks, then build out the talk. The funny thing is that that particular talk was the talk I gave when I was interviewing for Google. So that was kind of like a full circle, something that I built not thinking “This was the talk I will use for Google,” because that would have been scary. I started with a small project, added a great README, wrote my blog and used my blog as a template for my talks. Another way you can submit for talks, is to use the blog as the basis for your talk and if your talk gets accepted then you can make the slide deck for your talk. That is a lot of content and hopefully that was helpful. 

Thank you so much Valentia for your question.

Previous
Previous

Of the talks you have given at various events, which one would you say was most impactful for you as the speaker?

Next
Next

What were your biggest learning challenges in school (academic or social)?