I recently gave a presentation on what Developer Advocacy is and I thought I would share my thoughts here. If you want to find the slides for that talk you can get them here and if you’re interested in having me give this talk at your meetup or conference please contact me.
In this article, I'll provide an overview of Developer Relations (DevRel) and guide you on how to get started. If you're considering this as a potential career, I hope to inform and inspire you. Even if you're not planning to pursue this career in the near future, you can still advocate for a product or service you're passionate about in your current organization or on your own. You don't need permission to promote your favorite open-source software!
When discussing Developer Relations (DevRel), it's important to start with the job title. This profession has existed for a long time under various names. I recall early in my career as a ColdFusion developer, there was a gentleman named Ben Forta. He was a ColdFusion Evangelist for Adobe. He impressed me (and still does) by demonstrating the capabilities of ColdFusion, answering questions, and speaking at conferences. I remember admiring Ben and often wondering to myself, how does one pursue that position as a career path.
These days you will often hear to these individuals referred to as Developer Advocates. You will often hear the team of advocates referred to as Developer Relations and you may even have more than one of them inside an organization.
Things start to get interesting here. If you ask 10 Developer Advocates to define their role, you're likely to receive 10 different answers with some overlap. This is because there's no standardized definition for a Developer Advocate. Moreover, if you search for job postings, you'll find varying responsibilities under the same title.
This diversity results from the fact that Developer Relations (DevRel) means different things to different companies and even to different departments within the same company. To understand what Developer Advocacy might imply for various companies, let's begin with the definition of advocacy:
“public support for or recommendation of a particular cause or policy.”
To illustrate, some of the most pressing advocacies for young people include climate change, mental health, education, and gender equality. Nevertheless, it's crucial to note that the most effective advocacy will be for a cause you truly care about. You can be an advocate in your communities for anything of these things but you should probably believe in it and or be passionate about it before you advocate for it. It’s hard to advocate for Climate Change if you don’t believe in it.
The is where the combination of Developer and Advocacy comes together. If you’re passionate about Developers and the path they have taken in their career to get where they are you are probably passionate about helping them. I remember struggling as a new developer learning new things and constantly failing and just how hard it was to get through that stage of my career. I remember questioning myself and weather or not I was smart enough to do this. This struggle has led me to a life where I truly enjoy helping others because I remember being in that position and when something finally clicked I remember that feeling of excitement that I finally understood it. I have a few quotes from Developer Advocates that I am excited to share with you around what they think it means to be a developer advocate.
“In my opinion, someone in developer relations serves as an advocate for the tech community within their company.” - Emily Freeman - @editingemily
I greatly appreciate this perspective as, for me, advocacy begins with the community you're serving. These are the individuals you're striving to assist, and I believe Emily encapsulates this perfectly in her insightful article titled "Developer Relations: (More Than) the art of talking good". While addressing the issues your community struggles with is a part of it, having empathy for their experiences is equally, if not more, essential.
“When I say that I’m a developer advocate, a lot of people wonder what that means, and they’re “Oh, are you just like a paid shill for GitHub? No, no. If anything, I kind of think it’s the inverse. I’m actually a paid shill for our users, because those are the people I care about, the community members.” - Christina Warren - Senior Developer Advocate at GitHub
Christina is an exceptional advocate with a deep understanding of her audience. Although we are paid by a particular company, our primary focus is serving the developers using our products. To hear more from Christina on this topic, you can listen to her guest appearance on the Changelog podcast.
“So the way that I run my developer relations team focuses on three different things. The first is around education, the second is around community, and the third is around the product.” - Lee Robinson - Vercel
I appreciate this quote by Lee Robinson because it encapsulates our role as Developer Advocates. Lee also appeared as a guest on the Changelog podcast, where he shared his insights on Developer Advocacy.
I align with Lee's definition of a Developer Advocate. To me, it represents the intersection of community and company through education. I aid in educating the community through conference talks, podcasts, videos, articles, and more. Through this process, I identify the challenges our community faces and assist in answering their questions. I also bring this feedback back to my company.
The reason you get so many different answers when it comes to defining Developer Relations is because it means something different to different companies. I reached out to Kelsey Hightower on Twitter and asked him how he defines it and this was his response.
Kelsey is always ready to give his opinion, and I found his response to be incredibly candid and honest. Different companies have different objectives, so the company that employs you will typically define their goals.
So, where does Developer Relations (DevRel) fit within an organization - sales, marketing, or engineering? The answer varies depending on the organization's goals. It's also complex because Developer Relations combines many disciplines. Developer Relations is about:
- Engagement: Establishing connections with developers and tech audiences
- Community Building: Fostering and nurturing developer communities
- Advocacy: Championing developers' needs for superior product experiences
- Organizational Representation: Promoting our products within the developer community
- Technical Expertise: Deep understanding of our product to educate and support developers
- Resource Creation: Developing demos, code samples, tutorials, and more
- Beyond the Basics: A role that encompasses a broad spectrum of skills and responsibilities
Different organizations may prioritize certain aspects over others. Let's look at a few examples of companies with Developer Relations (DevRel) teams and how their goals might vary.
If you're part of a startup with new products, your primary goal might be raising product awareness. You could attend conferences and engage in introductory discussions with developers, letting them know you have solutions to their problems. Promoting your products through education should be your main objective. Once people start using your products, gather feedback regarding their questions or challenges. This valuable information can be relayed back to your product teams for improvements.
If your company produces developer tooling, Developer Relations (DevRel) is essential for your company's success. It's crucial to engage with developers and gather their feedback. A positive user experience plays a significant role in product adoption, and feedback from beginners to advanced users can facilitate this. In this context, establishing a direct line with the engineering team to share feedback and make product improvements is beneficial. Additionally, education is a key component to ensure developers understand how to use the tools effectively.
There are often DevRel teams inside of companies where an API is part of a product but not the main product like it was in the previous example. These APIs are a set of tools and protocols used by developers to build software and applications. While the API serves as an important tool, it is not the main product offered by the company. Instead, it acts as an instrumental component that allows developers to interact with the software or platform, enabling them to create an array of applications and functionalities.
Regardless of where DevRel fits within an organization, one of the primary challenges is determining how to measure impact. Collaboration within the team is crucial here, as different individuals may have varying strengths. It's important to work with your managers to define team goals and ascertain your individual role. Tracking your contribution to different departments like sales and marketing throughout this processes is essential.
Now that we have defined what developer relations is I think it’s just as important to define what it isn’t.
- NOT a free vacation - While traveling may be a perk of the job, it's not akin to a free vacation. It doesn't guarantee complimentary meals or luxurious accommodation. Often, you have to work within budgets, which could mean dining in airport terminals before flights. While some trips may lead to exotic locations, many will be dictated by customer locations, including brief visits to places that may not be on your personal travel wishlist.
- NOT Just Sales - DevRel is not about directly driving sales. Instead, it focuses on long-term community engagement and support, which can indirectly contribute to sales through trust and relationship building.
- NOT Just Marketing - While DevRel involves communication and community building, it is not solely a marketing role. It's more about creating genuine relationships and understanding developers' needs than just promoting products.
- NOT Just about writing code - While technical expertise is crucial, DevRel is as much about communication, empathy, and community building as it is about coding.
If you're intrigued by what you've heard so far, you may be wondering, "How do I get into DevRel?" In this section, we will cover things you can start doing now, including content creation along with various tips and tricks.
These are some things you can start focusing on now, whether a career in DevRel is your aspiration, or if it's just something you want to do for fun.
Be a Developer First
To be a Developer Advocate, I believe the first prerequisite is to be a developer. While there may be exceptions, for the most part, one needs to have developer experience. I’m not going to put a number of years of required experience, as it varies among individuals.
Undergoing the process of becoming a developer, including the challenging nights of studying and trial and error, fosters empathy. It helps understand the experiences of developers in your community. Building things is also important, a sentiment I strongly agree with, as expressed by Scott Hanselman at Microsoft.
“The problem is that there are a lot of young people who have never built anything. How can you advocate for developers if you've never built anything? I tend to disappear for several months, ship something, and then talk about it.” - Scott Hanselman - Microsoft
Share your passion
Start sharing your passion through various mediums such as writing, public speaking, videos, podcasts, and more. I didn't begin creating content because I aspired to be a developer advocate. I did it because I enjoyed learning something new and wanted to share it with the community. I also started when I encountered a problem and couldn't find a solution. Once I did, I wanted to ensure others could quickly find the same solution. Through this process, I became involved in the communities I was part of, which has been one of the best things I have done for my career.
“Once you start down the path of enjoying something and sharing it, you're already well on the way to becoming a developer advocate.” Mark Heckler - Microsoft
Start thinking of yourself as a brand
It’s never too early to start thinking of yourself as a personal brand. This can lead to many unique opportunities down the line including Developer Relations. You can start to build an online presence that allows you to establish and showcase your expertise. When it comes to Social Media I usually recommend picking one where your audience is.
Advocate on your own
By sharing content, you can become a developer advocate for your favorite open-source project, or within your current company. Share what you're passionate about and generate excitement for the languages, frameworks, and projects that inspire you. The good news is you don't need permission to advocate for the tech that you find inspiring.
There are multiple methods to build a community through education. This section will highlight a few. Excelling at all of them isn't necessary. Instead, concentrate on mastering one or two before exploring others. Each of these topics could warrant its own article, but they will be briefly summarized here for conciseness.
“Public speaking continues to be one of the number one fears that many people have. There's that common nightmare where you're standing up in front of your classmates at school giving a report and, all of a sudden, you're naked or you've forgotten what you wanted to say next. It takes a real act of courage to stand up and present yourself as an authority, especially to a group of your peers.” - Scott Davis - ThoughtWorks
It certainly requires bravery, but I want to clarify some misconceptions and hopefully inspire you to take that leap. Firstly, you don't need to be an extrovert. I know several introverts, including myself, who find comfort in discussing their passions in front of others. Another misconception is that you need to be an expert on the topic you're speaking about, which is far from the truth. You simply need to be one step ahead of your intended audience. This is why its crucial to be clear on what your presentation will cover and what the expected outcome is.
Additionally, some people believe that if someone has already written an article or presented on a topic, they should not do it. But if you look at the water aisle at your grocery store, you'll find all kinds of water with different packaging. I love the quote, "There are no unique messages, only unique messengers". You have a unique perspective and experience to share, so go ahead and share it.
If you want to get better at speaking start small and move your way up
- Lunch and Learns - I love Lunch and Learns because its usually with a group of your peers who you are already familiar with. There is no pressure here, just share your experience with a particular tool.
- User Group Meetings -Local Meetup groups are always in search of new speakers. We're open to first-time speakers as well. Presentations can range from a brief 5-10 minute informal code share to an hour-long talk, and anything in between.
- Podcasts - I appreciate podcasts as a means to share your story and express your passions. In this format, there's no need to write any code, which usually eases concerns about appearance.
- Local Conferences - If you’re regularly speaking at local meetup groups a local conference might be the next step in your progression. In this case you might see a bunch of people you’re familiar with including coworkers which can make this situation a little less stressful.
- Regional Conferences - You're on your way to becoming a pro and it's time to expand your audience and venture onto bigger and brighter stages. This doesn't imply you need to be the keynote speaker at a 20,000-developer conference. Many of the conferences I speak at are wonderful, even with less than 50 people in the room.
- International Conferences - Now that you have presented at some regional conferences you can begin to branch out across the world.
“I'm a big fan of developer advocates doing the same thing that stand-up comedians do: you work at a small bar, you do some open mics, and you move your way up to the big rooms. That's often how it's done.” - Scott Hanselman - Microsoft
There are also some really great groups out there where you can learn and get better at public speaking. Toastmaster International is an organization that has clubs all over the world where you can meat and improve your craft.
As a developer advocate you should strive to lose your foundation, writing code. I understand that you’re not going to be writing code 40 hours a week but you to constantly be working on your craft and building things. This could be writing demos to show off a new feature, answering questions or as a part to your latest tutorial.
Writing is an important tool in the Developer Advocates Toolbox. Here are some different ways that you can work on your technical writing skills:
- Documentation - Documentation is an important part of every project but often forgotten about. If you go through a getting started experience or you’re reading the documentation for the latest new feature and you see a gap in the documentation you can contribute to it.
- Social Media - Social media is a great place to share your experiences, tips, tricks and more. I love sharing ideas on social media because they get you involved in the community and simple thought or idea could lead to your next demo, article, video or event presentation.
- Blog Posts - I have blogging for most of my career and it’s been a great way to keep writing. I started my own blog by utilizing open source software and it has grown throughout the years. If you don’t want to start your own blog you can begin writing today by taking advantage of platforms like DEV and HashNode.
- Articles - Many publications welcome the idea of guest posts. I love this because they often have large audiences and it’s a way to get your name out into the community.
- Newsletter - I love newsletters because you can pick a cadence and try to stick to it. This will keep you writing by giving yourself some soft of schedule.
I enjoy creating videos as it's my preferred learning method. My works range from short clips to extensive 15-hour courses. Video creation involves many elements, but that's a discussion for another time. If I were to give one piece of advice, it would be to invest in a quality microphone. For developer content, good audio quality is more critical than having a high-end camera.
I've heard it said that your first 100 videos may not be the best, and I think that's fair. What you should aim to do is identify one area for improvement in each video and focus on that in your next one. Repeat this process with different aspects of your videos, and you'll become proficient in no time.
Entering podcasting can be relatively straightforward if you have a good microphone. You can start by being a guest on another podcast. As a host myself, I can affirm that we're always in search of guests. If you're interested in appearing on a podcast, I'd encourage you to contact the hosts and propose a show concept. The worst they can say is no.
These are few tips and tricks that I have picked up over the years.
- Repurpose Content - Learn to repurpose content for different mediums. A simple tweet might evolve into a demo, which could then become an article, a video, and eventually a conference talk. If you need a new example and idea for every piece of content you create, it may become challenging.
- Answer Honestly - One of my greatest fears was standing on a conference stage and being asked a question I couldn't answer. However, it's acceptable to admit when you don't know something. We can't know everything, and no one will fault you for it. A good response could be, "I'm not certain, but I will consult with the engineering team and share the answer on Twitter or in a tutorial.”
- Be Curious - Part of being a Developer and a Developer Advocate is to always be curious and always be eager to learn new things. Not sure of how something works, put together a demo and try to use products in ways you haven’t thought of before.
- Be Authentic - Developers are really good at picking up on BS. Be authentic and transparent about what you’re doing and I believe developers will appreciate that in the long run.
- Avoid Burnout - In this profession, it's easy to experience burnout from constantly pursuing the next article, video, book, or conference talk. This highlights the importance of repurposing content and recognizing that producing a new article or video every day is not feasible. I used to feel guilty about not meeting self-imposed goals, but I now understand that my expectations were unrealistic.
- Travel Hacks - Traveling for work and traveling for fun are 2 completely different animals. I am lucky to have had a coworker who was eager to show me the ropes. Learn some travel tips like avoiding checked bags to minimize time in the airport to taking advantage of programs like TSA, Clear and Global Entry.
- Enjoy the Ride - This is my dream job. How many people can show up every day and really truly say they love what they do. I do and I don’t take it for granted.
- Developer, Advocate!: Conversations on turning a passion for talking about tech into a career
- The Business Value of Developer Relations: How and Why Technical Communities Are Key To Your Success
- Developer Relations: (More Than) The Art of Talking Good
- The Seven Artifacts of Developer Advocacy Projects
It’s important to remember that everything in this article is based on my experience and it might be different for you. Developer Relations (DevRel) and Developer Advocacy involve advocating for the tech community within a company, focusing on education, community, and product. DevRel fits differently within organizations depending on their goals, encompassing engagement, community building, advocacy, organizational representation, technical expertise, and resource creation. Measuring impact is a challenge and requires collaboration within the team.
A Developer Advocate is not just about sales, marketing, or writing code, but about long-term community engagement, genuine relationships, and understanding developers' needs. The career path into DevRel involves being a developer first, sharing passion, thinking of oneself as a brand, and advocating on one's own. Content creation can involve public speaking, building something, technical writing, videos, and podcasts. Tips for success include repurposing content, answering honestly, being curious and authentic, avoiding burnout, and enjoying the ride.