Originally published on Key Values.
There are countless career paths for a software engineer, and I'm not just talking about different flavors of engineering management or individual contribution. I've met several engineers who, after years of coding, transitioned to developer advocacy. I think more people would do the same if they knew what it was.
Developer advocates (who are sometimes called "developer evangelists" or fall under their company's "developer relations" org) are technical people who also excel in communications. What makes developer advocacy so intriguing is that it welcomes a broad spectrum of people and backgrounds: bootcamp TAs, enthusiastic bloggers, passionate technologists, and theatre performers are all well-positioned for success in this line of work.
As a burgeoning field, there are many people who still haven’t discovered what developer advocacy is and some who have already drawn false conclusions. (To be fair, that’s easy to do when you only have one or two data points.) This is why I talked to 15 developer advocates about their day-to-day responsibilities and the common misconceptions people have about their jobs. [Spoiler alert: It's not all glamorous travel, they're not all extroverts, and yes, many of them still code.]
Here is an introduction to what developer advocates do, what kinds of people do well in these roles, and how to become one yourself:
People see us traveling to give talks in all of these cool places around the world and they think that's all we do. But no one understands that out of these cool places, I mainly see the airport, the hotel, and the venue. And while I may be on stage for only an hour, a lot of work goes into preparing for that. In between all of that is figuring out how to work from planes, trains, and automobiles. I still haven't figured out how to remote out of a car yet :)
Developer Advocate (EMEA) at GitHub.
The need for technical ability is overstated. The ability to make human connections is by far the most important aspect of this job. I think you need to be technical enough to participate in the kinds of conversations that come up, but the perception that developer relations people (aka devrellers) have to be engineering rockstar ninjas in order to be taken seriously is, to me, a bunch of self-aggrandizing, gatekeeping hooey.
Ex-teachers are my favorite people to hire into this role. I'd take someone who has experience teaching high school over a senior developer any day. I say this as an ex-teacher, but also as a developer with >20 years experience.
The biggest misconception is that we spend our days coding. I've seen many people who love to code leave this type of role because, as it turns out, it is probably only 10-25% coding (and I'd generally say on the lower end of that range). I like to think of it as, when we get the chance to code, it's usually to learn new things, experiment, and be creative. A lot of the job involves things like meetings, writing, travel, presenting, and other non-code activities.
The Cloud Native Computing Foundation is the home for a few of the most fast-growing open source projects in the world, including Kubernetes, Prometheus, Envoy, Helm, and others. CNCF is a non-profit, community-focused organization, and in my case, my job is an organic combination of community program management and technical developer advocacy.
I’m focused on advocating (i.e. blogging, public speaking) for the CNCF projects (specifically, Kubernetes and Helm), together with the wider Cloud Native ecosystem. Besides that, CNCF runs some community-oriented programs including Ambassadors Program, Meetups, and CNCF’s participation in Google Summer of Code, which I help to curate.
Being a Developer Advocate at a community-focused organization is an amazing experience, especially for someone as passionate about Open Source as I am.
I write digital content (how-tos, tutorials, blogs, and code snippets) as well as develop and lead in person workshops and lecture style talks. Occasionally I have more customer focused meetings where I work with dev teams and show them how IBM Cloud and/or Watson API Services work. All of these activities generate feedback from the external dev community that I look to bring to internal teams to make sure we are building the right stuff.
The majority of my time is focused on education and training, but I also actively contribute to the Drupal and WordPress communities. I feel like we’re doing it right with programs like Pantheon for Trainers (free stuff for educators) and workshops like Getting Started with Drupal 8 (a class we run in-person at conferences and online for Drupal Global Training Days).
Pantheon expects the DevRel team to “know” the community, and we do this by being active members ourselves. We volunteer at the camps and conferences we attend. Sometimes that means speaking or organizing, other times it’s a less glamorous job like the cleanup shift. There's no better way to get to know a group of people than to serve alongside them.
Developer Advocacy is the perfect job for me. I'm not selling anything, I'm just sharing what I've learned, contributing what I can, and seeing first-hand that it makes a difference.
Co-founder of DeveloperMode, formerly Developer Relations Lead at Algolia.
A person who enjoys using their left and right brains simultaneously. Developer advocates are a bridge between the code and the people writing it, so they need to understand both. The best advocates all have a innate desire to help developers solve problems even when it's not directly related to their company's product. An insatiable curiosity and entrepreneurial spirit are two characteristics I'd add to the list. A lot of DevRel is exploring brand new territory without a playbook.
Engineers who can work well autonomously, and like people and developer communities. I think that generally people who like sharing knowledge and enabling other people can be great for the job.
Since the individual roles and responsibilities vary a lot from company to company and even from team to team, it's important that your ideas of the job are compatible with those of the company.
When developer advocacy was newer, companies were looking to hire people who would do everything. However, today, there is more specialization for each devrel role. One could be more focused on the community side, creating content, or dedicated to building/coding.
I believe the best person for a Dev Relation role has to be curious: curious to hear people's stories, curious to meet new people, curious to try new things. This person has to be humble, too, putting themself in other people’s shoes.
Not every outgoing person would make a good dev advocate. Introverts that like to write and tell stories fit perfectly too, in fact many of us are introverts.
I 'fell into it' about 25 years ago because I was bored being a full-time engineer and wanted to get out and talk to people. For engineers interested, practice talking about what you do in ways the anyone can understand. Don't talk 'down' to people, but find interesting ways to explain things, tell stories, etc. And learn to listen. Really listen to what other developers are telling you.
As a software developer, I really enjoyed blogging and I also gave a lot of conference talks, then wrote some books ... so I became an advocate to fund my writing and speaking habits! For all engineers I'd say it's both important and rewarding to get out in the community in some way, such as writing a few blog posts or improving the README on your favourite project.
I stumbled into my career as a Developer Relations professional. I was an early employee at SendGrid, and a friend of mine at the time, John Sheehan, happened to be launching Twilio's developer evangelism program. As I realized that our two companies were aiming to achieve the same business goals by working with the same communities (ie, devs), it just made sense to combine our powers, team up in our Dev Rel efforts, and work closely together. The rest is history.
Advice: If you're interested in getting into Dev Rel, the simplest way to explore and find your path is to start doing it. Be an active representative of your employer’s technology, get involved in developer communities that interest you, contribute value to those communities, and build your personal brand within the dev community.
If you’re not currently employed by a company with a product/service to evangelize, then identify a technology, product, company somewhere in the market who might gain value from Dev Rel and who aligns with your interests and values; then simply engage with them as a community member -- interact on social, build something using their tech and showcase it in a blog post, mention them in a meetup/conference talk, etc. Your contributions will be noticed.
Accidentally :) A friend who is a professional speaker signed me up to do a lightning talk. It went well and was requested as a full talk at a separate conference. The company I worked for took notice and we used it to launch a Community Engineering team.
In 2017 I made a resolution to Learn In Public and focus specifically on frontend development. I repackaged everything I learned into a blogpost or cheatsheet or talk or tweet series and these got me noticed both by people who knew more than me and people who were interested in learning the same things. Despite being in a dull big-company job nobody cared about, I was able to grow my knowledge, network, and profile on the side by serving the community I wanted to be a part of.
For me, it was just a career/learning hack, but it turns out employers want people to speak their language, build demos, be beta testers (this is literally in my job description), and represent the end user at the table, too.
I have a degree in theatre performance, and worked as a musical theatre actress nights and weekends (while being an admin in tech by day) before eventually discovering programming and applying to Hackbright (an all female software engineering bootcamp). My DevRel epiphany happened when we presented our final projects at Hackbright to an audience of potential employers. I realized that while many of the women in my cohort were very strong technically, many were terrified of public speaking and presenting technical content.
Once I discovered that Developer Relations was a specialty, I knew it was my niche. It takes a certain type of human to juggle content writing / presenting / teaching / tweeting / empathizing with engineers. My experience in the performing arts is now my secret weapon for meet-ups, videos, marketing, and networking.
I view almost all my developer relations tasks as putting on a performance. I think sometimes we forget that engineers are people, too – they like to laugh, have fun, and be entertained. My advice to anyone considering becoming a developer advocate is to not be afraid to think out of the box. For me, that was making a camp-themed meet-up with s’mores, songs, and giant squirrel costumes (vs. the typical cold pizza/warm beer meet-up I was so used to yawning through). Use your background and experience as a developer (or musical theatre actress, in my case) to think through how to make developer experience better!
If you're at all interested in learning more about developer advocacy, or how to break into it yourself, try reaching out to any one of the wonderful people quoted in this article. After putting this post together, I can tell you firsthand how welcoming (and tight-knit!) this community is, and how happy everyone is to share their stories and help.
Thank you to everyone who contributed to this piece, and special thanks to Josh Dzielak who introduced me to the world of developer advocacy. This article wouldn't have happened without your help! 🙌