Article original : What the heck is a Developer Advocate?

Par Wassim Chegham

TL;DR : Un developer advocate est le meilleur ami d'un développeur !

Image

Depuis environ trois ans, je consacre mon temps professionnel et une grande partie de mon temps personnel à aider les développeurs à réussir et à être productifs avec les outils qu'ils aiment et utilisent. Ces outils incluent les plateformes Web, telles que JavaScript, PWA et Angular, la Google Cloud Platform, les Actions on Google, et les chatbots en général. Je fais cela en tant que Developer Advocate.

Cet article de blog est basé sur mon expérience personnelle en tant que Developer Advocate. Des choses que j'ai apprises personnellement, mais aussi d'autres Developer Advocates d'autres entreprises avec lesquelles j'ai travaillé.

Mon histoire…

Il y a treize ans, lorsque j'étais à l'université et que j'étudiais l'électronique puis l'informatique, on nous enseignait toute la théorie sur les ordinateurs et les paradigmes de programmation, les structures de données, les modèles de conception, les compilateurs et les langages, et ainsi de suite. En gros, on nous enseignait tout ce dont les jeunes ingénieurs logiciels ont besoin pour commencer leur carrière.

Cependant, j'étais probablement trop passionné par cela car je faisais toujours plus que les devoirs requis. Je veux dire, apprendre Java à l'université était bien, mais je m'ennuyais. Je passais la plupart de mon temps libre à apprendre de nouveaux paradigmes de programmation à partir de langages tels que Python, PHP, Assembly 8086, oCaml et JavaScript. C'est à ce moment-là que j'ai découvert et suis tombé amoureux de JavaScript et que j'ai décidé depuis lors de toujours miser sur JavaScript, et je ne l'ai jamais regretté.

J'ai dû apprendre de nouveaux langages en construisant des outils, des scripts, des applications, tout ce qui pouvait m'aider à comprendre les rouages du langage — au-delà de la syntaxe. Bien sûr, j'étais encore étudiant à l'époque, et j'essayais de comprendre comment les choses fonctionnaient et comment corriger tous les bugs que je créais.

Puis est venue la communauté des développeurs. Grâce au Web, je pouvais demander et obtenir de l'aide d'autres êtres humains — une communauté de développeurs professionnels et expérimentés. J'étais émerveillé ! J'apprenais énormément des développeurs en lisant leurs insights sur leurs articles de blog, en regardant leurs tutoriels sur YouTube et en discutant de différents sujets sur de nombreux forums techniques et IRC (oui, cela existe encore !).

J'ai beaucoup appris de ce que d'autres développeurs partageaient gratuitement, simplement pour aider les autres. C'est pourquoi j'ai simplement décidé de rejoindre la communauté et de faire de mon mieux pour partager ce que j'apprenais. Pour moi, c'était la bonne chose à faire : d'autres personnes m'avaient aidé à devenir un bon développeur, c'était maintenant à mon tour de rendre la pareille et d'aider d'autres développeurs. Et c'est à ce moment-là que j'ai commencé à me soucier de la productivité des autres développeurs — et de la mienne, bien sûr. Nous sommes tous dans le même bateau, n'est-ce pas ?

Alors que je grandissais professionnellement, j'ai commencé à réfléchir à de nouvelles façons d'aider mes collègues développeurs. Je veux dire, écrire des articles (ici sur Medium et pour des magazines papier) est un bon début, mais je n'étais pas en mesure de mesurer l'impact que mes publications avaient sur mon public cible. J'ai alors décidé de sortir et de rencontrer ces développeurs, et j'espérais partager avec eux et apprendre d'eux en personne. Sans surprise, les meetups, les conférences et les événements pour développeurs sont les endroits où l'on peut trouver tous ces développeurs passionnés.

En aparté : Être passionné par l'aide aux autres développeurs peut (espérons-le) également vous faire nommer pour le programme Google Developer Experts (ou des programmes similaires). J'ai eu la chance de rejoindre le programme GDE il y a trois ans et de pouvoir aider et impacter encore plus de développeurs ! Merci, Google !

En bref…

Me voilà aujourd'hui, toujours heureux d'aider mes collègues développeurs. Et, croyez-le ou non, cela est devenu mon travail à temps plein chez SFEIR en tant que Senior Developer Advocate.

Alors, qu'est-ce qu'un Developer Advocate exactement ? Qu'est-ce qui fait un excellent Developer Advocate ? Et pourquoi embaucher des Developer Advocates passionnés est la bonne décision à prendre en tant qu'organisation ? Laissez-moi essayer de répondre à ces questions.

Qu'est-ce qu'un Developer Advocate ?

D'abord, clarifions une chose pour tout le monde : les Developer Advocates sont aussi des ingénieurs. Ils ont une solide formation technique dans leurs domaines, ils ont construit et déployé des applications en production. Certains d'entre eux ont même cassé la production ou accidentellement supprimé des bases de données clients (histoire vraie) !

Étant donné cette exigence, les Developer Advocates ne devraient pas être des personnes du marketing ou des ventes — il existe des rôles mieux adaptés pour ces employés. Cependant, les Developer Advocates devraient être capables de donner des retours au marketing ou aux ventes. Plus important encore — pour moi en tout cas — de donner des retours à la gestion de produit, pour influencer la feuille de route des produits en fonction, bien sûr, des besoins des développeurs.

Historiquement, de nombreuses entreprises technologiques ont embauché des Developer Advocates pour promouvoir leurs plateformes en aidant les développeurs finaux à utiliser leurs produits, et elles le font encore. Le vrai sens d'un Developer Advocate est donc quelqu'un dont le travail est d'aider les développeurs à réussir avec une plateforme ou une technologie. Le rôle d'un Developer Advocate est également de servir de pont entre l'équipe d'ingénierie et la communauté des développeurs. Leur travail est de donner des retours aux deux parties, de manière égale, dans les deux sens.

Un Developer Advocate est quelqu'un qui défend vraiment les développeurs, pas seulement une plateforme. Les développeurs devraient être la priorité absolue du Developer Advocate.

Qu'est-ce qui fait un excellent Developer Advocate ?

Je crois que les ingénieurs ne peuvent pas simplement devenir des Developer Advocates parce que leurs managers le leur ont demandé. Je pense également que les Developer Advocates sont des personnes intrinsèquement passionnées et altruistes. Ces caractéristiques ne peuvent pas simplement être enseignées ou apprises.

Personnellement, j'ai essayé de convaincre quelques développeurs de commencer à partager leurs connaissances, mais j'avais tort ! J'ai découvert que certains ingénieurs sont simplement plus à l'aise en écrivant du code (qui ne le serait pas ?) et entièrement dédiés à la résolution de problèmes ou à la construction de produits. Partager des connaissances avec d'autres développeurs n'est pas la priorité absolue de chaque ingénieur. C'est parfaitement bien et doit être respecté. Si vous êtes un manager, ne forcez pas vos ingénieurs à prétendre être ce qu'ils ne sont pas et à les mettre dans des situations inconfortables. Personne ne veut être dans cette position.

Alors, qu'est-ce qui fait un excellent Developer Advocate ? J'en suis venu à apprendre que de nombreux, sinon tous, les Developer Advocates partagent les caractéristiques suivantes.

Apprentissage continu

En tant qu'ingénieurs, nous n'arrêtons jamais d'apprendre, même après avoir obtenu notre diplôme. Sans aucun doute, la vraie connaissance est là-bas. Les Developer Advocates, comme tout autre ingénieur, sont des apprenants avides. Ils cherchent des connaissances partout. Ils utilisent tous les médias qu'ils connaissent pour rester à jour. Les Developer Advocates que je connais défendent une plateforme ou un produit, et essaient également d'utiliser d'autres produits — même ceux fabriqués par des concurrents. Pourquoi ? Parce que les développeurs finaux doivent généralement utiliser différents produits et outils pour construire leurs applications. Un Developer Advocate le sait !

Penser hors des sentiers battus

Apprendre de nouvelles choses n'en vaut pas la peine si vous ne les remettez pas en question. Je ne prends jamais quelque chose que je viens d'apprendre pour acquis. Je me surprends toujours à me poser les mêmes questions : « Pourquoi… ? », « Et si… ? », « Comment cette fonctionnalité peut-elle être améliorée ? », « Comment cela fonctionne-t-il sous le capot ? » Bien sûr, tout ingénieur curieux se poserait naturellement ces questions.

Les Developer Advocates ne font pas exception. Ils devraient être capables de fournir une explication de haut niveau sur le fonctionnement d'une fonctionnalité sous le capot, ou simplement fournir quelques insights techniques sur le produit ou la plateforme qu'ils défendent. De nombreux développeurs finaux poseront ces questions tôt ou tard, alors soyez préparé.

Construire des applications réelles

Apprendre de nouvelles choses et connaître la théorie derrière elles n'en vaut pas la peine si vous ne créez pas d'applications en les utilisant. Si vous allez défendre les développeurs, le moins que vous puissiez faire est de vous mettre à la place du développeur final en essayant de maîtriser le produit et la plateforme que vous défendez. C'est le moment où vos compétences en ingénierie seront utiles.

Construire des applications réelles avec les outils que vous défendez vous aidera également à mieux comprendre leurs limitations et, espérons-le, à suggérer quelques améliorations à l'équipe d'ingénierie. Le travail d'un Developer Advocate est également de s'assurer que la plateforme et les outils que vous défendez offrent la meilleure expérience développeur.

Partager et se soucier

La capacité à « partager » des informations avec la communauté des développeurs est une partie essentielle du rôle de Developer Advocate. Vous ne pouvez pas être dans ce rôle si vous détestez partager ou aider les autres. Et c'est OK, nous ne sommes pas tous des altruistes ! Mais alors, prétendre défendre les développeurs va être vraiment — attendez-le — vraiment difficile !

De plus, la plupart des entreprises exigent, dans leurs descriptions de poste, de bonnes compétences en communication verbale et écrite pour le rôle de Developer Advocate. Bien que je sois d'accord avec cette exigence, je crois également que les « compétences en communication » ne devraient pas se substituer à, ou être confondues avec, la compétence de « partage et de soin ». Pour reformuler cela, embaucher un Developer Advocate qui aime vraiment partager et aider les autres est bien plus important que quelqu'un qui a développé de bonnes compétences en communication. En fait, le premier est plus difficile à développer !

Donc, en bref : voulez-vous embaucher un excellent Developer Advocate ? Alors embauchez une personne curieuse et avide d'apprendre, qui peut penser hors des sentiers battus, avec de bonnes compétences en ingénierie et des compétences authentiques de « partage et d'empathie ».

Merci de donner quelques applaudissements à cet article et faites-moi savoir combien vous l'avez aimé, sur Twitter @manekinekko et assurez-vous de me suivre pour plus de contenu 😊