What is Developer Advocacy / Evangelism?
Defining Developer Advocacy
A developer advocate is a spokesperson, mediator and translator between a company and its technical staff and outside developers. Every day millions of dollars are wasted in companies because non-tech people and tech people either don't communicate at all or completely miss each other's points.
Developers make the computer world work. Great products start with a good idea. Information Architecure, Design and User Experience make it work for users but to make it work for computers in the first place you need developers. Sadly enough developers are generally considered “deliverers” rather than “thinkers”, which is simply not true. What this also means is that telling something to developers as a company or getting them excited is quite a task.
Tip: If you are a clever company you open your products to third party developers and release interfaces to the world. This could be as simple as a data feed, APIs, SDKs or going all in and releasing the whole thing as open source. The benefits are that millions of developers out in the world can find issues with or uses of your products that you never thought of. Innovation can happen anywhere – not only in a meeting room inside your company. It also means that you can hire people that can hit the ground running as they already have experience with your products. But you need people to get them excited about your products and to aid their contributions in the first place. And this is where developer advocates come into play.
Both the world and your company is full of dedicated, highly skilled technical people that are ready to solve anything technical that needs solving. You can get them as excited as a 10 year old on a sugar rush who gets a puppy to play with – for us geeks the puppy is code and the sugar technology platforms.
You can make developers find solutions for almost anything – if you speak their language. If you don't then they will most likely appear as weird and non-communicative. They can also seem to be generally not as excited about working for the company as – for example – the marketing department is. If you fail to excite them they take their solution finding energy elsewhere – into their own pet projects or by contributing to other open products.
The trick is to understand that to be a developer – especially a web developer – you need to have a certain way of seeing the world. And this way of seeing the world makes you suspect things to fail in any which way. If your message means less work for the developers out there it is a great start. If your product gives them more insight into why something failed, also great. If your message means extra work on top of what is already on their plate (and developers always get maxed out) then you'll be out of luck.
Start with the right mindset
The main thing never to forget as a developer advocate is the technical part. It is easy to get into the habit of just writing one presentation after another and re-use materials but this way you will not have much impact.
If something new comes out of your company that should get out to developers take it and access it like an outside developer would. Develop something with it, then document what you have developed. Then write about how you build the thing – and voilà – you've got half an article or presentation already finished.
As a developer advocate it is important that you have experience as a developer. The more projects the better. As working in an agency is different to working for local government or a large multi-national company. Your job is to make your company's technical offerings attractive and interesting to a large variety of developers, and you can only do that when you know their pain.
Of course it is important to be a technical expert, but there are so many more little annoying parts to delivery inside a company that you should be aware of. If you don't have the experience in having to deal with them (and the frustrations they bring) you will have a much harder time giving developers the arguments they need to sell your services to their boss.
Developer advocacy is a role that is a change for developers, not for people coming from HR, PR or marketing. Your main job is still to develop – but this time examples, training materials and explanatory demos rather than live products.
Find your role and play to your strengths
Not everybody can and should be an all-around developer advocate. It is enough if you find your place in the whole spectrum of advocacy. Think about what you love to do the most and then start creating something. The most common parts of the whole job to go into are:
- Writing code tutorials
- Public speaking
- Social web coverage
- Community support
Check the rest of the handbook and see what resonates best with you. Then start advocating. You have nothing to lose and will most probably be surprised how enjoyable things become if you concentrate on one job at a time.