This whole article spanned out of a Twitter thread happening over the weekend, and I felt I wasnāt doing it justice with a series of 280 character posts. Iāve also embedded the thread at the bottom of this post, so itās easier to see the whole context in one place. A few misconceptions are floating around the internet about what a Developer Advocate does regularly, and they revolve around the glamorous life weāre having, jetting around the world daily. I thought Iād share what being a Developer Advocate is for me, and what I do and donāt do on a regular basis.
What Is a Developer Advocate Anyway?
There are a lot of definitions online if you happen to google it, and all of them differ. Iād say it depends, but then youād probably ragequit right here. Bare with me. Most companies and products are different, and the goals for DevRel teams vary, so people doing developer advocacy in those teams have slightly different roles, with the same title. So Iāll talk about the things I know and Iāve been doing for the past few years.
Iāve been a Developer Advocate for Nexmo in this time, and my role is to be the bridge between the product teams developing the Nexmo APIs and the developers using the Nexmo APIs. Whenever we develop a new product, Iāll be ācustomer zeroā, basically the first developer to use it in a production-like manner. Itās a 2-way bridge though, so once itās made public, Iāll also look for feedback from the developers using the product, and bring that back to our product team, so they can improve on it.
If youāve only clicked through to see what a developer advocate is, you can stop here, they are āthe bridge between product and developersā. If you want to see how that translates into day to day work, read on.
What Does a Developer Advocate Do Every Day?
I can honestly say this is one of the most flexible jobs Iāve had (and Iāve had a few). Itās a mix of Product, Engineering, Education and Community roles. No two days are exactly the same, and on any given day Iāll do one of these things or a combination of them.
Education
This translates into creating blog posts, tutorials, documentation, workshops, and webinars around the Nexmo APIs.
As a JavaScript Developer Advocate at Nexmo, I deal with creating blog posts on how to use our APIs in conjunction with other technologies. For example, Iām currently writing a blog post on how to send and receive SMS messages with Node.js and Express.
We have a team that deals specifically with Developer Experience and the Nexmo Developer Platform, and they identify areas that need improvement there. If itās JavaScript related, Iāll hop on one of those issues and improve our documentation. For example, the Programmable Conversations docs needed āGetting Startedā guides written for all the languages it supports, so Iāve written the ones for the JavaScript Client SDK.
The getting started guides and blog posts are shorter form content but Iāll occasionally do something a bit longer like a tutorial. Whatās the difference between blog posts and tutorials, you ask?. Iām glad you asked. We define them slightly differently at Nexmo. The blog posts are shorter-lived content, which doesnāt get maintenance and updates over the year. But tutorials live on our Developer Platform and get regular updates, so theyāre long-lived. They may start as blog posts some times, and weāll migrate them later on if there is enough interest from the people that read them.
Written content is not only used for our blog and documentation, but itās also used for the live workshops and webinars weāre doing. Iāve just finished writing and then running our Nexmo Convo Workshops in Australia, and Iām working on a new workshop for our Vonage Campus event happening in San Francisco in October. If youāre in San Francisco, you should definitely join me, Iāll walk you through building talking websites.
Engineering
Not all the Developer Advocate roles have a strong engineering component to them, but youāre still writing code regularly. Why? Well, because all those blog posts, tutorials, documentation, workshops, and webinars are based on code. Code youāll be writing. The blog posts and tutorials all need the demo apps, while workshops and webinars need example apps. Whatās the difference? Well, demos usually have a shorter life span, are specific to a use case (for example āHow to create your own voicemailā) and could have a third party integration in them, while example apps have a longer life span, get periodic updates and are functionality based rather than use-case based (for example āHow to record an incoming call with Nexmoā).
If youāve been paying attention, those two use the same Nexmo APIs and features, but one deals with a specific use case you can build with those features, and the other one focuses specifically on explaining how to use those features on their own.
Workshops and webinars rely on the same demo or example apps that Iām writing for the blog posts and tutorials, so I can reuse them.
Documentation also needs code, so I end up writing most of the JavaScript code snippets that go on the Nexmo Developer portal. Those are shorter examples that deal with just one particular functionality of a Nexmo API. For example, āHow to record an incoming call with Nexmoā, is both a blog post and a code snippet. Where the blog post deals with everything you need to build an application that can receive an incoming phone call, and then record it, the code snippet is like a Lego block and only has the code needed to record a call, without dealing with the adjacent code needed to build a full-fledged application.
Iāve said most Developer Advocates donāt have a strong engineering component to them and deal with writing demo and example apps, not necessarily production code. Iām lucky enough that my role actually has a strong engineering component to it. The Developer Relations team at Nexmo owns and maintains the Nexmo Server SDKs, which are wrapper libraries around our APIs, so itās easier to use them. From Go, Java, JavaScript, .NET, PHP, Python, and Ruby. When Iāve joined Nexmo Iāve inherited the Node.js SDK and Iām maintaining it, and that means I get to write production-level code every time a new feature needs to be added to the SDK.
Maybe Iām doubly lucky, but Nexmo also has a CLI written in Node.js, that we use across our documentation to help developers set up their account without having to go to our dashboard. So I maintain that as well, and because theyāre used by thousands of people, I need to make sure theyāre production-grade.
If you look around online, there is a pattern of Developer Advocates moving back and forth to Engineering roles, because they miss building products. I think this particular aspect of my job, developing the SDK and the CLI is what makes me not want to switch back and forth because Iām already building products as part of the role.
Product
As a bridge between Product and Community, you act as a feedback mechanism. For everyone. When Product wants to build something new, or change the way one of you APIs works, who better to reach out to than someone whoās job is to understand developersā pain points. So I get to participate in the Product development process. That usually means looking at OpenAPI specs and trying to make them easier to read or make sure theyāre easy to use. Or testing out a new product or feature, and making sure itās something that developers want to use.
Once the product is ready for release, I also collect feedback from the people that use it. Iāll occasionally sit in while people try to use the documentation and the SDK, trying to figure out the bottlenecks and remove them, or gathering feedback on how the product is used in the wild. That doesnāt really scale well though, so you need a bigger audience. Thatās where interacting with the developer community at large comes in. And how do I interact with the developer community, you ask? Well, read on!
Community
There are a few ways I get to interact with the developer community on a regular basis. My favorite one (and if you ask my boss heās probably the least happy about it) is speaking at conferences and meetups. I have a variety of topics I speak about, from non-Nexmo related ones (Hands-on Performance Debugging), where I talk about the things Iāve recently done in the broader JavaScript world, to Nexmo-adjacent ones (How I built a talking website) where I talk about the things Iāve built recently, and those usually involve a Nexmo component because I spend a lot of time building things with Nexmo. The Developer Relations people at Nexmo donāt do product pitches on stage, but other Developer Advocates will do product pitches as well, depending on the audience and the event.
One of the other ways I interact with our community is by sponsoring events and manning the Nexmo booth. I get to tell people all about Nexmo if they havenāt used it before or listen to their feedback if they have. And you know, hand out T-Shirts and stickers like theyāre candy š . In all honesty, this is probably one of the more draining activities from the #devrellife, thereās a lot of things that happen behind the scenes, from preparing the materials to use at the booth (event page, survey, demos), to physically getting there before everyone else to set up the booth and then pack it all up at the end. It involves a lot of work, and I donāt do this alone, usually thereās a few of us from Nexmo sharing the work and being present on the day at the booth. The slightly sarcastic twitter thread about how a day of sponsoring a conference looks like is what prompted this whole article.
These are just the tip of the iceberg though as most interactions with the community donāt happen in person at events. I interact with people trying to use our APIs a fair bit on StackOverflow, Twitter, and the Nexmo Community Slack. Itās usually the same scenario, someone is having an issue with following along one of the pieces of content weāve published, or theyāre trying to build something with Nexmo and they havenāt read up on all the documentation available, so Iāll nudge them in the right direction, or answer questions about our APIs. This is probably one of the most time-consuming things I do, mainly because itās async, and it involves debugging other peopleās code, code I donāt actually get to see. So it means a lot of hypothetical solutions, seeing a lot of code snippets, and trying to figure out all the possible ways it could be wrong.
What About Those Misconceptions?
If you still donāt know what a what a Developer Advocate does on a regular basis, let me at least tell you what I donāt do.
The most common misconception about the #devrellife is that we get to jet around the world from conference to conference, traveling and living in style, because everything is paid for by the company. It could be so, but it isnāt. And let me tell you why: itās simple math. You have a set budget every year. The less you spend on one thing, the more things you can do. Some developer relations programs are big enough and lucky enough that they can actually fly business class if the flight is over a certain number of hours. But most developer relations programs out there donāt have that kind of policy so everybody flies economy.
At Nexmo, weāre lucky enough that we can upgrade to Premium Economy if the flight is over 6 hours, and we can ask for business if we do back to back events or if we feel like we need to. Let me be clear, weāre not asked to do these things, family and health come first. But most of us choose to do more for our communities, and choose to fly the cheapest logical option, most times with budget airlines. The reason is simple, instead of flying business, we can sponsor that extra community conference this year, or host one more meetup every month. And we do that because at the end of the day, helping enable those communities to gather in person (most of which wouldnāt be able to without sponsors), heavily outweighs us being slightly more comfortable for those 6 hours.
As for the āliving in style and luxury hotelsā part, the same as we have a certain budget for flights, we have a daily limit for hotels as well. That is nowhere near enough for the luxury hotels. I for one donāt care for those fancy hotels anyway. I just donāt feel comfortable in them, and I donāt really have the time to enjoy the amenities like āspa dayā and āgolf clubā. A hotel provides a simple function, and thatās a place to sleep. I have a few simple rules I use to choose my hotels, be it for traveling for work or holiday: above 8 on booking.com, as close to the venue as possible, preferably with a treadmill or gym. And that gives me enough options to choose from, I end up usually going with IHG because theyāre the cheapest options.
āOK, you donāt travel and live in style, but you get to see the worldā. Yes, I do. Iāve seen about 20 airports and 30 hotels this year. And the bus/taxi/train rides in between them. Even if you do get to a new city, itās not like you have the day off to go exploring. Youāve still got a job to do, and most of the time I end up in a coffee shop with good wifi either close to the hotel or close to the airport. Learning to navigate a new city every month gets exhausting after a while, so I try to minimize the interaction as much as possible. If you do happen to have some free time in the evening, because thereās no conference function to go to, you just end up crashing in the hotel room and Skyping your loved ones.
So Why Do I Do This? Why Am I a Developer Advocate?
Itās definitely not for the āglamorousā life, or for all the āfameā and āgloryā. Iām doing all this because I genuinely like to help people! And I could honestly say Iāve helped at least one person every day! I really care about the developer community, āmaking developersā life easierā is not just a marketing gimmick for me. Despite being sarcastic on Twitter, Iāll gladly do this all again tomorrow, and Iām going to enjoy every moment of it. I love helping people and this is the most rewarding job Iāve ever had (and Iāve had a few).
If you find yourself thinking āI wish I could do this as wellā, well, you can!. Iām more than happy to help - you can find me on Twitter, and my DMs are always open. I also co-curate a weekly newsletter with Julia called āDeveloper Avocados š„ Weeklyā, full of resources geared towards helping you become a (better) Developer Avocado š„, give it a read. If youāve read this article and think āI wish I could join youā, well, thatās possible as well, Nexmo is hiring for a bunch of roles in the Developer Relations team, take a look at the open roles or DM me about it.

Top comments (4)
I do not question your motivation, but I do feel it is very wrong to say this is a glamorous life. Many people are coming to this industry because of said glamorous life and they end up loosing it and not being able to overcome their own doubts and daily challenges. I'm okay with helping people as well, but when people simply do not like what they are doing, you cannot help them enough.
Besides, this industry does not provide any glamorous life. The developer life is as hard as many others. The only difference is that you get paid a little extra for it and since people need you, they will take care of you. Other than that, one could argue whether or not this industry isn't even more demanding than others since you are forced to learn new things, all the time, every day (not an exaggeration, people), you're constantly pushed out of your comfort zone and with problems you spend hours/days/weeks figuring out how to solve.
It's a fascinating industry and I am sure your job is amazing as well, but please reinforce there isn't a single glamorous thing in these careers.
I think you're missing the point here, or I wrote it really badly. But this whole article was written to show there is no glamor in the Developer Advocate life. It's hard work.
šØāāļøYou're doing all this because you genuinely like to help people!
š®And you could honestly say you helped at least one person today!
^ ^ ^ ^ This.
šExactly! It's the thing that keeps me going, almost 3 years later.