Skip to content

Latest commit

 

History

History
192 lines (145 loc) · 15.4 KB

developer-advocate.md

File metadata and controls

192 lines (145 loc) · 15.4 KB

Developer Advocate / Evangelist

Projected Time

  • Lesson: 20 min
  • Reference: 10 min
  • Guided Practice: 20 min
  • Independent Practice: 10 min

Motivation

A developer evangelist is a mediator or translator between a company and the developers. Even if you don't write code, you can get into your dream company. You can still set your position in your dream companies like Google and Intel. All the top companies or you may say brands have a position of "Developer Advocate". And on following the correct steps you can be one of them.

Objectives

The main objectives of this lesson are mentioned below:

  • To acknowledge the people about advantages of being a Developer advocate.
  • Basic skills required for being in that field.
  • Enhance those skills with proper information and guidance.

Specific Things to Learn

Steps towards a better Developer Evangelist as mentioned in a developer evangelist handbook:

  • Defining Developer Evangelists
  • Start with right mindset
  • Find your role and play your strength
  • Work with the competition
  • Work with your own company
  • Set speaking opportunities
  • Travel and conferences Participation
  • Keeping Time in presentation
  • Write great posts and articles

Materials

Techtonica Slideshow: Roles in Tech - Developer Evangelist

Lessons

  • Read through these slides.

In order to be a developer advocate one must have the following skills:

  • Great development skills — both in creating and explaining software and products
  • Excellent communication skills — this job is about reaching out, listening and distilling information
  • Excellent networking skills — you’re meant to collect contacts and keep them happy

What does a developer evangelist advocate do?

(by Christian Heilmann)

Why take on this job?

Considering how full your plate is, the following question should come up: Why would you want to become a developer evangelist (or developer advocate)? There are perks to being someone in this role. Mostly that it is a natural progression for a developer who wants to move from a delivery role to one where they can influence more what the company does.

  • It bridges the communication gap — developers have a bad reputation when it comes to communication. Showing that someone technical can help understanding each other is a good move for our market.
  • It helps avoiding frustration — a lot of engineering is not needed, but based on false assumptions or misguided “I want to use this”. Good evangelism helps building what is needed, not what is cool.
  • It bridges age and culture gaps — if you’re not interested in a cutthroat competition in engineering, you have a chance to use your talent otherwise. Before you jump on the opportunity, there are some very important points to remember:
  • Developer relations is not a starting position — most developer evangelists graduated from being developers in the same company. You need to know the pain to help prevent it.
  • There are part time opportunities though — engineers or people learning in the company can help with Devrel to ease into the job earlier.
  • Always be ready to prove your worth — measuring the impact of a developer evangelist is tough, you need to make sure you’re well organized in recording your successes. It’s a versatile, morphing and evolving role.

Roles and Responsibilities

(by Tyler Duzan)

A Developer Advocate is a software-focused technical person who has good communication and community-building skills. The responsibilities of the role typically are some or all of the following:

  1. Acting as a steward of open-source projects that the company starts or sponsors, including performing code reviews, contributing code to the project, and helping drive the direction of that project.
  2. Writing public, open-source libraries to wrap APIs for the company's products and helping to integrate those into existing open source projects that might make use of them (for instance the work from Rackspace on Apache libcloud which helped to get Rackspace Cloud integration into SaltCloud and other tools).
  3. Being a consultative source of information for managers within the company to help them understand the importance of the projects to which you are assigned and the role that open-source plays within it.
  4. A participant in product-focused development planning and sprint meetings as an advocate for developer customers to ensure that issues in the product which result in bugs being opened in open-source software that uses your product or are brought to your attention within the developer community are addressed appropriately.
  5. Integration into a product team to assist them with understanding the developer customer use case for the product and driving that direction in API development, documentation, feature development, and test processes.

Tasks that you need to do

(from "What does a developer evangelist/advocate do?" by Christian Heilmann)

As a translator, you have both outbound (company to people) and inbound (people to your company) tasks to fullfil. Let’s list most of them:

Outbound tasks

  • Be a social media presence

  • Keep up to date with competition and market

  • Create openly available software products

  • Participate in other products

  • Participate in public discussions

  • Participate in other publications

  • Create video tutorials

  • Participate and help with events

  • Act as a “firewall” for internal teams

  • Help dealing with influencers

    Explanation
  • Be a social media presence: Provide a personal channel to ask about your company or products. People react much better to a human and interact more with them than with a corporate account. Be yourself — at no point you should become a corporate sales person. Do triage — point people to resources to use like feedback channels instead of talking on their behalf. Don’t make decisions for your colleagues. Help them, don’t add to their workload.

  • Keep up to date with competition and market: You’re the ear on the ground — your job is to know what the competition does and what gets people excited. Use the products of your competition to see what works for you and their users and give that feedback to your teams. Detect trends and report them to your company.

  • Create openly available software products: You need to develop software products to keep up to date technically and show your audience that you’re not just talking but that you know what you’re doing. These should be openly available. In many cases, your company can’t release as freely as you can. Show the world that you’re trusted to do so. Building products also allows you to use tools outside developers use and feed back your experiences to your company

  • Participate in other products: Take part in other people’s open source products. That way you know the pains and joys of using them. Your job is to be available. By providing helpful contributions to other products people judge you by your work and how you behave as a community member, not as a company person. Analyzing how other products are run gives you great feedback for your teams.

  • Participate in public discussions: A lot of discussion happens outside your company, on channels like Stack Overflow, Slack, Facebook Groups, Hacker News and many more. You should be monitoring those to a degree and be visible, bringing facts where discussions get heated. These are great places to find new influencers and partners in communication.

  • Participate in other publications: Taking part in other publications than your own and the ones of your company solidifies your status as a thought leader and influencer. Write for magazines, take part in podcasts and interview series. Help others to get their developer oriented products off the ground — even when they are your competition.

  • Create video tutorials: Creating short, informative and exciting videos is a great opportunity to reach new followers. Make sure you keep those personal — if there is a video about a product, help the product team build one instead. Show why you care about a feature. Keep these quick and easy, don’t over-produce them. These are meant as a “hi, look at this!”.

  • Participate and help with events: Present and give workshops at events. Introduce event organizers and colleagues or other presenters you enjoyed. Help promote events. Help marketing and colleagues at events to make your presence useful and yielding results.

  • Act as a “firewall” for internal teams: People working on products should spend their time doing that — not arguing with people online Your job is to take negative feedback and redirect it to productive results This means in many cases asking for more detailed reporting before working with the team to fix it. It also means managing expectations. Just because a competitor has a cool new thing doesn’t mean your company needs to follow. Explain why.

  • Help dealing with influencers: If you do your job right and talk to others a lot, what other people call ”influencers” are what you call friends and contacts. Show them how much you care by getting them preview information of things to come. Make sure that communication from your company to them goes through you as it makes outreach much less awkward. Find new upcoming influencers and talk to your company about them.

    Inbound tasks

  • Stay up to date and participate in products

  • Keep product teams and internal engineering up to date

  • Amplify messaging of internal teams

  • Coach and promote internal talent

  • Report on events and success of campaigns

  • Help organizing events

  • Work with PR, legal and marketing

  • Give constructive feedback to the product teams and get questions answered

  • Collate outside feedback and convert to constructive feedback

    Explanation
  • Stay up to date and participate in products: There is no way to be a developer evangelist for a company if you don’t know about the products your company does. You need to work with and on the products, only then can you be inspiring and concentrate on improving them. Working on the products also teach you a lot about how they are created, which helps with triaging questions from the outside.

  • Keep product teams and internal engineering up to date: It is important to report to your product teams and engineers. This includes feedback about your own product, but also what positive and negative feedback the competition got. This also includes introducing the teams to people and to communicate with in case they want to collaborate on a new feature.

  • Amplify messaging of internal teams: Your colleagues bring great content, it is your job to give it reach. Amplify their messages by spreading them far and wide and explaining them in an understandable fashion to different audiences. Tell other influencers about the direct information channels your teams have.

  • Coach and promote internal talent: It is great that you can represent your company, but sometimes the voice of someone working directly on a product has more impact. Coach people in the company and promote their presence on social media and at events. Connect conference organizers and internal people — make sure to check with their manager to have them available. Help people present and prepare materials for outreach.

  • Report on events and success of campaigns: Being at an event or running a campaign should be half the job. The other half is proving to the people in the company that it was worth it. Make sure to collect questions you got, great things you learned and find a good way to communicate them to the teams they concern. Keep a log of events that worked and those who didn’t — this is great information for marketing when it comes to sponsorship.

  • Help organizing events: It is important to be involved in the events your company organizes. Try not to get roped into presenting at those — instead offer to coach people to be there instead. Offer to be on the content board of these events — you don’t want to be surprised by some huge press release that says something you don’t agree with. Use your reach to find external speakers for your events.

  • Work with PR, legal and marketing: Your work overlaps a lot with those departments. Be a nice colleague and help them out and you get access to more budget and channels you don’t even know about. Make sure that what you say or do in your job is not causing any legal issues.

  • Give constructive feedback to the product teams and get questions answered: You’re seen as an approachable channel for questions about your products. Make sure that requests coming through you are followed up swiftly. Point out communication problems to your internal teams and help them fix those. Use external feedback to ask for improvements of your own products. It is easy to miss problems when you are too close to the subject matter.

  • Collate outside feedback and convert to constructive feedback: Your colleagues are busy building products. They shouldn’t have to deal with angry feedback that has no action items in it. Your job is to filter out rants and complaints and to analyze the cause of them. Then you report the root issue and work with the teams how to fix them.

Reference

Here is a link to different articles which will let you know much about a Developer evangelist:

Guided Practice

"Here is a link to the complete tutorial for the developer advocate beginners:"

Independent Practice

Further after completing the lessons in the guided practice one must do the following things to enhance their skills:

  • Continuous participation in public speaking.
  • Enhancing your soft skills.
  • Interaction with different Developer evangelists.
  • Attend Conferences and meetups of different communities.

Check for Understanding

Form small groups and discuss:

  • What are the main advantages and skills of a Developer Advocate?
  • What are some of a Developer Advocate's responsibilities?
  • List the basic skills required for being a Developer Advocate.
  • What is one additional thing you learned in this module?

Supplemental Materials