Defining developer advocacy
Reza Rahman: It's very difficult to define. The only other role I can compare it to is an architect. You're always switching roles and doing many different things as a developer advocate. There's not a defining activity about which you can say, "Okay, that's developer advocacy."
Some people will be tempted to say that developer advocacy is public speaking, but that's not true. There are full-time developer advocates at Microsoft who never do public speaking, so that's not a defining characteristic. Developer advocacy is about two-way communication.
An interesting debate that we can get into is the evangelist versus developer advocate question. An evangelist's output function is much higher than their input function, and their job is to deliver a message. They deliver that via blogging, doing social media, speaking, writing books, or even writing code. AÂ developer advocate has an input function...