One of the things that I've always seen as an interesting difference between how Google and Apple run their developer relations teams is the title that they give their employees. Apple has Technology Evangelists, suggesting that they promote the use of certain technologies (typically Apple's own technology or Apple-supported web technology). Google, on the other hand, has Developer Advocates - these are people who actually represent non-Googler developers internally at Google.
While they may just be titles, my experience has been consistent with their titles. Apple representatives you see once a year at WWDC, while Google representatives you see at Google I/O and also at a number of Google-hosted events year-round, including the regular videos they put out (and the "office-hours" type Hangouts they have so that you can actually talk to them and get your problems resolved) - just look at all of the events they have scheduled on the Google Developer Events page[0] or all of the videos they have on their YouTube channel[1]. I've also seen a lot of them give talks at tech conferences, while Apple employees are rarely seen at conferences. And you can see that Google's Developer Advocates really do talk directly to the actual teams directly and file bugs against them when necessary on behalf of developers everywhere. It's a system that has worked pretty well in my experience.
I will also agree that Google's Developer Advocates don't care too much about what platform you're using and just want to help you. I've been to a number of Google-run technical workshops and codelabs, and the people there are willing to help you with whatever problems you run into, no matter what it is.
The difference between a developer advocate and a developer evangelist is inbound vs outbound.
Developer advocates are focused on helping address developers' problems. Developer evangelists are focused on increasing product use and adoption.
That said, the responsibility of these positions mostly overlap. In my personal experience as a developer evangelist at Marketo, my day-to-day work has encompassed the function of both titles. My goal is to create a great developer experience [0] in order to drive platform adoption [1].
Anecdotally, I have noticed a shift towards the developer advocate title. At Facebook, Dropbox, and Twitter, the role is called this.
> The difference between a developer advocate and a developer evangelist is inbound vs outbound.
That's a great way of looking at it. There is definitely some overlap, but I think it's nice to have the mindset that they are on the external developers' side rather than just the company's side. And it works well I think - by helping out those developers, they can work towards better products and platforms, and increase adoption at the same time. Everyone wins.
In fairness, the "evangelist" title at Apple goes way back to the time when technology ("home computers?!") really did need evangelizing to the press and the general public.
Then, as now, Apple believed in their mission with a fervor that suggested the nomenclature. See 1980s Guy Kawasaki, etc.
Interesting historical trivia. But it's worth noting that Apple's 1990s developer strategy was almost a total failure, whereas Microsoft's "talk to actual developers" approach was much more successful.
Note I'm not making some sort of Mac/Windows analogy because the whole communication space has changed radically. Just making the point that the title "evangelist" implies more of a marketing role.
Well, Apple's 1990s everything strategy was almost a total failure.
But yes, I could write volumes about the ways Apple could improve developer relations, and a recurrent theme would be the one-way nature of most interactions. Even big developers have a tough time of it, sometimes.
The labs at WWDC are valuable. And the tech talk tours sound like an attempt (have not attended), but it's a long-standing, systemic problem that is probably insoluble without extraordinary effort.
On the other hand, Cocoa is beautiful, and it all works out well in the end.
Sure. And I should make clear the 1990s are a fundamentally wrong analogy because 1990s Apple barely understood that PowerPC chips needed a compiler, much less create Xcode or a developer productivity tool like Swift.
In my mind it's mostly a matter of positioning. An "Evangelist" is there to sell me something. A "Developer Something" is there to listen to me bitch.
Speaking of Cocoa, from what I've heard about NeXT, it was a small company and the developers were one step away from the customers. Perhaps it is 'beautiful' because of a lot direct feedback.
I wonder if that's because Google needs this role and Apple doesn't. Apple has such a super buttoned down approach and take it or leave it mentality that a developer advocate role may be redundant. Google has always had a loser feel with disparate divisions which in turn requires helping outside developers navigate the internals. Just a guess.
While they may just be titles, my experience has been consistent with their titles. Apple representatives you see once a year at WWDC, while Google representatives you see at Google I/O and also at a number of Google-hosted events year-round, including the regular videos they put out (and the "office-hours" type Hangouts they have so that you can actually talk to them and get your problems resolved) - just look at all of the events they have scheduled on the Google Developer Events page[0] or all of the videos they have on their YouTube channel[1]. I've also seen a lot of them give talks at tech conferences, while Apple employees are rarely seen at conferences. And you can see that Google's Developer Advocates really do talk directly to the actual teams directly and file bugs against them when necessary on behalf of developers everywhere. It's a system that has worked pretty well in my experience.
I will also agree that Google's Developer Advocates don't care too much about what platform you're using and just want to help you. I've been to a number of Google-run technical workshops and codelabs, and the people there are willing to help you with whatever problems you run into, no matter what it is.
[0]: https://developers.google.com/events/
[1]: https://www.youtube.com/user/GoogleDevelopers