Qu'est-ce qu'un Developer Advocate?

TL; DR: Un promoteur de développement est le meilleur ami d'un développeur!

Depuis environ trois ans, je consacre mon temps professionnel et une grande partie de mon temps personnel à aider mes collègues développeurs à réussir et à être productifs avec les outils qu'ils aiment et utilisent. Ces outils incluent les plates-formes Web, telles que JavaScript, PWA et Angular, la plate-forme Google Cloud, les actions sur Google et les chatbots en général. Je fais cela en tant que développeur 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, quand j'étais à l'université pour étudier l'électronique puis l'informatique, on nous enseignait toute la théorie sur les paradigmes informatiques et de programmation, les structures de données, les modèles de conception, les compilateurs et les langages, etc. En gros, on nous a enseigné tout ce que les ingénieurs logiciels juniors doivent savoir pour démarrer leur carrière.

Cependant, j'étais probablement trop passionné par cela parce que je faisais toujours plus que les devoirs de cours requis. Je veux dire, se pencher sur 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 tombé amoureux de JavaScript et j'ai décidé depuis de toujours parier 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 vint la communauté des développeurs. Grâce au Web, j'ai pu demander et obtenir de l'aide d'autres êtres humains - une communauté de développeurs professionnels et expérimentés. J'étais émerveillé! J'ai beaucoup appris des développeurs en lisant leurs idées sur leurs articles de blog, en regardant leurs tutoriels sur Youtube et en discutant de différents sujets sur de nombreux forums technologiques et IRC (oui, cela existe toujours!).

J'ai beaucoup appris de ce que les autres développeurs partageaient gratuitement, juste 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'ont aidé à devenir un bon développeur, maintenant c'était à mon tour de redonner 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, non?

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'ai pas pu mesurer l'impact de mes publications 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 dans la vraie vie. Sans surprise, c'est dans les Meetups, conférences et événements développeurs que vous pourrez retrouver tous ces développeurs passionnés.

Sur une note secondaire: être passionné par le fait d'aider d'autres développeurs peut (espérons-le) également vous faire nominer 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 collègues développeurs! Merci Google!

Longue histoire courte…

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

Alors, qu'est-ce que diable est exactement un Developer Advocate? Qu'est-ce qui fait un excellent promoteur de développement? Et pourquoi le recrutement de développeurs passionnés est-il la bonne décision à prendre en tant qu'organisation? Laissez-moi essayer de répondre à ces questions.

Qu'est-ce qu'un Developer Advocate?

Tout d'abord, soyons clairs pour tout le monde: les Developer Advocates sont également des ingénieurs. Ils ont une solide expérience technique dans leurs domaines, ils ont construit et expédié des applications pour produire. Certains d'entre eux ont même interrompu la production ou supprimé accidentellement des bases de données clients (histoire vraie)!

Compte tenu de cette exigence, les Developer Advocates ne doivent pas être des spécialistes du marketing ou des ventes - il existe des rôles mieux adaptés à ces employés. Cependant, les Developer Advocates doivent être en mesure de donner leur avis sur le marketing ou les ventes. Plus important - pour moi du moins - pour donner du feedback à la gestion des produits, 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 défendre leurs plates-formes en aidant les développeurs finaux à utiliser leurs produits, et ils le font toujours. Donc, la vraie signification d'un Developer Advocate est quelqu'un dont le travail est d'aider les développeurs à réussir avec une plate-forme ou une technologie . Le rôle d'un Developer Advocate est également d'agir comme un pont entre l'équipe d'ingénierie et la communauté des développeurs. Leur travail consiste à donner une rétroaction aux deux parties, également, dans les deux sens.

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

Qu'est-ce qui fait un excellent promoteur de développement?

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

Personnellement, j'ai essayé de convaincre quelques développeurs de commencer à partager leurs connaissances, mais je me suis trompé! J'ai découvert que certains ingénieurs sont simplement plus à l'aise pour écrire du code (qui ne le serait pas?) Et entièrement dédiés à la résolution de problèmes ou à la création de produits. Le partage des connaissances avec d'autres développeurs n'est pas la priorité absolue de chaque ingénieur. C'est tout à fait correct 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 bon développeur Advocate? J'ai appris que de nombreux promoteurs, sinon tous, 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 existe. Les Developer Advocates, comme tous les autres ingénieurs, sont de fervents apprenants. Ils recherchent la connaissance partout. Ils utilisent tous les supports qu'ils connaissent pour rester à jour. Les développeurs que je connais préconisent une plate-forme 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 créer leurs applications. Un Developer Advocate le sait!

Sortir des sentiers battus

Apprendre de nouvelles choses ne vaut pas la peine si vous ne les défiez pas. Je ne prends jamais quelque chose que je viens d'apprendre pour acquis. Je me pose toujours les mêmes questions: «Pourquoi…?», «Et si…?», «Comment cette fonctionnalité peut-elle être améliorée?», «Comment cela fonctionne 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 en mesure de fournir une explication de haut niveau sur le fonctionnement d'une fonctionnalité sous le capot, ou simplement de fournir des informations techniques sur le produit ou la plate-forme qu'ils préconisent. De nombreux développeurs finaux poseront des questions à ce sujet tôt ou tard, alors soyez prêt.

Créer des applications du monde réel

Apprendre de nouvelles choses et connaître la théorie qui les sous-tend ne vaut pas la peine si vous ne créez pas d'applications en les utilisant. Si vous envisagez de 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 plate-forme que vous préconisez. C'est le moment où vos compétences en ingénierie seront utiles.

Créer des applications réelles avec les outils que vous préconisez vous aidera également à mieux comprendre leurs limites et, espérons-le, suggérera des améliorations à l'équipe d'ingénierie. Le travail d'un développeur Advocate est également de s'assurer que la plate-forme et les outils que vous préconisez offrent la meilleure expérience de développement.

Partage et attention

La capacité de «partager» des informations avec la communauté des développeurs est un élément essentiel du rôle de l'avocat des développeurs. Vous ne pouvez pas jouer ce rôle si vous détestez partager ou aider les autres. Et ce n'est pas grave, nous ne sommes pas tous altruistes! Mais alors, prétendre défendre les intérêts des développeurs sera vraiment - attendez - vraiment difficile!

En outre, la plupart des entreprises exigent, dans leurs descriptions de poste, de bonnes compétences en communication verbale et écrite pour le rôle de promoteur. Bien que je sois d'accord avec cette exigence, je crois aussi que les «compétences en communication» ne doivent pas remplacer, ni être confondues avec, la compétence de «partager et prendre soin». Pour reformuler cela, embaucher un développeur défenseur 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!

Bref, voulez-vous embaucher un grand développeur Advocate? Embauchez ensuite un apprenant curieux et passionné, capable de sortir des sentiers battus, avec de bonnes compétences en ingénierie et de véritables compétences de «partage et d'empathie».

Veuillez donner quelques applaudissements à cet article et dites-moi à quel point vous l'avez aimé, sur Twitter @manekinekko et assurez-vous de me suivre pour plus de contenu ?