I first came across the term Developer Advocate during one of the career sessions in my boot-camp and later on Twitter. On Tech Twitter, I noticed that a lot of people who held the title Developer Advocate were also software engineers so I set to find out who Developer Advocates are and how they fit into the software engineering ecosystem.
P.S: The terms software engineer and software developer may be used interchangeably to refer to an individual who designs, develops, tests, maintains, and evaluates software.
Who is a Developer Advocate?
Developer Advocates are software engineers/developers with a strong technical background who represent software developers' interests and help them use and/or develop their products or tools more effectively.
Developer Advocates:
act as a company's representative and mainly engage with the developers and end-users of a product.
spread the word about their companies and build a community around a product/tool.
will often create educational and informational content around a product.
interact with developer communities to establish secure feedback channels and ensure that they get reliable feedback on the usage of a product and pass the same to their development teams.
Developer Advocates will more often than not provide a two-way channel of communication where they teach their users how a product works, collect feedback from the users, and pass the feedback over to their developers to improve the product.
Some characteristics of Developer Advocates
They are life-long learners.
Developer Advocates, just like any other software developer, are committed to continuous learning. There are always new technologies and new additions that affect how a product is used. This means that developer advocates should always be informed in order to communicate effectively to their engineering teams and their developer communities.
They should break down complex technical concepts into small, easy-to-understand material.
Developer advocates are required to teach others how a product works and they should be in a position to teach without all the technical jargon. In order to sell a product effectively, they should be able to explain it to anyone including non-technical persons.
They should build with the tools that they advocate for.
This allows the developer advocate to better understand their product, its advantages, limitations and allows them to also make suggestions for product improvement. It is also important to have the first-hand experience of how a product works.
Teaching other developers and committed to the success of their communities.
A developer advocate will always be committed to the success of their product and by extension the success of the communities that use their product. A developer advocate is passionate about teaching and also learning from their communities.
Conclusion
A developer advocate is an essential part of the software development lifecycle. They work hard to create awareness of a product, build communities through sharing of information, collect feedback from users and give feedback to their developers while using the product themselves. If you are passionate about developing software, creating communities, and learning from your community members, you could explore developer advocacy as a career path.