Was zum Teufel ist ein Entwickleranwalt?

TL; DR: Ein Entwickleranwalt ist der beste Freund eines Entwicklers!

In den letzten drei Jahren habe ich meine berufliche Zeit und einen großen Teil meiner persönlichen Zeit darauf verwendet, anderen Entwicklern zu helfen, mit den Tools, die sie lieben und verwenden, erfolgreich und produktiv zu sein. Zu diesen Tools gehören Webplattformen wie JavaScript, PWA und Angular, die Google Cloud Platform, die Aktionen bei Google und Chatbots im Allgemeinen. Ich habe dies als Entwickleranwalt getan.

Dieser Blog-Beitrag basiert auf meiner persönlichen Erfahrung als Developer Advocate. Dinge, die ich persönlich gelernt habe, aber auch von anderen Developer Advocates von anderen Unternehmen, mit denen ich zusammengearbeitet habe.

Meine Geschichte…

Vor dreizehn Jahren, als ich am College Elektronik und dann Informatik studierte, wurde uns die gesamte Theorie über Computer- und Programmierparadigmen, Datenstrukturen, Entwurfsmuster, Compiler und Sprachen usw. beigebracht. Grundsätzlich wurde uns alles beigebracht, was junge Software-Ingenieure wissen müssen, um ihre Karriere zu beginnen.

Allerdings war ich wahrscheinlich zu leidenschaftlich, weil ich immer mehr als die erforderlichen Klassenaufgaben erledigte. Ich meine, Java am College zu lernen war okay, aber mir wurde langweilig. Ich verbrachte den größten Teil meiner Freizeit damit, neue Programmierparadigmen aus Sprachen wie Python, PHP, Assembly 8086, oCaml und JavaScript zu lernen. In diesem Moment habe ich JavaScript entdeckt und mich in es verliebt und seitdem beschlossen, immer auf JavaScript zu setzen, und ich habe es nie bereut.

Ich musste neue Sprachen lernen, indem ich Tools, Skripte, Apps und alles erstellte, was mir helfen konnte, die Interna der Sprache zu verstehen - über die Syntax hinaus. Natürlich war ich damals noch Student und versuchte herauszufinden, wie die Dinge funktionierten und wie ich alle Fehler beheben konnte, die ich verursachte.

Dann kam die Entwicklergemeinschaft. Dank des Webs konnte ich andere Menschen um Hilfe bitten - eine Community von professionellen und erfahrenen Entwicklern. Ich war erstaunt! Ich habe eine Menge von Entwicklern gelernt, indem ich ihre Erkenntnisse in ihren Blog-Posts gelesen, ihre Tutorials auf Youtube angesehen und verschiedene Themen in vielen Tech-Foren und im IRC diskutiert habe (ja, es gibt sie noch!).

Ich habe viel von dem gelernt, was andere Entwickler kostenlos geteilt haben, nur um anderen zu helfen. Deshalb habe ich mich einfach entschlossen, der Community beizutreten und mein Bestes zu geben, um zu teilen, was ich gelernt habe. Für mich war das das Richtige: Andere Leute haben mir geholfen, ein guter Entwickler zu werden. Jetzt war ich an der Reihe, etwas zurückzugeben und anderen Entwicklern zu helfen. Und dann begann ich mich um die Produktivität anderer Entwickler zu kümmern - und natürlich um meine. Wir sitzen alle im selben Boot, oder?

Als ich beruflich wuchs, begann ich über neue Wege nachzudenken, um meinen Mitentwicklern zu helfen. Ich meine, das Schreiben von Artikeln (hier auf Medium und für Papiermagazine) ist ein guter Anfang, aber ich konnte den Einfluss meiner Beiträge auf meine Zielgruppe nicht messen. Ich beschloss dann, diese Entwickler zu treffen, und ich hoffte, sie mit ihnen zu teilen und im wirklichen Leben von ihnen zu lernen. Es überrascht nicht, dass in Meetups, Konferenzen und Entwicklerveranstaltungen all diese leidenschaftlichen Entwickler zu finden sind.

Nebenbei bemerkt: Wenn Sie leidenschaftlich gerne anderen Entwicklern helfen, können Sie (hoffentlich) auch für das Google Developer Experts-Programm (oder ähnliche Programme) nominiert werden. Ich hatte das große Glück, vor drei Jahren am GDE-Programm teilzunehmen und noch mehr Entwicklerkollegen zu unterstützen und zu beeinflussen! Danke Google!

Um es kurz zu machen…

Hier bin ich heute und genieße es immer noch, meinen Entwicklerkollegen zu helfen. Und ob Sie es glauben oder nicht, dies ist mein Vollzeitjob bei SFEIR als Senior Developer Advocate geworden.

Was zum Teufel ist ein Developer Advocate? Was macht einen großartigen Entwickleranwalt aus? Und warum ist die Einstellung leidenschaftlicher Entwickleranwälte die richtige Entscheidung für eine Organisation? Lassen Sie mich versuchen, diese Fragen zu beantworten.

Was ist ein Entwickleranwalt?

Lassen Sie uns zunächst allen klar machen: Entwickleranwälte sind auch Ingenieure. Sie haben einen starken technischen Hintergrund auf ihrem Gebiet, sie haben Anwendungen erstellt und ausgeliefert, um sie herzustellen. Einige von ihnen haben sogar die Produktion unterbrochen oder versehentlich Kundendatenbanken gelöscht (wahre Geschichte)!

Angesichts dieser Anforderung sollten Developer Advocates keine Marketing- oder Vertriebsmitarbeiter sein - es gibt Rollen, die für diese Mitarbeiter besser geeignet sind. Entwickleranwälte sollten jedoch in der Lage sein, Marketing oder Vertrieb Feedback zu geben. Noch wichtiger ist - zumindest für mich -, dem Produktmanagement Feedback zu geben und die Roadmap der Produkte zu beeinflussen, natürlich basierend auf den Anforderungen der Entwickler.

In der Vergangenheit haben viele Technologieunternehmen Developer Advocates beauftragt, sich für ihre Plattformen einzusetzen, indem sie Endentwicklern helfen, ihre Produkte zu verwenden, und das tun sie immer noch. Die wahre Bedeutung eines Developer Advocate ist also jemand, dessen Aufgabe es ist, Entwicklern zu helfen, mit einer Plattform oder einer Technologie erfolgreich zu sein . Die Rolle eines Developer Advocate besteht auch darin, als Brücke zwischen dem Engineering-Team und der Entwickler-Community zu fungieren. Ihre Aufgabe ist es, beiden Parteien auf beide Arten gleichermaßen Feedback zu geben.

Ein Developer Advocate ist jemand, der sich wirklich für Entwickler einsetzt, nicht nur für eine Plattform. Entwickler sollten die oberste Priorität des Developer Advocate sein.

Was macht einen großartigen Entwickleranwalt aus?

Ich glaube, dass Ingenieure nicht einfach zu Developer Advocates werden können, weil sie von ihren Managern dazu aufgefordert wurden. Ich denke auch, dass Developer Advocates von Natur aus leidenschaftliche und altruistische Menschen sind. Diese Eigenschaften können nicht einfach gelehrt oder gelernt werden.

Persönlich habe ich versucht, einige Entwickler davon zu überzeugen, ihr Wissen zu teilen, aber ich habe mich geirrt! Ich fand heraus, dass einige Ingenieure es einfach bequemer haben, Code zu schreiben (wer wäre das nicht?) Und sich voll und ganz der Lösung von Problemen oder dem Erstellen von Produkten widmen. Der Austausch von Wissen mit anderen Entwicklern hat nicht die höchste Priorität eines jeden Ingenieurs. Dies ist völlig in Ordnung und muss respektiert werden. Wenn Sie ein Manager sind, zwingen Sie Ihre Ingenieure nicht, so zu tun, als wären sie das, was sie nicht sind, und lassen Sie sie sich in unangenehmen Situationen befinden. Niemand möchte in dieser Position sein.

Was macht einen großartigen Entwickleranwalt aus? Ich habe erfahren, dass viele, wenn nicht alle Entwickleranwälte die folgenden Merkmale aufweisen.

Fortlaufendes Lernen

Als Ingenieure hören wir auch nach dem Abschluss nie auf zu lernen. Zweifellos ist wahres Wissen da draußen. Entwickleranwälte sind wie jeder andere Ingenieur begeisterte Lernende. Sie suchen überall nach Wissen. Sie nutzen jedes Medium, das sie kennen, um auf dem neuesten Stand zu bleiben. Die Entwickleranwälte, die ich kenne, befürworten eine Plattform oder ein Produkt und versuchen auch, andere Produkte zu verwenden - auch solche, die von Wettbewerbern hergestellt wurden. Warum? Weil die Endentwickler normalerweise unterschiedliche Produkte und Tools verwenden müssen, um ihre Apps zu erstellen. Ein Entwickleranwalt weiß das!

in andere Richtungen denken

Das Lernen neuer Dinge lohnt sich nicht, wenn Sie sie nicht herausfordern. Ich nehme nie etwas, was ich gerade gelernt habe, als selbstverständlich an. Ich stelle mir immer die gleichen Fragen: "Warum ...?", "Was wäre wenn ...?", "Wie kann diese Funktion verbessert werden?", "Wie funktioniert das unter der Haube?" Natürlich würde jeder neugierige Ingenieur diese Fragen stellen.

Entwickleranwälte sind keine Ausnahme. Sie sollten in der Lage sein, auf hoher Ebene zu erklären, wie eine Funktion unter der Haube funktioniert, oder einfach einige technische Einblicke in das Produkt oder die Plattform geben, für die sie sich einsetzen. Viele Endentwickler werden früher oder später danach fragen, seien Sie also vorbereitet.

Erstellen realer Anwendungen

Es lohnt sich nicht, neue Dinge zu lernen und die Theorie dahinter zu kennen, wenn Sie keine Anwendungen damit erstellen. Wenn Sie sich für Entwickler einsetzen möchten, können Sie sich zumindest in die Lage des Endentwicklers versetzen, indem Sie versuchen, das Produkt und die Plattform zu beherrschen, für die Sie sich einsetzen. Dies ist der Moment, in dem Ihre technischen Fähigkeiten nützlich sein werden.

Das Erstellen realer Anwendungen mit den von Ihnen empfohlenen Tools hilft Ihnen auch dabei, deren Einschränkungen besser zu verstehen und dem Engineering-Team hoffentlich einige Verbesserungen vorzuschlagen. Die Aufgabe eines Developer Advocate ist es, sicherzustellen, dass die Plattform und die Tools, für die Sie sich einsetzen, die beste Entwicklererfahrung bieten.

Teilen und kümmern

Die Möglichkeit, Informationen mit der Entwicklergemeinschaft zu „teilen“, ist ein wesentlicher Bestandteil der Rolle des Developer Advocate. Sie können nicht in dieser Rolle sein, wenn Sie es hassen, andere zu teilen oder ihnen zu helfen. Und das ist in Ordnung, nicht alle von uns sind Altruisten! Aber dann wird es wirklich eine Herausforderung sein, so zu tun, als würde man sich für Entwickler einsetzen.

Außerdem benötigen die meisten Unternehmen in ihren Stellenbeschreibungen gute mündliche und schriftliche Kommunikationsfähigkeiten für die Rolle des Developer Advocate. Obwohl ich dieser Anforderung zustimme, glaube ich auch, dass „Kommunikationsfähigkeiten“ die Fähigkeit „Teilen und Sorgen“ nicht ersetzen oder mit ihnen verwechselt werden sollten. Um dies neu zu formulieren, ist die Einstellung eines Entwickleranwalts, der es wirklich liebt, andere zu teilen und ihnen zu helfen, viel wichtiger als jemand, der gute Kommunikationsfähigkeiten entwickelt hat. Ersteres ist in der Tat schwerer zu entwickeln!

Also, um es kurz zu machen: Möchten Sie einen großartigen Developer Advocate einstellen? Stellen Sie dann einen neugierigen und begeisterten Lernenden ein, der über den Tellerrand hinaus denken kann und über gute technische Fähigkeiten und echte Fähigkeiten zum Teilen und Einfühlungsvermögen verfügt.

Bitte klatschen Sie in diesen Artikel und lassen Sie mich wissen, wie gut es Ihnen auf Twitter @manekinekko gefallen hat, und folgen Sie mir für weitere Inhalte .