Looking to take your career in a new direction? Perhaps you’ve considered a role as a developer advocate, but wonder what type of experience you’ll need. In this post, I’ll discuss 7 things you can do to prepare you for a career as a developer advocate.
I’m mindful that your current job might not provide the opportunity to obtain this experience. That’s alright, you can do all of these things on your own. What better way to demonstrate passion than to do developer relations activities without a paycheck attached.
I believe programming experience is a prerequisite for a developer advocate. I hope this isn’t a controversial opinion, but feel free to disagree in the comments below. How you gain the coding experience can range from a 4 year computer science degree from a university to a 12 week coding bootcamp or even online courses. I recommend going beyond your studies and applying what you’ve learned building products. You will grow so much solving real problems with code.
What programming language should you learn as you pursue a career as a developer advocate? You can’t predict what specific programming experience is required for your future role(s), so I recommend NodeJS, Java, .Net, Python, Ruby or PHP. These six languages have large developer communities but if you have a passion for GoLang, Swift, Kotlin or others that’s fine too. The main point is that programming concepts can be learned through any language, and being able to apply what you’ve learned in one language to others is key.
As a developer advocate, you’ll be called upon to write code to support blog posts, tutorials, and speak in front of hundreds of developers. You’ll want the confidence that comes from programming. We all suffer “imposter syndrome” from time to time, but looking back at past accomplishments can bolster any doubts you may feel.
Empathy is a key aspect of developer relations. Having lived the life of a developer you’ll understand the joys and frustrations of coding. You’ll know the struggle and offer advice without judgement because you’ve been there yourself.
2: Public Speaking
Developer advocates may be best known for speaking at conferences in front of hundreds of developers. During an interview you’ll want to share your public speaking experience. Let’s look at a few places you can hone your skills as a presenter.
Of course technology conferences are an obvious choice. Responding to an open “call for paper” by organizers is one option. If you go this route, find events with topics and themes you can speak to based on your experience. Landing a speaking slot won’t be easy. You’ll be competing with experienced speakers and organizers may not be willing to take a chance on you.
Another route would be a local meetup that aligns with your interests. Attend a few meetings to get a feel for the topics they cover and get to know the organizers. Once you are established you can find out how speakers are selected. Then follow up with the organizer and inquire about speaking at a future event.
For those with little or no public speaking skills, you can join a local Toastmasters group to practice your public speaking in a support environment.
You know the old saying “How do you get to Carnegie Hall?”, practice, practice, practice. Writing like any other skill requires deliberate practice. Anyone can write about their experiences with technology. Weather you’ve been coding for 6 months or 6 years, you have a perspective to share that is all your own.
You’ve got several options for hosting your writings. For a free option, I recommend Dev.to, they don’t have paywalls for readers like Medium. Do you want to have a bit more control over the design of your blog and a custom domain name? There are many paid services like WordPress.com which starts at $4 a month. For this blog, I chose Ghost an open source blogging product deployed on DigitalOcean. It took a little more patience and costs $5 a month. Why did I choose to self host with Ghost? Purely for the experience and maximum control of my blog should I want to customize it.
Chances are future employers will expect you to engage with developers through social media. A strong social media following may be a prerequisite for some developer advocate roles. Personally, I don’t believe you need to be an “influencer” to be a good developer advocate but you should be social media savvy and you can start today.
I’m recommending Twitter because it is widely used by companies who have their own branded account. Twitter is designed for public conversation and developers use it to ask technical questions. Like email it’s become one more way to engage in conversation.
Start by signing up and learning the basics of Twitter. Here are some good tips on setting up your account, while this post had good information on the basics of how to use Twitter. You can build your profile as a technologist, share interesting content and follow others in the industry. Most importantly, stay active and put in the time to build a modest following that will grow once you’ve secured that developer advocate role.
What about LinkedIn, Instagram, Facebook, Snapchat, TikTok? It’s fine to have a presence on other platforms. If you find ways to connect with other technologists through these platforms, then go for it. My reason for focusing on Twitter is it's pervasive use by tech companies.
GitHub is where most of our favorite open source projects live. If you’ve been coding for a while you’ve probably found yourself at a GitHub repository with code you can include in your project. Anyone can share code with the world through GitHub and invite other developers to comment and contribute to your codebase. It is an amazingly powerful tool for developers.
Start by signing up for a GitHub account - it’s free. I think it’s important to take a few minutes and personalize your profile. Nothing screams n00b than a profile with the default picture. Next, you should learn the basics. There are tons of resources for learning GitHub, here is a nice 10min “hello world” for GitHub. Looking for an opportunity to get your feet wet? Check out the Hacktoberfest event hosted by Digital Ocean.
Once you’ve got the basics under your belt, you can create your own repositories and share your code with others. Go a setup further and find opportunities to help other developers by contributing to their projects. It can be tough to put yourself out there, but make the effort. You will learn a ton by collaborating with developers around code and most importantly how to communicate with developers.
Why is a GitHub presence important when pursuing a developer advocate role? Most of us work for private companies and sharing our code is impossible. GitHub allows you to showcase your talent through personal projects you write. By contributing to other developer repositories, you demonstrate the desire to engage with developers - an important quality in developer advocates.
6: Community Building
Community building is a pretty broad term, but in its simplest form it’s about bringing people together. You’ll need to decide what community building means to you and how you can participate. Developers can come together online or in person with various objectives. Seek out those opportunities to get involved in activities that you are excited about.
My path to developer relations started by volunteering to assist a user group organizer. We met monthly and I helped coordinate sponsors for pizza each month and swag to give away at events. I eventually stepped up to lead the group and then left to start a new meetup for mobile developers. I am not saying go start a meetup, unless that’s what you really want to do, but start by participating at a level you are comfortable with and pursue your passion. Be authentic and it will come through when you talk about your community building work.
You’ve put in the work to score an interview as a developer advocate, now what? The interview process will vary from company to company, but here are a few tips for developer advocates.
Like any interview, you should research the company, product and sector they occupy. Speaking to the challenges developers face and how the company’s product solves those problems is key. Knowing the key players in the sector, you can ask relevant questions about how their product differs from others.
Most importantly, take their technology for a spin (if you can). Evaluate the developer experience for yourself and note any ways you’d make it better. Sign up for a developer account, download an SDK (Software Developer Kit), try their getting started and explore their documentation. This will prepare you to ask questions about their product and demonstrate interest in how developers experience their product.
It can be competitive landing a developer advocate job at top tier tech companies. You may be going up against experienced developer advocates, but don’t be disheartened. Breaking into a new career can be tough, but I hope this post helps you on your journey towards a role as a developer advocate.