Call it what you will: developer advocacy, developer relations, developer experience...
My title at MUI is Developer Advocate, and I'm the founding member of the Developer Experience team. I tend to use all these terms more or less interchangeably.
If you're interested in this line of work, I want to help! My goal here is to share everything I know about how to begin your career in developer advocacy.
By the end of this piece, my hope is that you will have a better understanding of:
what a developer advocate does from day to day
what it takes to be successful as a developer advocate
what employers are looking for on developer advocate resumes
how you can set yourself up for a sweet career in developer advocacy
What does a developer advocate do?
The titles vary as widely as the actual roles themselves, between and within companies of all shapes and sizes.
I view my role as someone who primarily serves as a liaison between engineers and the users of their products. What I mean by that is, I act as the voice of the company to the users, and the voice of the users to the engineers.
I try to assess the needs of our users to find ways that we can improve the product. I also act as an alpha user for new features and components, and help engineers answer questions like "what should we name this new prop?"
At MUI specifically, our products are open-source React UI component libraries. (You may be familiar with Material UI; the product lineup is quickly expanding in 2023.) In practice, the documentation is the product to a large extent, because it's the thing that all users will have to... use... 😅 continuously as they're building with our components.
If the docs don't solve the vast majority of the user's problems, then the product is useless, and they'll seek an alternative.
With this in mind, I spend the majority of my time working on improvements to MUI's labyrinthine product docs. I look for holes, gaps, and inconsistencies, and I try to formulate better descriptions and new demos to explain key concepts. I put a lot of thought into the developer's journey through the documentation and how the info is presented, and constantly try to inhabit the perspective of a new user who's encountering all of this stuff for the first time.
Much of my time is spent tinkering with code snippets, and researching UI design patterns and best practices for accessibility so I can provide users with the most useful information and the best possible experience of our product documentation.
Because MUI is an early-stage startup, I tend to wear a lot of hats from day to day. I run the company social media accounts, as well as the monthly email newsletter that I launched. I created and maintain the company style guide, and wrote all the documentation on how to write good documentation. 😁
In 2023, MUI is planning to attend several international conferences, and I've taken the lead on planning and logistics. I am very excited to attend my first in-person tech conferences. (Stay tuned for details regarding where we'll be!)
MUI is growing, and we're looking to hire a second developer advocate to join my team. As a result, I've been reviewing resumes as they come in over the last couple months, and it's helped me to gain a much better sense of what employers want to see in a prospective new hire.
How to get a developer advocate interview
Developer advocacy is a highly interdisciplinary role, which is to say that an ideal candidate is likely to have professional experience in more than one adjacent role, such as:
Because of this, developer advocacy is often a career path that folks pivot to over time, rather than beginning there on day one. Still, if it's something you're interested in, you can focus your job search on these related roles to gain the experience you'll need to get into developer relations down the line.
Most candidates I observe are either developers who enjoy teaching and writing, or writers/creators who specialize in tech content. In my case it was the latter. I spent many years as a freelance writer and editor in a few non-tech fields before learning web development in 2020. I got my hands dirty as a freelance web dev building front ends for a scrappy marketing agency startup, then joined Hashnode as their first marketing manager in 2021.
When you look at my resume, you see:
(junior) front-end web developer who's shipped enough code to understand the process
experience marketing to developers in a fast-paced startup
track record of creating high-quality content and a passion for teaching
That was enough for me to pass the initial sniff test and land a phone screening with MUI.
How to get a developer advocate job offer
Once you pass the initial resume check, there are three main things we try to assess through the interview process:
Technical skills—Do you have the necessary skills required to contribute to the work?
Communication skills—Are you a fun and engaging speaker who'd we want to represent us in public?
Culture fit—Are you the kind of person we'd want to potentially work with for years to come?
The way these assessments play out can vary from candidate to candidate, because each person brings their own unique background and skill set to the table. We might want to do a technical challenge, but your past work experience might be all we need to see; same goes for writing and communication skills. In my case, I completed a (take-home) technical challenge to demonstrate my knowledge of React, while my published work was enough to prove my skills in that area.
One of the most important traits we look for is what I think of as charisma. In order to serve as the voice of a company, you need to possess the kind of presence and presentational skills that will make people want to listen to you.
As with any skill, it's something that can be learned with practice over time; but it's something I would hope a would-be developer advocate has already been cultivating through prior work experiences (which might not be related to tech at all).
Another thing that's important to me—especially because MUI is a small, open-source startup—is that the candidate has at least a vague vision for how they could best contribute.
What facet of developer advocacy interests you the most? What ideas do you have for new or different things we could do to improve the product and provide a better experience to our users? Our daily work is largely self-directed and asynchronous, so I need to know that you're thinking about how your piece contributes to the whole.
Putting it all together
If you're a sharp communicator who enjoys talking to people about code, writing about code, teaching about code, and helping users solve problems and build solutions with code, you could have a really sweet career ahead of you in developer advocacy (or relations, or experience, or evangelism, etc. etc. etc.).
That said, it can be a tough role to land—regardless of your seniority status as a developer. A developer advocate needs to be able to understand, articulate, and find ways to ameliorate the problems that developers face. That's tough enough when you've got plenty of experience under your belt, but it could be too steep of a challenge if you're brand new to the industry.
But if it's a career path you're interested in pursuing, you can set yourself up to pivot over the course of a few years by gaining experience in a couple of the related roles that I listed earlier in this piece.
If you're a junior developer who writes a tech blog or makes YouTube videos; or a technical writer who contributes to open source and participates in hackathons; or a dev-focused community manager who successfully grows a social media audience around a tech product; you will absolutely be able to land some developer advocate interviews once you have a year or two of experience on your resume.
In the meantime, please feel free to comment below if you have any questions about this career path. I'll do my best to answer what I can either here or in future blog posts. I hope you found this helpful!
If you enjoyed this piece and you want to keep up with my work, you can sign up for my email newsletter through this link. I promise to make every email something you will be excited to open!