Stop being a hero to become a great developer advocate

If you ask anyone what a developer advocate is, they will probably describe some hero. Someone is often adored by people in conferences with a packed room waiting to hear what they have to say — because they are deemed simply the best in what they do. Almost as if what they do is the result of having superpowers. By all means, I’m afraid I have to disagree with this definition.

In this post, I will elaborate on what I think should be the role of a developer advocate, and to explain this, I will use an analogy that most people will hopefully understand: the trajectory of Tony Stark becoming the actual hero he was meant to be in the movies from the MCU (Marvel Cinematic Universe). For the MCU fans, keep in mind that I am aware that the order that I will use here is not the right chronological order for the franchise.

Robert Downey Jr. Improvised the Original 'Iron Man' Twist Ending |  IndieWire

The first Iron Man movie gave birth to a multi-year franchise that the MCU smartly turned into a success. But in the end, it also introduced an iconic superhero from Marvel known as Iron Man. Behind Iron Man, there was the individual known as Tony Stark. He is the interesting part here.

Tony was portraited as someone extremely self-centric, with a strong personality, and by all means, someone that doesn’t take anything seriously. If you got this impression, then Robert Downey Jr. did an amazing acting because this is exactly what Tony Stark should look like. By the end of the movie, you can see that most of these characteristics are still there — but he had learned his first lesson: that he could use his skills to something more than just blowing things and making money. He had then started his journey down to a path of becoming a better person.

MCU Rewind: Iron Man 2 Gets a Lot of Hate, But It Does Everything It Needs  To Do | by Joshua M. Patton | Medium

In Iron Man 2, the movie ends with Tony understanding that certain things cannot be accomplished by doing everything by himself. He takes the help offered by his best friend, and by doing this, he manages to defeat the archenemy. Let’s reflect on this for a second. Having trouble accepting help from his best friend? WTF? It sounds hard to understand, but this can sometimes be hard when someone is extremely self-centric. The movie also shows him accepting help from S.H.I.E.L.D, which will eventually try to recruit him to join the Avengers. By the end of the movie, we can see Nick Fury telling him that Iron Man is welcome to join the team but not Tony Stark. TL;DR, Nick knew that there were some aspects of Tony’s personality that need to be worked out before he was ready to become an Avenger.

Like anyone with a strong personality and being denied something — he leaves by saying: “You can’t afford me.”

Avengers Assemble Scene - The Avengers (2012) Movie Clip HD - YouTube

In The Avengers movie, Tony learns that teaming up and forgetting about individuals’ objectives pays off in the end. The movie spends more than half of the screen time showing individuals — each one with their own struggle — learning how to overcome these struggles and focusing on the big picture. The movie’s end is known and shows how they become more than a team but friends. But this movie has a somehow undermined scene but, in the long run, proves to have a major significance in Tony’s journey. The scene where Steve Rogers says to him:

“The only thing you really fight for is yourself. You’re not the guy to make the sacrifice play. To lay down on a wire and let the other guy crawl over you.”.

Iron Man 3' Is a Christmas Movie | The Mary Sue

In Iron Man 3, Tony finally understands that he is nothing important if he only relies on his suits. The best part is seeing him learning this lesson from a kid. When he cries on the kid’s shoulder about the feeling of powerlessness by not having his suit anymore, the kid says to him: “you’re a mechanic. Build something”. At the end of the movie, we can see Tony confessing that his suits were nothing but a cocoon. What really mattered in the hero was under the suit.

In Spiderman: Homecoming, Tony obviously doesn’t have a major role in the movie, but at least one scene deserves to be remembered. The scene where Tony teaches Peter Parker is nothing if he is only a fancy suit. Well, I guess we know now where he learned this, right? But the significance here is how someone who started off being so self-centric learned from a kid, reflected on himself, grew as an individual, and provided the same lesson to others. But even more important than this, Tony ends up the movie acknowledging that Peter is important because he can operate in areas that Tony and the Avengers can’t. He learns that to scale every help is important.

Captain America: Civil War Review - Disney Tourist Blog

Captain America: Civil War is a milestone for Tony to understand that everything he does has consequences. Quite a lesson for someone that doesn’t take anything seriously. Moreover, he also learns that selfishness can compromise and break the team from within. By the end of the movie, we can see that the Avengers, like the Beatles, had broken up.

Untangling the Marvel Studios Phase 3 Timeline

In Avengers Infinity War, Tony finally learns what it means to lose. Despite working as a team and focusing on a bigger goal, not having a strong relationship with the team members may cause you to lose. By the end of the movie, we can see the heroes presumably teaming up again — but each within their own affinity groups and fighting their own battles. Nevertheless, it is known that Thanos finally does what he had promised: create balance in the universe by erasing half of the people with a snap of fingers.

Robert Downey Jr quashes rumours of his comeback as Iron Man in MCU; says,  'that's all done'

In Avengers Endgame, this is the movie where we see Tony becoming a true hero: putting others in the first place for the greater good. The iconic scene where he manages to get the infinity gauntlet out from Thanos’s hand, and before snapping his fingers, he says “I, am, Iron Man” represents many things. It represents when Tony Stark and Iron Man finally become the same person. It represents when Tony proves to Steve Rogers that he can lay down in the wire and let others crawl over him. But most importantly, it also shows how Tony learned how to take things seriously.

What all of this actually means? 🤔

To achieve greatness, developer advocates need to evolve just like Tony by the end of the movie Avengers Endgame. To make it simple, I will create a table that summarizes all the lessons that Tony learned during his growth journey but in the context of developer advocacy.

What you should doWhat you should not do
Use your skills to educate developers.Instead ofUsing your skills to impress developers.
Work your personality towards empathy.Instead ofTreating your personality as your trademark.
Learn how to sacrifice your objectives.Instead ofFocusing on you and letting others doing the same.
Evolve your skills beyond technology.Instead ofThinking that knowing all the cool tech is enough.
Scale your work by having a community.Instead ofTrying to embrace the world and being everywhere.
Build content that helps developers.Instead ofBuilding content to meet your quarterly goals.
Build bridges between communities.Instead ofBuilding walls between communities.
Keep others in the spotlight instead of you.Instead ofTrying to be the center of the universe.

Let’s break down each lesson.

▶️ Use your skills to educate developers

Building content is definitely one of the tasks that developer advocates must do. But very often, it is common to see them building content that ultimately aims to make them seen by people as experts. The consequence of this is content that doesn’t necessarily solve a problem and doesn’t provide true value for developers.

A good example of this is those blogs that demand, let’s say, 30 minutes of reading from people to understand the internals of some technology. But if the understanding of the internals is not tied to some problem that developers actually face, then what is the point of making them spend 30 minutes of their time reading? Oftentimes, the point is to make sure people know that the author is knowledgeable in that content.

While building content, make sure to provide people the tools they need to have to identify the problem and its recurrence. Make sure to clearly state the problem and the consequences of not solving that problem. Finally, make sure to lay out the resolution of the problem so that people don’t have to be experts to understand.

“But there are topics that are inherently complex to explain” 😭

This is bullshit. There is always a way to explain things with simplicity.

▶️ Work your personality towards empathy

People are complex creatures. I have seen developers advocates that are known for trash-talking things. I have seen developer advocates known for their laid-back style and ability to treat everything as banal. I have seen developer advocates that make sure every single content out there has their faces. I have seen developer advocates embracing popular causes and becoming influential in that space. And I have seen developer advocates that work towards winning people’s trust before even talking about the thing they represent. I must confess that the latter is the one that I think is the right one.

There is a misconception in the technology industry that developer advocates must have a strong personality. While this is not entirely wrong, the problem comes when you enforce your personality to achieve what you think matters the most: popularity. I know developer advocates that are so popular among some people because they say stupid things on Twitter every day, and guess what: people enjoy reading them. They are quite popular, and somehow they might be successful within their employers because they know how to create a gigantic mass of followers. But quality sometimes is better than quantity.

A developer advocate that ignores trends, causes, and waves of technology and focuses on truly helping people with their problems is more likely to succeed in the long run. The key to this is being so empathetic to a point where they understand that people need help and can’t move forward by themselves. You can, of course, due to your strong personality, say that the person needs to read the docs and talk to support to overcome the problem, because hey, you are focusing on great things instead of the little things. But if you care to help them, that person will follow back and make sure everything you say is replicated because now they trust you. You can’t have people trusting you when imposing your personality is more important.

▶️ Learn how to sacrifice your objectives

It is not uncommon for developer advocates to focus too much on what they want to achieve. Perhaps it might be simple goals such as writing a blog about that feature you love or maybe, creating a killer demo for your next presentation. But there are times when a developer advocate needs to take steps back and help others move forward with their goals. This means abdicating yours and helping them.

Developer advocacy is not a career measured simply by the amount of content you produce, but it should also be measured but the amount of content you help other people to produce. Ultimately, this means that you accomplish your own goals but not necessarily be the author of everything.

Learn how to dedicate some time to helping people produce content that you understand developers will benefit from. This means helping them understand something you are good at, maybe connecting them to the right sources and people, perhaps even helping them produce the content they will be the final authors. Yes, it sucks the fact that your name won’t be there, and they will be the ones in the spotlight. But think about what your job is for a moment. Your job is to help developers legitimately. Nobody said how you should accomplish this.

▶️ Evolve your skills beyond technology

A developer advocate should obviously be a developer to be good in what they do. There is no such thing as people from a certain industry that never wrote code or deployed an application that became good developer advocates. But being good with technology is not enough. You have to be able to evolve your skills beyond technology.

With time, more experienced developer advocates learn that to be good in what they do, they need to expand their skill set to other non-technical skills while keeping the technical skills sharp. That alone is a skill to be developed. But besides this, they need to learn how to treat things as a priority, how to foster and evolve their communities, how to lead meetups instead of speaking at them, how to sponsor the right conferences, how to help the product team to prioritize features, how to collaborate with the marketing team to produce messages tailored to the developer audience, how to identify technologies that have to do with their stuff and how to create a synergy between them. It is no small feat.

But the important part here is not knowing what to do but knowing that they need to leave being merely technology experts. Often, developer advocates who struggle to leave technology experts’ positions have a long history as solution architects and software engineers, and this strain is hard to grasp. Either they need to understand this by themselves or learn the hard way: getting promoted starts to become a long journey.

▶️ Scale your work by having a community

One of the most popular developer advocates out there is the one who is known for traveling worldwide to speak at conferences and meetups. For those who love traveling, this is like being in heaven because the job comes with its perks. However, this doesn’t scale very well.

Let’s start with the obvious: you can’t be in different places at the same time. In the United States, the middle of spring represents when the conference circuit is known to the peak. Therefore, one can’t simply be at different conferences. Even in the pandemic where most conferences are happening virtually, it sometimes becomes impossible to be at some of them because you can scale your presence — but not your content. Conferences are getting even peakier in terms of not accepting content that is being used in other conferences. They want to make sure that your content uniqueness will help them to attract more attendees.

For this reason, it is important to build champions. By champions, I mean the individuals from the community that you often partner up to achieve some goals. For example, if you can’t make it to a strategic conference for your company, why not help a champion you know to share their unique content? Furthermore, why not start giving these champions the chance to speak in the conferences you have once spoken to but would like to give them the chance to shine?

▶️ Build content that helps developers

While developer advocates need to be as professionals as everybody else and make sure that their company goals are delivered, it is sometimes important to question the quality of certain goals and their effectiveness. Blindly delivering goals that don’t necessarily help developers waste time and resources.

This happens for a lot of reasons. Sometimes, the goals are old and don’t reflect what the products are any more. Maybe the goals are fine, but how they are measured uses archaic methods. Or maybe whoever designed the goals sucks. Regardless, you don’t need to settle and take things for a grant just because you are a developer advocate. Remember, you are the one with a mission to deliver, and your mission is to build content that helps developers achieve their goals. And given time, you will eventually enjoy defining, measuring, and analyzing metrics for your developer relations team.

Sometimes it is not obvious, but you should be the right person to question these things. It is not uncommon for some companies to start a developer relations program without having a developer advocate in their team. By the time they hire them, it is perceived that something is a bit off in the strategy. Questioning the goals shouldn’t be a problem if the company is truly trying to create a developer-friendly company. If you see some struggle and people don’t listen to what you have to say while forcing you to follow whatever has been defined, then it might be time for you to revisit your career guidelines and your employer.

▶️ Build bridges between communities

One of the most common mistakes I have seen in some technology companies is their inability to see that different communities can learn more from each other than being kept separate. A good example is when the company breaks down their community into different groups, and each group doesn’t interact with the others.

For example, think about a product with a thriving community among Java developers, but have a tiny Go developers community using it. Conceptually, it should be in the company’s interest to maximize every community and their potential, but what is mostly seen is some affinity by them. Additemly, sometimes this happens because the company has more use cases within a particular community and thinks it is just better to keep focusing on them. Sometimes it is because all the talents in the technology are more bounded to be from that particular community.

Instead o treating each community as silos, you should build a connection between them. The best way to do this is to try to find commonalities. Think about: what unites them? What are the problems that both communities have in common? Then, start producing content that aims to address both of them. But more importantly, start sharing this content with both communities with a shared communication channel. You will be surprised about how much Java and Go developers won’t try to kill each other besides their programming preferences if they have a shared goal to build upon. As a developer advocate, you need to build empathy with different communities, not only those you are used to.

▶️ Keep others in the spotlight instead of you

I think this is perhaps the epitome of what a developer advocate should be. You should start your communities by being a reference in a particular space — but you shouldn’t sustain this for very long. Your goal should be that they are now doing the job you started to do while building a community. And they are doing it as passionately as you used to do and preferably, even better than when you used to do. This is called the multiplication factor.

But doing this requires sacrifice. It requires you to give up the spotlight and work towards having other people on it instead of you. For some, this means giving up the developer advocacy role altogether because they can’t live without being the center of the universe. For others, it might be a journey that they have to undergo for several years until they naturally figure this out. Growing as a developer advocate is gradually stoping being the center of the universe and morphing into a role that watches the universe grows organically by other people. This is particularly true when you watch more experienced developer advocates — they are often not the ones that are rocking on the stage. But they are backstage overseeing everything.

Your ability to influence, help, and foster other people is crucial for this work. This is a skill that you need to develop and require some years to perfect. But it can start as simple as helping your coworkers doing a great job, as picking someone from the community and sharing your experiences, by using your prestige with a given open source project and bringing someone in to learn, by helping a conference that your competitors are organizing to shine because you want to promote a common technology, or maybe just asking your boss to coach some people within the company. Become a copy machine — but one that works the copy out to be even better than you.

Summary

The journey to becoming a great developer advocate is long. It requires some fundamental changes in your skills, personality, and priorities. It requires a deep look into your inner self, how you can rely on other people to help you, your ability to take ownership of what you do, to build stronger relations, and how to put others before you. Sounds hard, but not impossible.

This blog has shown that becoming a great developer advocate is not something you will achieve right off the bat, and the journey is like a pipeline that needs to be executed so you can succeed. It helps new developer advocates understand that being great might take some time. As long you don’t lose track of what matters the most and work those out continuously, you will be OK.

“Part of the journey is the end” 🙂