How to become a Developer Advocate: my story and some practical tips

Intro image

Four years ago, I made the transition from software developer to developer advocate. It‘s been an incredibly rewarding journey that has allowed me to combine my passion for technology with a love for engaging with the community.

In this article, I want to share my story of how I became a developer advocate, the reasons behind my career change, and some practical advice for those considering a similar path. I‘ll dive into what I believe are the essential skills for success in this role and how I‘m continuously working to improve them.

From coder to advocate

Coding

I started my career as a software engineer working on JetBrains‘ issue tracking tool, YouTrack. For the first few years, I genuinely enjoyed the daily challenges of building features and squashing bugs. But as time passed, I began to feel a lack of fulfillment. The sense that I wasn‘t reaching my full potential or making enough of an impact grew stronger each day.

My salvation came through increased involvement with our user community. I began helping write documentation, engaging with developers to gather feedback, and even launched a Slack community to collaborate on API examples for an upcoming webinar. The satisfaction I gained from these community-focused activities was immense. I‘m deeply grateful to my manager at the time who recognized this and supported my transition into a full-time developer advocacy role.

What does a developer advocate actually do?

Teamwork

The role of developer advocate is still relatively new and often misunderstood. We operate in the space between product and community, with a focus on helping users leverage our tools to their greatest potential.

A key distinction is that developer advocates engage with existing users, in contrast to technical evangelists who are more focused on acquiring new users. We‘re less concerned with pitching and convincing, and more with supporting and listening.

On a day to day basis, my role encompassed a wide variety of responsibilities:

  • Answering technical questions and troubleshooting issues to help users get the most out of the product
  • Liaising with internal teams to communicate user feedback and advocate for the community‘s needs
  • Creating blog posts, tutorials and sample code to demonstrate how to build on top of our platform
  • Engaging with the community through forums, chat, social media and in-person events

At the core, a developer advocate needs to be an empathetic partner to the community and a passionate representative within their company. We must gain the trust of our users and deeply understand their goals and challenges. Equipped with this knowledge and perspective, we‘re uniquely positioned to shape the future of our products.

The key skills of a developer advocate

Over the past few years in this role, I‘ve identified what I believe are the fundamental skills every developer advocate needs in their toolbox.

Deep knowledge of product APIs

Code

As a developer advocate, a deep understanding of your product‘s programmatic capabilities is absolutely essential. Users will look to you for help with advanced use cases and custom integrations. Simply being able to read the documentation is not enough.

You need to have extensive hands-on experience using the APIs yourself. Know the edge cases, limitations, and common pitfalls. Be prepared to suggest workarounds and architect solutions to novel problems.

Personally, I‘ve built countless YouTrack workflows, custom dashboard widgets, and automation scripts spanning our entire API surface. I regularly challenge myself to dogfood new APIs as they‘re released. This knowledge is indispensable when it comes to helping our users succeed and providing informed feedback to the product team.

Ability to code in multiple languages

Programming

Being a polyglot programmer is another must-have skill for developer advocates. To truly empathize with and assist your community, you need to be comfortable in the technologies they use day to day.

In my case, I regularly work with Java, Kotlin, JavaScript, Python, Ruby, PHP, and C# – the most common languages used to integrate with YouTrack. When a user approaches me with a question about our Python client library, I can quickly pull up a relevant code sample. If they‘re stuck on a Node.js issue, I‘m ready and eager to start debugging.

To sharpen my programming skills, I constantly build YouTrack extensions and experiment with different languages and frameworks in side projects. I‘ve also found community challenges like #100DaysOfCode incredibly motivating to improve a little bit each day. The time invested pays huge dividends in my ability to support our community.

Strong writing skills

Writing

In my experience, written tutorials and blog posts are the most effective way to share knowledge with the broadest audience possible. While video has its place, it requires significantly more time and effort to produce and keep up-to-date as products evolve.

Writing is a muscle that requires constant exercise. One tactic that‘s helped me is to commit to writing at least one sentence related to my work every single day. More often than not, that simple prompt leads to a full paragraph or even an entire draft post.

I also can‘t overstate the importance of proper grammar and structure, especially if you‘re writing in a non-native language. Tools like Grammarly have been game-changers for me, catching careless mistakes and helping me communicate more clearly and professionally.

Regular writing also has the added benefit of building your personal brand and establishing credibility within the industry. My blog has led to countless opportunities and connections I would have otherwise missed.

Comfort with public speaking

Public speaking

Public speaking, whether at large conferences or intimate meetups, is a core part of developer advocacy. Delivering live presentations, demos, and workshops allows you to connect with the community in a uniquely impactful way.

To be completely transparent, this is the skill I‘m least comfortable with at the moment. As a new parent, I haven‘t been able to travel or attend many events recently. It‘s an area I know I need to practice more as speaking opportunities open up again.

Despite my current lack of experience, I firmly believe all developer advocates should actively work to improve their public speaking abilities. Look for small opportunities to practice, whether at local user groups or lunch and learns within your company. Hone your craft and the confidence will follow.

The attributes of exceptional developer advocates

Beyond the practical skills I‘ve outlined above, I believe the most successful developer advocates share a few key attributes:

Yellow brick road

  • A technical mind to understand a product inside and out, allowing them to help users in unique and advanced ways
  • A empathetic heart to truly listen to the community and internalize their challenges as your own
  • The courage to fight for the needs of users and affect change within your company

If you bring these qualities and a genuine passion for helping others to the role, you‘ll be well on your way down the yellow brick road to success as a developer advocate.

Looking back on my journey so far, I can confidently say that becoming a developer advocate was the best career decision I‘ve ever made. It‘s an incredible feeling to positively impact the lives of so many developers around the world.

If this sounds like the path for you, I encourage you to start orienting your career in that direction. Dive deep into your APIs, start a blog to share your knowledge, and most importantly, lend an empathetic ear to your community. The transition may not happen overnight, but with dedication and a whole lot of heart, you‘ll get there.

Similar Posts