Table of contents
- Benefits of hiring junior developer advocates
- More proof that junior developer advocates can succeed
- How to hire junior developer advocates
- Define what junior means to you and your team
- Identify MULTIPLE mentors who are willing and available
- Create a job description that genuinely reflects and emphasizes learning and support
- Make interviewing worth it
- How to support junior developer advocates
- Don't hire them as the company's first developer advocate or allow them to join a team of none
- Share responsibilities
- Allow them explore and identify their strengths and interests
- Occasionally challenge them to get out of their comfort zone
- Connect them with Developer Advocates outside of your company
- Give KIND feedback
A common debate in Developer Relations is whether or not we should hire junior developer advocates. While many may adamantly say no to hiring junior developer advocates, my answer is yes. YES – and instead of questioning whether or not we should hire them, we should strategize how to hire and support them.
However, the concerns are valid. Often underestimated, Developer Relations and Developer Advocacy work requires effort and high-level skills. People in these departments are often responsible for business strategy, sharing technical knowledge, maintaining empathy, managing community, educating, and creating content. With all of these responsibilities in mind, many organizations lean toward hiring experienced developer advocates because they’re nervous to hire someone who doesn’t have a large following, doesn’t have strong technical skills, or hasn’t created tons of content. The risk of hiring someone that lacks experience and doesn’t have the right support is that you’re setting them up for failure. And failing at a job can damage one’s self-esteem and future job prospects. But what if I told you that there’s a way to hire junior developer advocates and ensure they succeed?
Benefits of hiring junior developer advocates
Let’s start with why we would want to hire a junior developer advocate before we get into the how.
We won't have our jobs forever
The reality is sometimes individuals who are more senior in experience are also more senior in age, which means we won’t have our jobs forever, so it’s our duty to train the next generation of developer advocates. We’ll eventually retire, right? And my goal is to retire early.
They will challenge the status quo
As with any industry, people who are new to the field are going to bring a new network and new ideas, and challenge the status quo, which is what we want in developer advocacy. For example, perhaps your team doesn’t use TikTok, and your team is refusing to leverage the platform because “that’s not how developer advocacy is done.” A new developer advocate might have strong experience creating and consuming TikTok content, and they may also know that there’s a large developer audience on TikTok. Or the new developer could be a career changer, who previously worked as a teacher. They can bring teaching methods from the classroom to the developer community. We don't have to do things the way we've always done them. There's room for new ideas, especially in such a relatively new field.
It will diversify the entire tech industry
I also think hiring junior developer advocates will diversify the industry. There are not a lot of minorities holding senior to C Suite positions in tech -- ranging from Software Engineering to Developer Relations. There are, however, more junior software engineers and junior developer advocates that come from underrepresented backgrounds. Hiring diverse candidates in such public roles will encourage other underrepresented groups to pursue careers in tech, stay in tech, and become leaders in tech. It will also help to improve the view of underrepresented individuals in tech among overrepresented engineers. Some technologists have biases against women, queer, and black technologists, but seeing more of us in leadership roles will help to change that.
More proof that junior developer advocates can succeed
Maybe you read the above section, and you’re rolling your eyes. Maybe you’re wondering who made me the spokesperson for hiring and supporting junior developer advocates? Well, I'm not. However, I am a junior developer advocate who is doing well because my team set me up for success. I want to help other teams because as empathetic, amazing, and efficient as my team.
In September 2021, I joined GitHub as a Junior Developer Advocate. I never worked in DevRel. I'm not the most confident programmer, and I only wrote two blog posts prior to landing my role. I never created much content beyond that. I didn't have a following. But I had experience teaching groups of people to code and building curricula. I had an inkling from my 3 years of teaching people to code and supporting them that I would enjoy and excel at Developer Advocacy. One year and one month later, I've accomplished a lot because I have a team that understands how to support me.
Within 1 year and 1 month, I've:
- Written over 46 blog posts on DEV about DevRel, GitHub Copilot, GitHub Codespaces, GitHub Actions, open source, and more. I am frequently featured as a top author on DEV, and my most popular post has over 45,000 views and over 500 reactions.
- Written 7 blog posts on the GitHub blog.
- Written several guest articles for other blogs like Opensource.com, Letters to a new developer, and more.
- Delivered over 38 in-person and virtual talks at conferences and meetups, such as All Things Open. One of them was a keynote, and I have another keynote coming up.
- Hosted too many Twitch streams and Twitter Spaces to count (I don't know the number, but I've generally done 1-2 a week).
- Helped several people make their first open source contributions.
- Been a guest on several podcasts -- my favorite podcast episode is one hosted by Cassidy Williams. (My hair doesn’t look great in it, but I had fun)
- Built VS code extensions, fun demos, and web apps.
- Developed relationships with developers and developer advocates
- Built a DevRel community on Showwcase
I haven't executed all of these accomplishments perfectly. I look back at my talks and blog posts, and I still have so much to improve. Some of my demos are so cringe that I can't rewatch, but I'm confident that I was effective and engaging. One time I did a talk and people expressed to me that I reignited their waning interest in a GitHub product. I helped them understand it better and get excited about using it. To me, that's a job well done.
There are more folks who are making a big impact on Developer Advocacy even though they're fairly new to the tech industry or DevRel (from my understanding, many of these people started in 2020 or later). I'm hesitant to name them as their titles don't say junior, but I'll name a few who I recognize are working hard and doing an outstanding job:
- Aditya Oberai
- Haimantika Mitra
- Bekah Hawrot Weigel
- Maria Ashby
- Kedasha Kerr
- Camila Ramos - who is now leading her own team
- Pachi Parra - who is advocating for the Brazilian developer community
- Diana Pham
- and many more
How to hire junior developer advocates
Because, I'm a junior developer advocate, I will ONLY address hiring junior developer advocates. I'm not going to talk about hiring junior roles for within all of Developer Relations. Developer Relations is a large umbrella that includes developer advocacy, developer experience, developer marketing, developer education, developer support, community management, technical writing and more. I don't have enough knowledge and experience to advise on supporting and hiring for those roles.
Define what junior means to you and your team
When I tell people I'm a junior developer advocate, they often assume it's my first role in tech or my first job in general. That's not the case. I've been a technologist since 2016. I've worked in Information Technology, Software Engineering, and now Developer Relations. Prior to that, I worked as a Clinical Lab Technician and Phlebotomist, so I'm not the traditional "junior" that everyone thinks about. However, I applied for a junior role because I was a junior software engineer, I didn't have experience in developer advocacy, I didn't have a public presence, I didn't do much content creation, and I wanted mentorship. Applying for junior developer advocate roles seemed to give me enough flexibility to improve those shortcomings.
Juniors come in different flavors. A junior developer advocate could be:
- Someone with engineering experience, but no developer advocacy experience
- Someone with content creation experience, but no coding experience
- Someone who just graduated college with a computer science degree and has no work experience
- Someone who graduated from a coding bootcamp, but never worked as a software engineer
- Someone who worked in a similar department like marketing at a tech company, but no developer advocacy experience
- Someone who is changing careers from a non-technical role at a non-technical company
Perhaps, I haven't covered all the flavors, but you get the gist. There are many different types of juniors, and it's important to define what junior means to you and your team. Whatever it means to your team, it should be clear to you, your team, and potential candidates.
Take time to understand which skills you are willing to teach and which skills you are not willing to teach. Perhaps, you're willing to teach them to code, but you don't have time to teach them content creation skills, and vice versa. To me, this is an important consideration because if you're not available or invested in teaching the junior developer advocate, you're setting them up for failure. Additionally, every team has strengths and weakness, so you may want to look for ways that the junior developer advocate can complement your team's strengths.
Identify MULTIPLE mentors who are willing and available
Multiple times (in past roles), employers promised that I would have a mentor to guide me through the codebase and understand the company culture, but the assigned mentors are usually either busy or not invested, so I ended up navigating these challenges alone. When hiring a junior developer advocate, mentors are a requirement because they’ve never done this job before.
People get busy, so I understand not having time to mentor someone. I think companies and teams can set the mentor and mentee up for success by assigning multiple mentors for the junior developer advocate. This way, if one mentor is busy, the junior developer advocate can still get the support they need.
Create a job description that genuinely reflects and emphasizes learning and support
I'm not going to go into the nitty gritty details of job descriptions and salaries, but here's a screenshot of the Junior Developer Advocate job description that attracted me to my current role.
The bullet point that stood out to me most in the job description was:
- Learn: Everything about GitHub and what problems developers are trying to solve so you know how best to communicate with them and advocate for their needs with-in the wider product team. You are not alone in this, you will be joining an established team who are there to coach you, share ideas and work together.
It felt achievable and inclusive. The expectations were clear, and it made me feel like I would have sufficient support to do the job well.
Make interviewing worth it
Disclaimer: I'm trying to thread lightly here because I know people have a breadth of opinions on this topic. Please remember I'm not referring to all junior developer relations professionals; I'm only referring to the junior developer advocates. Also, these are just my opinions from my 1 year and 1 month of experience. I'm sure my opinions will evolve with time.
I had a hard time interviewing for my first developer advocate role because I didn't really understand how to prepare. Interviews varied -- sometimes I was completing Leetcode challenges and sometimes I had to talk about how I would improve developer experience for a product.
Candidly, one of the worst answers to an interview question I had was actually for GitHub. They asked, "What would you do if you joined the team?" I think they wanted figure out what I would focus on in terms of features and which medium I would use to deliver content. My response was something along the lines of, "Um, I don't know. I think I would teach people about Git and GitHub..yeah." That's because I didn't really understand what a Developer Advocate does. Although my response sucked, I got the job. Thankfully, they took a chance on me. Also, this is not to say that it was a bad interview experience. I chose GitHub over my other offers because the interview experience was spectacular.
Still, I would like suggest some better ways for all companies to evaluate junior developer advocates.
Curiosity over technical skills
You have a short amount of time to get to know the candidate, so it's paramount to spend your time wisely evaluating the right skills. Evaluating coding skills by way of a coding challenge seems useless, especially if developer advocates on your team don't code that often OR if your candidate previously worked as a software engineer. They either already know how to code or they can probably learn it on the job if needed. They could also still provide value without coding at all depending on your team's skills and needs. I think simple conversation around projects they've worked on or what makes them excited about technology is sufficient to gauge their technical abilities.
Now, I’m going to shake the table a bit – while technical abilities can help a Developer Advocate succeed, I think curiosity supersedes “technical” skill. (This is something I noodled on for awhile because I do think it's hard to be a developer advocate and not know how to code if you're on a bad team, but then I remembered, I'm writing for people who are building GREAT teams). Figure out if the candidate is curious about technology and knows how to find answers -- whether that's through searching the web or asking for help.
Beyond coding, curiosity helps me learn more about the life of an open source maintainer and various developer communities that I've never been apart of. Although, I don't share their experiences, I like to seek out resources that help me understand their perspectives. As a result, I have the knowledge to produce content that open source maintainers can relate to and learn from. That’s an example of how curiosity helps me.
Do they like helping people?
Empathy is valuable in Developer Advocacy. However, it's hard to gauge empathy in an interview, especially if the junior candidate has never worked as a software engineer or with engineers. Also, empathy -- is sort of vague. What are they empathetic about? Does the empathy have action? To me, developer advocates and folks within DevRel employ empathy with action. Empathy with action is a long-winded way to say – helping. Therefore, I think we can measure their interest in helping others instead. Do they get excited about helping people find the answers? Do they often find themselves in positions where friends and colleagues consider them a connector? If the answer is yes, then when someone within the developer community needs help, they will help or find someone who can help, and they will enjoy doing it. Let's be honest; helping people gets draining, so finding people who feel fueled by empathy and helping others can protect the individual's mental health.
They don’t know all the answers
Know-it-alls aren't the greatest teachers because their egos may motivate them to incite intimidation and lead people astray. If you hear a junior developer advocate say something along the lines of, "I don't know, but I'm willing to learn" or "I don't know, but I'll find out", that's a good sign. People feel more comfortable learning from folks that make mistakes and are authentic. This doesn't mean the person doesn't isn’t knowledgeable. As stated above, the person is curious and knows how to find answers.
You can learn your communication style on the job
In my opinion, being a good communicator is also a vague metric. How can you truly tell if someone is a good communicator, especially in an interview when they're probably nervous? I actually don't think I'm the greatest communicator, especially when I'm speaking and haven't planned my thoughts, but I think I can communicate my thoughts well through writing, which is why I enjoy tweeting and blogging. I also don't think that the content I create is for everybody. Some people may not understand what I was trying to communicate while some others prefer my communication style. Like technical skills, I think communications skills are learned and built over time. Junior developer advocates will learn which audiences resonate with them and which mediums work best for them.
In my opinion, and I know people may disagree -- I think it's a promising sign if a junior developer advocate is:
- Enjoys helping others
- And admits they don't know everything (but they're willing to learn)
To me, that's all they need!
How to support junior developer advocates
Starting a job and not knowing what you're doing is a scary feeling. Here are several ways my team supported me in my first year as a junior developer advocate that empowered me to succeed:
Don't hire them as the company's first developer advocate or allow them to join a team of none
GitHub had an existing team. I wasn't the first hire. I think it should be illegal to hire a junior developer advocate as your first developer advocate (kidding, kind of). Developer Relations requires strategy. It's unfair to expect a junior developer advocate to create a strategy that can make or break the developer community's perception of your company.
You can teach junior developer advocates by sharing responsibilities until they're confident owning those responsibilities. For example, you can:
- Pair program demo apps and explore the company's product together: When I first joined GitHub, I met with my manager at the time, [Brian Douglas](https://twitter.com/bdougieYO) twice a week. The first meeting of the week was to discuss life and strategy. He gave me feedback on how I was doing, suggest things I should work on, he told me what he was up to and what he was working on. The second meeting of the week was to pair program. Together, we built a web app using GitHub's API. From this exercise, he was able to determine that I didn't need that much help coding because I would usually show up with some parts completed. (Pair programming gives me anxiety, so I always try to avoid it lol). - Do a joint talk with a junior developer advocate and a senior developer advocate: I've never done a joint talk before, but I've seen people do it, and I think it helps folks feel more comfortable presenting for the first time. - Host a Twitch stream or Twitter Space while the junior developer advocate moderates: During my first few months as a developer advocate, I joined my manager on Twitch streams and Twitter Spaces. My job was to moderate the chat. While I moderated, I observed how he interacted with the audience and how he responded to questions. I observed how he planned each event as well. Eventually, I felt confident enough to host my own Twitter Spaces and Twitch Streams.
Allow them explore and identify their strengths and interests
As a junior developer advocate, I explored public speaking, making short-form video content, hosting Twitch streams, hosting Twitter Spaces, contributing to open source writing blog posts, and building demo applications. My favorites are writing blog posts, contributing to open source, and hosting Twitter Spaces. I focus most on that because that's what I do well. I host Twitch streams and do public speaking because I want to get better at those. I don't enjoy creating video content, especially short-form, but that doesn't mean I'll never do it. I want to work on it, but I do it less. It's okay that I don't make as many TikToks and YouTube shorts because my team is amazing at making those. Getting a chance to explore and identify my strengths and interests helped me feel more confident in my role, and helped me learn what my community enjoys. I don't have to do it all because developer advocates are a team. They all bring different strengths to the table.
Occasionally challenge them to get out of their comfort zone
Although, I get to focus on my strengths and things I like to do, my team will occasionally ask me to do things I've never done before. For example, the other day, I wrote a blog post about GitHub Enterprise features. I never used GitHub Enterprise before, but writing a blog post about it helped me learn so much! I don't advise throwing a junior developer advocate into the deep end, but slowly give them small challenges to expand their skillset.
Connect them with Developer Advocates outside of your company
I've connected with many developer advocates because I wanted to learn from them. I wanted to know how they're doing DevRel at their companies. It's such a new field. There are only a few books and courses out about how to do it, so my learning is more proactive. I have to seek out the people that are actively making an impact. My team also introduces me to leaders within Devrel. The DevRel community is super supportive. Together, it's easy to vent, share resource, and celebrate wins because we understand the struggles and rewards of being a developer advocate. If a junior developer advocate doesn't know many developer advocates and doesn't have a wide network, it can be hard to book a time to chat with an external developer advocate. As a more senior developer advocate or team lead, take the initiative to connect them with other developer advocates outside of your company.
Give KIND feedback
Kind feedback doesn't mean you're lying to them. I think people are scared to be honest with people who are nice and people from underrepresented background, but dishonesty and withholding feedback does disservice to that person. The junior developer advocate is looking to improve. They don't want to junior forever. I suggest that when they did something good, even if it's small, give them some public praise. Let them know they did well because that will encourage them to keep doing it. And that will help increase their visibility at your company and within the larger developer community. When they’re not doing so well, give them feedback in the way they prefer. This is a larger conversation that you need to have with them when they initially start the job. Figure out if they like to receive constructive feedback on a video call or via text. Also, ask them if they prefer for you to soften the blow or be blunt. For example, I prefer people soften the blow with me because I am a chronic over thinker, but I also don't want you to lie to me.
Hiring a junior developer advocate is totally worth it, but you may need to invest more time and effort. Respectfully, let me know your thoughts in the comments. I know this entire blog post is a spicy take 🥵.
Thank you to my team (Brian Douglas, Martin Woodward, Damian Brady, Christina Warren, Andrea Griffiths, Kedasha Kerr, Pachi Parra, Kara Sowles, Abigail Cabunoc Mayes, Anisha Pindoria, Lee Rielly, Michelle Mannering, Laura Thorson, and Karan M V) for making me feel confident and equipping me with the correct skills to do my job well!