According to blog.phymata.com/2012/12/28/what-is-a-developer-advocate/
"A developer advocate is someone who's primary responsibility is to make it easy for developers to use a platform. ( ... ) I view the role as having a foundation of three pillars: development, advocacy, and community".
In my opinion though, it is a form of marketing that works with developers. See also "Technology Evangelists".