What I do as a Developer Advocate at IBM
This week, I started on a new role at IBM — Developer Advocate for open-source Kabanero project. This has been super-exciting for many reasons — I went back to the IBM office where my professional career started 5 years ago, I got to meet my old colleagues and most importantly, this IBM office (Markham Software Lab) is the coolest software office in Canada (free snacks, free shuttle, free swags, free snacks, volleyball, soccer, basketball, movie night, ping pong, pool, free snacks and free snacks). But every person I met, asked me the same question: “What is a Developer Advocate? 🤔” On my first medium article, I decided to answer this question.
A Developer Advocate is a senior software engineer who is passionate about building and maintaining a developer community, is a perpetual learner, who is pro-documentation and is comfortable explaining technology in a clear way (mostly in front of large audience). Now let’s break down these characteristics and elaborate.
Being a senior software engineer: Understanding of the system design or software architecture of the product is essential for any developer advocate. This is something that gets developed after at least few years of work as a software engineer. A developer advocate also needs to answer deep technical questions which requires a solid technical track record.
Everything revolves around community: Any software, specially open source, thrives within a strong community. Hence, organizing workshops and local meetups are great ways to establish and extend the community. With the help of social media, you can have a broader community, virtually as well.
A perpetual learner: Probably the most important out of all traits! We (Developer Advocates) attend conferences and meetups where the latest and greatest trends in tech is constantly updating. 50% or more of a developer advocate’s time is spent in learning new things (a personal stat)!
Documentation, Documentation, Documentation: Documentation gives the first impression and it can make or break your product. When new users are trying your product for the first time, they’re going to start with the docs. A developer advocate helps with the effort of curating concise and accurate technical docs that are easy to understand and are visually appealing.
Conference Talks a.k.a. Public Speaking: According to a study published in The Times, fear of public speaking was found to be a more pressing concern than death. While some engineers overcome the fear of public speaking, only a few can go to the level of Kelsey Hightower (Kelsey is THE poster child of developer advocacy). Presenting deep technical topics in a clear and concise manner is no easy feat; bonus points if you can add some humour to your speech 😉.
I will end the article by pointing out my main reason to choose developer advocacy. I have always felt a need to share what I learn and this fuels all aspects of my professional career. IMHO, if you truly possess sharing and empathy skills, rest of the above will automatically follow as a byproduct.