TL;DR: The new PC term for technology evangelist
A developer advocate is a technologist who is both proficient with the use of particular platform produced by their employer and with technical communications. They spread the word about the platform through self-produced speaking engagements, demos, workshops, blogs, tweets, etc. and take qualitative feedback, from their own use and from customer use of the platform, back to the product teams. In this sense, they advocate for platform improvement on behalf of developers, but that is a relatively small percentage of their job (maybe 3%).
Primarily they are responsible for keeping up to date with the platform (understanding the roadmap, what they can and cannot share in NDA and public scenarios, participating in early releases), producing consumable educational content around it, and maintaining/enhancing credentials both for themselves (e.g. certifications) and their employer (ideally through foundation/consortium/professional association participation, but more likely just by sponsoring and showing up to high profile events and conferences). The content produced by a developer advocate can be the edge in a sales conversion – a working demo or walkthrough instead of the classical sales promise about a feature, for example – but a developer advocate themselves should not be too much of a salesperson or they risk not being taken seriously by the community.
There is a community participation and management aspect to the role. Developer advocates are “the” face of the platform and the company in a multitude of scenarios, from DevOpsDays conferences to maintaining open source projects. As such, they should “live” the company values as well as try to keep up to date on developments outside of their company’s platform. Enterprise technology can be a diverse ecosystem, and developer advocates should be able to cook up integrations with other platforms and technologies as needed. A successful developer advocate is empowered to engage with users both on company-sponsored support mechanisms like forums and external sites like StackOverflow, but is no replacement for quality platform support teams.