Mikä helvetti on kehittäjien puolestapuhuja?

TL; DR: Kehittäjän puolestapuhuja on kehittäjän paras ystävä!

Noin viimeisten kolmen vuoden aikana olen omistanut ammatillisen aikani ja valtavan määrän henkilökohtaista aikaa auttaakseni muita kehittäjiä menestymään ja tuottamaan heidän rakastamiensa ja käyttämiensä työkalujen avulla. Näitä työkaluja ovat verkkosivustot, kuten JavaScript, PWA ja Angular, Google Cloud Platform, Actions on Google ja chatbotit yleensä. Olen tehnyt tämän kehittäjäasianajajana.

Tämä blogikirjoitus perustuu henkilökohtaiseen kokemukseeni kehittäjän avustajana. Asioita, jotka olen oppinut henkilökohtaisesti, mutta myös muilta kehittäjien edustajilta muilta yrityksiltä, ​​joiden kanssa olen työskennellyt.

Minun tarinani…

Kolmetoista vuotta sitten, kun opiskelin yliopistossa elektroniikkaa ja sitten tietojenkäsittelytietettä, meille opetettiin kaikki teoria tietokone- ja ohjelmointiparadigmista, tietorakenteista, suunnittelumalleista, kääntäjistä ja kielistä jne. Periaatteessa meille opetettiin kaikki, mitä nuorempien ohjelmistosuunnittelijoiden on tiedettävä aloittaakseen uransa.

Olin kuitenkin todennäköisesti liian intohimoinen tähän, koska tein aina enemmän kuin vaaditut luokkatehtävät. Tarkoitan, että Java-nojaaminen yliopistossa oli kunnossa, mutta kyllästyin. Vietin suurimman osan vapaa-ajastani uusien ohjelmointiparadigmojen oppimiseen esimerkiksi Python, PHP, Assembly 8086, oCaml ja JavaScript. Silloin löysin ja rakastuin JavaScriptiin ja päätin siitä lähtien lyödä vetoa aina JavaScriptistä, enkä ole koskaan katunut sitä.

Minun piti oppia uusia kieliä rakentamalla työkaluja, komentosarjoja, sovelluksia ja kaikkea muuta, mikä voisi auttaa minua ymmärtämään kielen sisäpuolta - ylittämällä syntaksin. Tietysti olin vielä opiskelija tuolloin ja yritin selvittää, miten asiat toimivat ja kuinka korjata kaikki luomani virheet.

Sitten tuli kehittäjien yhteisö. Verkon ansiosta voisin pyytää ja saada apua muilta ihmisiltä - ammattitaitoisten ja kokeneiden kehittäjien yhteisöltä. Olin hämmästynyt! Oppin paljon kehittäjiltä lukemalla heidän oivalluksensa blogiviesteistään, katsomalla heidän opetusohjelmansa Youtubessa ja keskustelemalla erilaisista aiheista monissa teknologiafoorumeissa ja IRC: ssä (kyllä, se on edelleen olemassa!).

Olen oppinut paljon siitä, mitä muut kehittäjät jakavat ilmaiseksi, vain auttaakseen muita. Siksi päätin yksinkertaisesti liittyä yhteisöön ja tehdä parhaani jakamaan oppimani. Minulle tämä oli oikea tapa: muut ihmiset auttoivat minua tulemaan hyväksi kehittäjäksi, nyt oli minun vuoroni antaa takaisin ja auttaa muita kehittäjiä. Silloin aloin huolehtia muiden kehittäjien tuottavuudesta - ja tietysti minun. Olemme kaikki samassa veneessä, eikö?

Kun kasvoin ammattimaisesti, aloin miettiä uusia tapoja auttaa muita kehittäjiäni. Tarkoitan, että artikkeleiden kirjoittaminen (täällä Mediumissa ja paperilehdissä) on hieno alku, mutta en pystynyt mittaamaan, miten viesteilläni oli kohdeyleisöni. Sitten päätin mennä ulos tapaamaan noita kehittäjiä, ja toivoin voivani jakaa heidän kanssaan ja oppia heiltä tosielämässä. Ei ole yllättävää, että kaikki nämä intohimoiset kehittäjät ovat tapaamisia, konferensseja ja kehittäjätapahtumia.

Sivuhuomautus: Kiinnostunut auttamaan muita kehittäjiä voi (toivottavasti) myös saada sinut ehdokkaaksi Google Developer Experts -ohjelmaan (tai vastaaviin ohjelmiin). Minulla oli niin onnekas liittyä GDE-ohjelmaan kolme vuotta sitten ja pystyä auttamaan ja vaikuttamaan vielä useampiin muihin kehittäjiin! Kiitos, Google!

Lyhyesti sanottuna…

Tässä olen tänään, nautin edelleen auttaa kehittäjiäni. Ja uskokaa tai älkää, tästä on tullut kokopäiväinen työni SFEIRissä vanhempana kehittäjänä.

Joten mitä helvettiä tarkalleen on kehittäjien puolestapuhuja? Mikä tekee suuresta kehittäjäedustajasta? Ja miksi intohimoisten kehittäjätyöntekijöiden palkkaaminen on oikea päätös tehdä organisaationa? Anna minun yrittää vastata näihin kysymyksiin.

Mikä on Developer Advocate?

Ensinnäkin, tehkäämme se selväksi kaikille: Kehittäjien edustajat ovat myös insinöörejä. Heillä on vahva tekninen tausta aloillaan, he ovat rakentaneet ja toimittaneet sovelluksia tuottajille. Jotkut heistä ovat jopa rikkoneet tuotantoa tai vahingossa poistaneet asiakkaiden tietokannat (tositarina)!

Tämän vaatimuksen vuoksi kehittäjien kannattajien ei pitäisi olla markkinointi- tai myyntihenkilöitä - on olemassa rooleja, jotka soveltuvat paremmin kyseisille työntekijöille. Kehittäjien kannattajien tulisi kuitenkin pystyä antamaan palautetta markkinoinnille tai myynnille. Vielä tärkeämpää - ainakin minulle - antaa palautetta tuotehallinnalle, vaikuttaa tuotteiden etenemissuunnitelmaan, joka perustuu tietenkin kehittäjien tarpeisiin.

Historiallisesti monet teknologiayritykset palkkasivat kehittäjätyöntekijät puolustamaan alustojaan auttamalla loppukäyttäjiä käyttämään tuotteitaan, ja he tekevät niin edelleen. Joten Developer Advocaten todellinen tarkoitus on joku, jonka tehtävänä on auttaa kehittäjiä menestymään alustan tai tekniikan avulla . Kehittäjäasianajajan rooli on myös toimia siltana suunnittelutiimin ja kehittäjäyhteisön välillä. Heidän tehtävänään on antaa palautetta molemmille osapuolille tasavertaisesti molemmilla tavoilla.

Kehittäjien asianajaja on joku, joka kannattaa kehittäjiä, ei pelkästään alustaa. Kehittäjien tulisi olla Kehittäjäasianajajan ensisijainen tavoite.

Mikä tekee suuresta kehittäjäedustajasta?

Uskon, että insinöörit eivät voi muuttua pelkästään kehittäjien puolestapuhujiksi, koska esimiehet pyysivät heitä. Uskon myös, että kehittäjät ovat luonnostaan ​​intohimoisia ja altruistisia ihmisiä. Näitä ominaisuuksia ei voida yksinkertaisesti opettaa tai oppia.

Henkilökohtaisesti olen yrittänyt vakuuttaa pari kehittäjää aloittamaan tiedon jakamisen, mutta olin väärässä! Sain selville, että jotkut insinöörit ovat vain mukavampia kirjoittaa koodia (kuka ei olisi?) Ja omistautuneet täysin ongelmien ratkaisemiseen tai tuotteiden rakentamiseen. Tietojen jakaminen muiden kehittäjien kanssa ei ole kaikkien insinöörien ensisijainen tavoite. Tämä on täysin hieno ja sitä on kunnioitettava. Jos olet johtaja, älä pakota insinöörejä teeskennellä olevansa sellaisia, jotka eivät ole, ja anna heidän olla epämukavissa tilanteissa. Kukaan ei halua olla tässä asennossa.

Joten mikä tekee loistavasta kehittäjäedustajasta? Olen oppinut, että monilla, ellei kaikilla kehittäjien kannattajilla on seuraavat ominaisuudet.

Jatkuva oppiminen

Insinööreinä emme koskaan lopeta oppimista edes valmistumisen jälkeen. Epäilemättä tosi tieto on siellä. Kehittäjät, kuten kaikki muutkin insinöörit, ovat innokkaita oppijoita. He etsivät tietoa kaikkialta. He käyttävät jokaista tuntemaansa mediaa pysyäkseen ajan tasalla. Kehittäjän kannattaja, jonka tunnen, kannattaa alustaa tai tuotetta, ja kokeilen myös muita tuotteita - jopa kilpailijoiden tekemiä tuotteita. Miksi? Koska loppukehittäjien on yleensä käytettävä erilaisia ​​tuotteita ja työkaluja sovellustensa rakentamiseen. Kehittäjän asianajaja tietää sen!

ajatella laatikon ulkopuolella

Uusien asioiden oppiminen ei ole sen arvoista, jos et haasta niitä. En koskaan ota jotain, jonka olen juuri oppinut, itsestään selvänä. Huomaan, että kysyn itseltäni aina samat kysymykset: "Miksi ...?", "Entä jos…?", "Kuinka tätä ominaisuutta voidaan parantaa?", "Kuinka tämä toimii konepellin alla?" Tietysti kuka tahansa utelias insinööri luonnollisesti kysyy näitä kysymyksiä.

Kehittäjien puolestapuhujat eivät ole poikkeus. Heidän pitäisi pystyä antamaan korkean tason selitys siitä, miten ominaisuus toimii konepellin alla, tai yksinkertaisesti antamaan teknisiä oivalluksia tuotteesta tai alustasta, jota he puolustavat. Monet loppukehittäjät kysyvät tästä ennemmin tai myöhemmin, joten ole valmis.

Reaalimaailman sovellusten rakentaminen

Uusien asioiden oppiminen ja niiden taustalla olevan teorian tunteminen ei ole sen arvoista, jos et luo sovelluksia käyttämällä niitä. Jos aiot kehittäjiä, vähiten mitä voit tehdä, on laittaa itsesi kehittäjien kenkiin yrittämällä hallita tuotetta ja alustaa, jota kannatat. Tällöin suunnittelutaidostasi on hyötyä.

Todellisten sovellusten rakentaminen suosittelemillasi työkaluilla auttaa myös ymmärtämään paremmin niiden rajoituksia ja toivottavasti ehdottamaan joitain parannuksia suunnittelutiimille. Kehittäjätyöntekijän tehtävänä on myös varmistaa, että suosittelemasi foorumi ja työkalut tarjoavat parhaan kehittäjäkokemuksen.

Jakaminen ja huolehtiminen

Kyky "jakaa" tietoa kehittäjien kanssa on olennainen osa Developer Advocate -roolia. Et voi olla tässä roolissa, jos vihaat muiden jakamista tai auttamista. Ja se on ok, kaikki meistä eivät ole altruisteja! Mutta sitten teeskentelemällä kehittäjiä kannatetaan todella - odota sitä - todella haastavaa!

Useimmat yritykset vaativat myös työnkuvissaan hyvät suulliset ja kirjalliset viestintätaidot kehittäjäasianajajan roolille. Vaikka hyväksyn tämän vaatimuksen, uskon myös, että "viestintätaidot" eivät saisi korvata taitoa "jakaa ja huolehtia" tai sekoittaa niitä siihen. Tämän muotoilemiseksi on tärkeämpää palkata kehittäjäjuristi, joka todella rakastaa jakamista ja muiden auttamista, kuin paljon tärkeämpi kuin joku, jolla on hyvät viestintätaidot. Itse asiassa entistä on vaikeampaa kehittää!

Joten, pitkä tarina: Haluatko palkata suuren kehittäjätyöntekijän? Palkkaa sitten utelias ja innokas oppija, joka voi ajatella laatikon ulkopuolella, jolla on hyvät insinööritaidot ja aidot jakamis- ja empatiataidot.

Anna tälle artikkelille taputuksia ja kerro minulle, kuinka paljon pidit siitä, Twitterissä @manekinekko ja muista seurata minua saadaksesi lisää sisältöä ?