Hvad pokker er en Developer Advocate?

TL; DR: En udvikleradvokat er en udviklers bedste ven!

I de sidste tre år har jeg afsat min professionelle tid og en stor del af min personlige tid til at hjælpe andre udviklere med at blive succesrige og produktive med de værktøjer, de elsker og bruger. Disse værktøjer inkluderer webplatforme, såsom JavaScript, PWA og Angular, Google Cloud Platform, Handlingerne på Google og chatbots generelt. Jeg har gjort dette som Developer Advocate.

Dette blogindlæg er baseret på min personlige erfaring som Developer Advocate. Ting, jeg har lært personligt, men også fra andre Developer Advocates fra andre virksomheder, jeg har arbejdet med.

Min historie…

For tretten år siden, da jeg studerede elektronik og derefter datalogi, lærte vi al teorien om computer- og programmeringsparadigmer, datastrukturer, designmønstre, kompilatorer og sprog osv. Dybest set lærte vi alt, hvad junior softwareingeniører har brug for at vide for at starte deres karriere.

Imidlertid var jeg sandsynligvis for lidenskabelig for dette, fordi jeg altid lavede mere end de krævede holdopgaver. Jeg mener, at læne Java på college var okay, men jeg keder mig. Jeg brugte det meste af min fritid på at lære nye programmeringsparadigmer fra sprog som Python, PHP, Assembly 8086, oCaml og JavaScript. Det var da jeg opdagede og blev forelsket i JavaScript og besluttede siden da altid at satse på JavaScript, og jeg har aldrig fortrudt det.

Jeg var nødt til at lære nye sprog ved at bygge værktøjer, scripts, apps, alt hvad der kunne hjælpe mig med at forstå sprogets indre - ud over syntaksen. Selvfølgelig var jeg stadig studerende dengang, og jeg prøvede at finde ud af, hvordan tingene fungerede, og hvordan jeg fikste alle de fejl, jeg oprettede.

Så kom udviklerens samfund. Takket være Internettet kunne jeg bede om og få hjælp fra andre mennesker - et samfund af professionelle og erfarne udviklere. Jeg var forbløffet! Jeg lærte masser af udviklere ved at læse deres indsigt i deres blogindlæg, se deres tutorials på Youtube og diskutere forskellige emner over mange tekniske fora og IRC (ja, det eksisterer stadig!).

Jeg lærte meget af, hvad andre udviklere delte gratis, bare for at hjælpe andre. Derfor besluttede jeg simpelthen at slutte mig til samfundet og gøre mit bedste for at dele det, jeg lærte. For mig var dette den rigtige ting at gøre: andre mennesker hjalp mig med at blive en god udvikler, nu var det min tur til at give tilbage og hjælpe andre udviklere. Og det var da jeg begyndte at bekymre mig om andre udvikleres produktivitet - og min selvfølgelig. Vi er alle i samme båd, ikke?

Da jeg voksede professionelt, begyndte jeg at tænke på nye måder at hjælpe mine medudviklere på. Jeg mener, at skrive artikler (her på Medium og til papirmagasiner) er en god start, men jeg var ikke i stand til at måle den indflydelse, mine indlæg havde på min målgruppe. Jeg besluttede derefter at gå ud og møde disse udviklere, og jeg håbede at dele med dem og lære af dem i det virkelige liv. Ikke overraskende er møder, konferencer og udviklerbegivenheder, hvor du kan finde alle disse lidenskabelige udviklere.

På en sidebemærkning: At være lidenskabelig med at hjælpe andre udviklere kan (forhåbentlig) også få dig nomineret til Google Developer Experts-programmet (eller lignende programmer). Jeg var så heldig at deltage i GDE-programmet for tre år siden og være i stand til at hjælpe og påvirke endnu flere andre udviklere! Tak, Google!

Kort fortalt…

Her er jeg i dag og nyder stadig at hjælpe mine kolleger med udviklere. Og tro det eller ej, dette er blevet mit fuldtidsjob hos SFEIR som Senior Developer Advocate.

Så hvad er det nøjagtigt en Developer Advocate? Hvad gør en god Developer Advocate? Og hvorfor er ansættelse af lidenskabelig Developer Advocates den rigtige beslutning at tage som en organisation? Lad mig prøve at besvare disse spørgsmål.

Hvad er en Developer Advocate?

Første ting først, lad os gøre det klart for alle: Developer Advocates er også ingeniører. De har en stærk teknisk baggrund inden for deres felter, de har bygget og afsendt applikationer til at producere. Nogle af dem har endda brudt produktionen eller ved et uheld slettet kundedatabaser (sand historie)!

I betragtning af dette krav bør Developer Advocates ikke være marketing- eller salgspersonale - der er roller, der er bedre egnet til disse medarbejdere. Imidlertid bør Developer Advocates være i stand til at give feedback til marketing eller salg. Endnu vigtigere - for i det mindste for mig - at give feedback til produktstyring, at påvirke køreplanen for produkterne, naturligvis baseret på udviklernes behov.

Historisk hyrede mange teknologivirksomheder Developer Advocates til at tale for deres platforme ved at hjælpe slutudviklere med at bruge deres produkter, og det gør de stadig. Så den sande betydning af en Developer Advocate er en person, hvis opgave er at hjælpe udviklere med at få succes med en platform eller en teknologi . En Developer Advocate rolle er også at fungere som en bro mellem ingeniørholdet og udviklerfællesskabet. Deres job er at give feedback til begge parter på lige fod på begge måder.

En Developer Advocate er en, der virkelig går ind for udviklere, ikke kun en platform. Udviklere bør være Developer Advocate's højeste prioritet.

Hvad gør en god Developer Advocate?

Jeg tror, ​​at ingeniører ikke bare kan blive Developer Advocates, fordi de blev bedt om det af deres ledere. Jeg tror også, at Developer Advocates i sig selv er lidenskabelige og altruistiske mennesker. Disse egenskaber kan ikke bare læres eller læres.

Personligt har jeg forsøgt at overbevise et par udviklere om at begynde at dele deres viden, men jeg tog fejl! Jeg fandt ud af, at nogle ingeniører bare er mere behagelige at skrive kode (hvem ville det ikke være?) Og fuldt dedikerede til at løse problemer eller bygge produkter. Deling af viden med andre udviklere er ikke højeste prioritet for enhver ingeniør. Dette er helt fint og skal respekteres. Hvis du er leder, skal du ikke tvinge dine ingeniører til at foregive at være det, de ikke er, og få dem til at være i ubehagelige situationer. Ingen ønsker at være i denne position.

Så hvad gør en god Developer Advocate? Jeg er kommet til at lære, at mange, hvis ikke alle, Developer Advocates deler følgende egenskaber.

Løbende læring

Som ingeniører holder vi aldrig op med at lære, selv efter eksamen. Uden tvivl er ægte viden derude. Udviklingsadvokater er som alle andre ingeniører ivrige elever. De søger viden overalt. De bruger ethvert medium, de kender, for at forblive opdaterede. Udvikleren taler for, at jeg kender fortaler for en platform eller et produkt, og prøver også at bruge andre produkter - selv dem, der er lavet af konkurrenter. Hvorfor? Fordi slutudviklerne normalt skal bruge forskellige produkter og værktøjer til at opbygge deres apps. En Developer Advocate ved det!

Tænker ud af boksen

At lære nye ting er ikke det værd, hvis du ikke udfordrer dem. Jeg tager aldrig noget, jeg lige har lært, for givet. Jeg befinder mig altid med at stille mig selv de samme spørgsmål: "Hvorfor ...?", "Hvad hvis ...?", "Hvordan kan denne funktion forbedres?", "Hvordan fungerer dette under emhætten?" Selvfølgelig vil enhver nysgerrig ingeniør naturligvis stille disse spørgsmål.

Advokater for udviklere er ingen undtagelse. De skal være i stand til at give en forklaring på højt niveau om, hvordan en funktion fungerer under emhætten, eller blot give nogle tekniske indsigter om det produkt eller den platform, de fortaler for. Mange slutudviklere vil spørge om dette før eller senere, så vær forberedt.

Opbygning af virkelige applikationer

At lære nye ting og kende teorien bag dem er ikke det værd, hvis du ikke opretter applikationer ved hjælp af dem. Hvis du vil tale for udviklere, er det mindste du kan gøre, at sætte dig selv i slutudviklerens sko ved at prøve at mestre produktet og den platform, du fortaler for. Dette er det øjeblik, hvor dine tekniske færdigheder vil være nyttige.

Opbygning af virkelige applikationer med de værktøjer, du fortaler for, hjælper dig også bedre med at forstå deres begrænsninger og forhåbentlig foreslår nogle forbedringer til ingeniørteamet. Jobbet for en Developer Advocate er også at sikre den platform og de værktøjer, du fortaler for at give den bedste udvikleroplevelse.

Deling og omsorg

Evnen til at "dele" information med udviklerens samfund er en væsentlig del af rollen som Developer Advocate. Du kan ikke være i denne rolle, hvis du hader at dele eller hjælpe andre. Og det er OK, ikke alle er altruister! Men så vil det foregive at være talsmand for udviklere virkelig - vent på det - virkelig udfordrende!

Desuden kræver de fleste virksomheder i deres jobbeskrivelser gode mundtlige og skriftlige kommunikationsevner til Developer Advocate-rollen. Selv om jeg er enig i dette krav, mener jeg også, at "kommunikationsevner" ikke bør erstatte eller forveksles med evnen til "deling og omsorg". For at omformulere dette er det vigtigere end at ansætte en udvikleradvokat, der virkelig elsker at dele og hjælpe andre, end en person, der har udviklet gode kommunikationsevner. Faktisk er førstnævnte sværere at udvikle!

Så lang historie kort: vil du ansætte en stor Developer Advocate? Ansæt derefter en nysgerrig og ivrig lærer, der kan tænke uden for boksen, med gode tekniske færdigheder og ægte "deling og empati" færdigheder.

Giv denne artikel nogle klapper, og lad mig vide, hvor meget du kunne lide det, på Twitter @manekinekko, og sørg for at følge mig for mere indhold ?