Cameron Pfiffer
aboutbloglinks

I've been a developer advocate at .txt for 8-9 months. A short time, but enough to learn a lot. I've given talks, I've written demos, blog posts, been on podcasts, recorded YouTube videos, etc.

I wrote this guide as an internal guide for my successor at .txt, but I figured it was worth cleaning it up a little bit for external use.

Developer relations, or developer advocacy, is a weird industry. Your role as a "devrel" is to essentially get developers to use whatever technical product your company provides. Importantly, you want users to succeed with that product. It sits at the intersection of engineering, education, and evangelism.

In a lot of ways, there's very few formal pathways to developer advocacy. I'm an academic – I did my PhD in financial economics, postdoc in econ at Stanford, etc. None of that teaches you specific developer relations skills.

This guide contains a few of my observations about what tends to work, though note that there are many, many styles of advocacy that will work better for you or your particular product. I'll try to update it as I go along, since I expect to remain in the industry.

What is advocacy for?

Advocacy is about getting people to use your product, and getting them to use it well.

Your role is also to get your company to adapt the product to meet user needs. Good developer advocates serve as tech support, “thought leaders” (whatever the fuck that is), product managers, and educators.

You’re also the public face for your company. You need to present a personality to your community, as well as make sure you help your company look good. You set the tone — do it carefully.

A common misconception about developer relations is that it is a marketing or sales role. Certainly this is a part of it, but developer relations is targeted at asking for something more specific from developers than money: time.

Time is valuable. Lots of companies have a ton of money but little time. Good developer relations engineers demonstrate that an investment of a developer's time is well worth the effort. They need to know that you respect their time, and that the thing they get from that investment is a significant step up from whatever they're doing right now.

Marketing and sales are often more external roles – you're not necessarily a user. Developers are an often insular community. They respond to reputation, community engagement, and trust. You need to play that role – be a member of the developer community, not just someone who plays pretend.

Why do businesses have developer relations?

Because it is a critical part of the business for a growing number of technical organizations.

You are trying to sell another API, SDK, programming language, DSL, framework, or tool. The market is crowded. Your company has to fight for every inch of developer mindshare, and you aren't going to get that for free.

Nobody is going to buy your thing if nobody even uses it, unless it is the greatest thing since sliced bread (most things are not that great, you can't beat bread).

For most companies that sell a technical solution, developer relations is more of a necessity than a luxury.

Providing inspiration

My approach to advocacy ended up being one of inspiring the imagination of users.

Most engineers are often focused on how to solve existing problems, and they are often not aware of/seeking alternative solutions to their problems.

For these users, you need to either show them how to solve their exact problem your way, while convincing them that it is easier, more flexible, and more powerful.

If you have some tact, you can solve a general problem that is “similar” to many user’s problems that is recognizably similar to an engineer’s problem such that they handle the cognitive work of adapting it to their use case.

In addition, some users may not even know that they have a problem that can be solved. Here, you have to be imaginative. Find a problem that you think someone might be experiencing, and then solve that. You don’t have to solve it well, just enough to highlight that there is a solution to this issue that was not previously on anyone’s radar.

Communicating

Of course, you cannot do any of this without communicating with the community. You do not know everything, and cannot simply assert user problems and solutions. Go talk to people. Read industry news. Stay a part of the wider conversation.

A few ways to do this:

Events

If you are an advocate in San Francisco or another geographic location, go to meetups, hackathons, and other events. These force people to understand your personality. If you work in AI in San Francisco, this has huge leverage — most of the other voices in the industry are at those same events.

Some event tips:

Burnout

Developer relations is a social job. I am an introvert. It is costly to go to events in terms of social energy, and this can bleed into the rest of your life.

Outside of the event landscape:

Virtual Engagement

Not all advocacy happens in person. Virtual events, webinars, and online workshops have become increasingly important. The skills differ slightly - you need to be more energetic on camera, create more interactive moments, and fight harder for engagement when you can't read the room physically.

My approach to virtual events was to try to be less "canned". A lot of webinars are tightly scripted, but I tend to tune out for these.

My years in academia helped me see virtual events as places where you can engage with people from a wide variety of backgrounds and perspectives. Try to make something engaging, organic, and flexible. Try to get audience interaction if you can.

If you're using a demo, ask them for suggestions! Show them how their ideas can be demonstrated in a virtual demo.

Virtual events have the benefit of being screen-first in a way that live events are not. You can show a lot of code very easily, so try to take advantage of that.

This is perhaps the most important thing about virtual events.

ZOOM

IN

FARTHER

THAN

YOU

THINK

Seriously, nobody can read your screen. If you think the text is far too big, it is not big enough.

Bridging Users and Product

One of the most valuable aspects of developer advocacy is serving as the bridge between your users and your product team. You're uniquely positioned to understand both sides of this equation.

Product management is the art of guiding your product to be the best one it can be. This requires listening, finding use cases for your product, and helping to focus the company towards specific goals for the product.

Often, you are one of the very few people at your company who use the product the way that your users do — that makes you valuable. Share that information with your company.

A good advocate has a sense of how the product “feels”. It’s their job to get the company to improve that “feel”. A good company builds channels to support product input from advocates.

Try to collect pain points that you experience from using the product, and from users when they mention it.

You can be opinionated as well. Try to communicate areas of focus that the company should take — once you say it, it is the company’s role to decide whether to engage with your feedback.

Messaging

Try to tailor your message to your audience. All your talks, demos, examples, posts, etc. are a funnel towards a particular product or ideology. Choose a specific goal before you give any talk and make sure you structure your output around that goal.

Regarding talks specifically: be interesting. Most talks are extraordinarily boring. Capture people’s interests. Do not fill your slides with bullet points, do not show them the same thing over and over. Present a single, novel idea well, and then demonstrate how it connects to your broader point.

If you have a reputation for being a good speaker in the meetup or conference scene, you will get better speaking spots and more attendees.

Documentation

For most things, documentation is the product.

Don’t ignore it. Stay on top of the documentation. Ideally, this is a company-wide practice. It should not fall solely on your developer relations person. All pull requests should come with either a statement of why no documentation update is needed, or an update to the documentation.

If you don’t do this, your product will rapidly become bad. People will not want to use it. The second your docs are perceived as bad is the second people start losing interest in your product.

Metrics

I'm not the biggest pro at metrics, despite being an econometrician. I'll defer to articles like this one.

Brief overview, though. Metrics differ by what your product is.

Ultimately this is up to you and your team. Just figure out what you actually want people to do and choose a few metrics.

Join the devrel community

There are many, many devrels. Go talk to them. Grab coffee. Chat over twitter. Whatever.

The advantage of this is that many events, talks, and collaborations can be found through the developer relations community.

A big benefit specifically is joint projects. For example, .txt works a lot with Modal, and it's been excellent to have demos and showcases that use both products.

Joint partnerships on products allow you to share audiences, get buy in from the respective companies, and explore use cases for both products.

AI-specific stuff

I work in AI, and there are some thing that are specific to AI that you should be aware of.

strengths and limitations.

AI Subcultures

Be aware of the AI subcultures. AI has many different subcultures.

There are:

It’s up to you how much you get involved in each of these. Know that going too far into any one group in particular can be costly in terms of your ability to build a reputation with other groups.

News resources

Conclusion

Developer advocacy is about connection, between people and products, problems and solutions, communities and companies. It's a role that demands curiosity, empathy, and genuine enthusiasm for the technology you represent.

The best advocates I know share a few traits: they build interesting things, they listen more than they talk, and they remember that their audience is people trying to solve a problem.

Developer relations is challenging but rewarding. You'll need to be comfortable with ambiguity, constant learning, and wearing many hats. But you'll also get to be at the forefront of technological progress, helping shape how developers interact with the tools that are building our future.

Above all, remember to play. The moment advocacy becomes just another marketing job is the moment you've lost the thread. Stay curious, stay engaged, and keep building cool shit.

– Cameron

Website built with Franklin.jl and the Julia programming language.