What the heck is a Developer Advocate?
There’s a saying in Africa that goes, “You can’t be a doctor, if you’ve never seen a doctor.” Coming from South Africa, I could only imagine being a handful of things when I ‘grew up’: a doctor because my uncles were doctors, an engineer because that’s what my teachers said kids who were good at maths did, or an actuary because my parents saw a newspaper article about how actuaries make a lot of money. Fast forward to my second job out of college in the USA, I now find myself working in a role I never knew existed, much less imagined myself doing: a Developer Advocate.
Right now you’re probably asking yourself: What the heck is a developer advocate? I’ve never heard of that before, what do you do? I wrote this post to answer those questions, share how I became a developer advocate and offer advice to those considering becoming one. I also wrote this post for my family in South Africa, who keep asking me how to explain what exactly I’m doing in ‘America’ to my relatives back home. Here you go, Ma!
What is a developer advocate?
Developer advocates (DAs) are typically found at companies who make products targeted at software developers, like, Stripe (payments API), Twilio (SMS API) and Timescale (Databases). Contrary to what the title might suggest, developer advocates aren’t out there defending developers in court cases. Rather, the job of a developer advocate is to help software developers and engineers, the people creating software, to be successful at their jobs.
DAs do this by deeply understanding the problems developers have and then build content, tools and sample apps to make it as easy as possible for them to accomplish their goals. I work at Timescale, a company that makes a particular kind of database, one focused on time-series data. So at a database company like Timescale, advocates might help developers set up monitoring for their kubernetes environments and use that data, or help them learn more about time-series data and how it’s useful in general.
Developers hate being ‘marketed’ to, so DAs must earn the scarce currency of developer trust by being as helpful and authentic as possible, helping their employers product gain adoption in the process.
What does a developer advocate do?
There are 4 key components of the DA job: (1) Writing (2) Presenting (3) Building user empathy (4) Community building.
DAs write
Developer advocates write. A lot. Communicating in a persuasive, authentic and helpful way is key to being a successful DA. DAs do many different kinds of writing:
Technical tutorials. These help developers accomplish a certain goal using specific technologies (e.g Monitoring your database using prometheus and PostgreSQL).
Explanations of technical concepts (e.g What is Time-series Data?).
High-level pieces on problems that developers have and are looking to solve (e.g monitoring infrastructure using open-source technology).
The written content isn’t just for the company blog. Advocates’ writing lives where software developers live: on technical blogs, forums like HackerNews or websites that developers frequent, like DZone or DevTo. Moreover, I often get to use my company’s product to do things that I find interesting, for example, analyzing 4100+ cryptocurrencies from 2011-2019.
DAs present and speak publicly
Developer Advocates talk about topics we’re interested in. Talks could be about a technical topic, like how to solve a certain engineering challenge or about a non-technical topic like our take on a certain industry or experience learning something new. For example, I’m speaking at the 2020 PostgreSQL Conference NYC about storing prometheus metrics in PostgreSQL, as making the most of metrics data is an important topic for engineers building cloud-native products.
Developer Advocates also attend events, often around a certain theme (e.g The Internet of Things). At the events I’ve attended, I’ve often introduced people to Timescale and given them a short demo relevant to their use-case (see examples here and here). Public speaking can go beyond live talks and also involves doing Youtube videos, webinars and even Twitch live-coding seminars.
DAs are developer focused and build empathy
Building a great product involves solving a painful problem. To do that well, you need to be grounded in the reality of the user and understand them deeply. Developer Advocates play an important role in bringing empathy for the user and their use-case to the product design process. DAs collect and synthesize feedback and advocate on behalf of customers with the product and engineering teams.
One way DAs build empathy is through meeting developers (some who are users of their product, others who aren’t) and asking questions to understand their context, workflows, needs, goals and decision making processes.
DAs build community
Developer Advocates participate in existing technical communities (e.g communities around an open-source project like PostgreSQL) through meetups or conferences. DAs build relationships with the most active and influential members in those communities and try to help them grow the community.
DAs also build community around their company’s product. One of my first projects at Timescale was to launch our Timescale Heroes program, which helps the enthusiastic and impactful community members further their careers by writing and speaking about how they use Timescale. Through the Heroes program, I’ve met folks who work on Golden Globe winning animated films and who are using data to fight air pollution in India.
How I became a developer advocate
I never set out to become a developer advocate. On the contrary, I was influenced by my social environment into coveting prestigious or high-paying jobs that others valued, like being a Google Software Engineer, all the while feeling uneasy and struggling with the question “What career path is the right one for me?”.
I’ve found that a useful approach to finding the career or job to which I’m best suited, is to do things that align with my curiosity and focus on my unique strengths. Now, we’re not always aware of our strengths, so sometimes it takes others to point them out to us.
I was fortunate to have this happen to me, when when my new manager at Timescale (who was previously a developer advocate or built developer relations teams at Facebook, Twitter, Amazon and Microsoft), noticed that I had a unique blend of well developed technical skills and strong communication skills and thought I’d be “a natural” developer advocate.
I was hesitant at first, I felt the job didn’t sound prestigious or credible enough. What convinced me was my new manager’s observation that he found it odd that I wasn’t using my public speaking skills in my current position, as he watched my TEDx talk on health and fitness and enjoyed it.
I was excited at the prospect of speaking and presenting again. I had enjoyed and excelled at public speaking throughout my life: I was that kid in class who enjoyed presentations, while other students hated them, I excelled at competitive debate in high school and in college (shoutout to my WSDC, BP and APDA friends) and I felt most alive pitching investors and users for the startup I co-founded during college.
His observation reminded me that as much as I’ve been successful through struggle and hard work, I’ve enjoyed greater success by doing things that came ‘naturally to me’ - by doing things that felt like play to me, but others saw as hard work.
After reflection, I found that the skills required to become a successful developer advocate (presenting, writing, empathy and community building) were things I had done in the past and enjoyed and also skills I wanted to improve. That made me view being a developer advocate as an opportunity to focus on my strengths and and develop mastery in them. So I took my new manager up on his offer to become a DA, and the rest is history.
Transferable Skills
One reason why It’s difficult to find high-quality developer advocates is because most of the skills required to excel at the DA role overlap with those of being a good founder. As a former (and probably future) founder, I think there’s a lot of truth there. DAs and founders both:
Build relationships. Founders build relationships with investors, employees and advisors, while DAs build relationships with developer communities in various industries and users of a specific technology. Both need to understand the needs and incentives of the people they build relationships with and how they can help them be successful.
Speak and write persuasively. Founders develop compelling pitches to secure investors, employees and customers. DAs write and speak to share their experience and help developers solve a specific problem. Both need to be good at this to succeed.
Empathize with the user. Both founders and DAs constantly talk to users to understand their context, needs, goals and decision making process. This is necessary for building a great product and for their product to gain adoption.
Write code. Both DAs and founders are technically competent, in order to understand their product, and both build demos and MVPs to test ideas quickly.
Learn and experiment constantly. Both founders and DAs constantly operate on the edge of their knowledge and are always learning more about their industry and their users. Both run experiments to discover the best way to delight users and help them be successful.
Want to be a Developer Advocate? Here’s how...
Being a DA is the most fun job in tech. After reading this far, perhaps you’re interested in becoming a developer advocate too? Here are some actionable steps you can take to develop the skills of a developer advocate that will set you on your way:
Keep a blog. Write about the ideas, technologies and products that most interest you and why you find them fascinating. You can also write about the products, ideas or technologies you’ve found most useful and explain how they’ve impacted you or helped you do a specific job. You could also share your best practices for common tasks in your life, e.g your go to stack or tools for building monitoring your apps or your go to IDE.
Teach what you learn. Create written or video tutorials teaching people things you’ve learned. Post them on your blog or on Youtube. Teaching helps you find gaps in your knowledge, which you can then fill to become even more proficient.
Document and share. Document what you build and the journey of completing your various projects. This helps others see the real side of building something and help them become more at peace with their own emotional struggles when doing something new. Showing your work in public gets you used to the very public-facing nature of being a DA.
Become part of developer communities. Attend events like meetups or conferences where you can meet other developers who are passionate about their job, or about a certain product or technology. If you can’t find any events that interest you, start one! If you there’s nothing in your vicinity, Twitter is a good place to make like-minded friends online in the tech space.
Talk about things you’re curious about. Give talks and presentations about things you’re interested in at the events you attend. You could also start a podcast and use that as a vehicle to speak about your interests and have conversations with people you find interesting. Vlogging on Youtube is also great for this.
Ship Often. Build things you’re interested in or build things to solve problems you have and release them into the world. Ship early and often, but revise and iterate according to the feedback you get. This also gets you ready for the intensity and face-paced nature of the DA job.
Keep learning and following your curiosity. Let your interests guide you and keep exploring and digging deeper into the topics that you’re curious about.
If you’re applying to be a Developer Advocate at a specific company, think about how you can demonstrate your understanding of that company’s product and their target user, as well as how you can reduce the friction to that user getting started and getting value quickly from the product. Perhaps write a tutorial or blog that would solve the problem.
If you’re graduating from a CS degree program or want to found a startup in future (particularly one focused on developers), consider looking into developer advocacy as stepping stone to founding your next company by sharpening your technical and “soft” skills.
Lastly, it’s worth noting that there’s usually two kinds of DAs: Type 1 DAs are people who were developers but then transition to, or additionally take on the role of, developer advocate. Type 2 DAs are people who weren’t professional software engineers but have the technical and communication skills to excel in the DA role. I consider myself a Type 2 DA and my perspectives and advice reflect that path. If you’re interested in hearing from Type 1 DAs and their perspective on the role, I’d recommend reading this piece by Ashley McNamara and this piece by Wassim Chegham. For more on the developer advocacy function, The Business Value of Developer Relations is a good place to start.