Dezvoltatori Master Christian Heilmann

Un evanghelist al dezvoltatorului îndeplinește un rol important pentru o companie. Acestea servesc ca un comunicator, un zgomot, o voce grozavă și, mai important, o parte integrantă a comunității de dezvoltare web. Puțini oameni cuprind toate acestea, precum și Christian Heilmann. Lucrând în prezent ca principal evanghelist tehnic la Mozilla, el a scris literalmente cartea despre envangelismul dezvoltatorilor și oferă o nuggest insightful asupra muncii sale.


Nu mi-e rușine să recunosc că sunt un pic de fanboi și cred că ești un model pentru toți evangheliștii. Care este părerea dvs. cu privire la viitorul rolului mereu în schimbare al evangheliștilor dezvoltatori?

Sunt un tad ingrijorat in momentul in care la moda a devenit sa ai un "dezvoltator evanghelist" pentru compania ta si cat de multe persoane se numesc acestea fara sa vina de la un dezvoltator de fond sau de fapt, sa elibereze orice informatii tehnice. Se pare că oamenii au realizat potențialul și beneficiile de a avea pe cineva ca acesta în compania lor - ceea ce mă face foarte fericit.

Pe de altă parte, depinde de noi să ne păstrăm teritoriul curat și să subliniem în mod repetat că evanghelizarea dezvoltatorului nu este un produs de marketing.

Dacă cineva vorbește doar despre produsele lor fără să recunoască concurența sau să le ofere dezvoltatorilor o alegere, nu este evanghelizare dezvoltator, ci marketing simplu sau simplu.

O mare schimbare pe care o văd este că canalele noastre tradiționale de publicare au fost spulberate. Atât LinkedIn, cât și Slideshare nu sunt la fel de utile pentru mine, așa cum era când erau pline de zgomot. Prin urmare, mă deplasez la Google+ și pe Facebook pentru o mulțime de campanie. Avem și multe instrumente care se cultivă. Multe pentru a testa și a se juca cu. Sunt foarte entuziasmat de ceea ce Lanyrd și-a luat mâneca pentru noi - urmăriți acest spațiu.


QA este un evanghelist, cum rămâneți pe lângă schimbarea constantă pe care o vedem în lumea dezvoltării web?

O jumătate de oră pe trainerul încrucișat este fie pierdut, fie util pentru a ține pasul. Alegerea ta.

Fluxuri RSS - de aceea știrile despre Google Reader m-au lovit foarte mult. Feedly este un bun înlocuitor, totuși, și am instalat Fever pe serverul meu. Multe dintre ele se uită și la ceea ce fac colegii tăi. Deci, nu mergeți la conferințe, dați-vă discuția și plecați - urmăriți ce fac alții și verificați YouTube și alții pentru a fi la curent cu ceea ce vorbește despre concurență. Mă uit la discuții în sala de sport - o jumătate de oră pe trainerul încrucișat este fie pierdut, fie util pentru a ține pasul. Alegerea ta. Schimbarea constantă în lumea dezvoltării web este tocmai aceea - o constantă. Dacă doriți să fiți un dezvoltator web, trebuie să fiți la curent permanent. Asta face ca munca noastră să fie atât de uimitoare. Nu există certificat pentru care să plătiți; trebuie să înveți tot timpul.


Dacă cineva dorea să devină un evanghelist pentru dezvoltatori, care este îndrumarea pe care le-ați da astăzi?

Ia-te acolo cât mai mult posibil. Participați la discuții, mergeți la întâlniri, vorbiți la neconcurență, participați la hackathons și vedeți ce fac oamenii în agitația lor care vă deranjează - atunci faceți mai bine. Pentru Mozilliani (care include și voluntari), avem Evanghelizarea dezvoltatorilor - un grup pe care îl conduc, pentru a obține toate materialele pe care le creăm, instruirea și coaching-ul în persoană. Trebuia să încep acest lucru, deoarece nu mă pot clona.


Care este rolul dvs. la Mozilla diferit de cel pe care îl faci la Yahoo!?

Mozilla nu are nicio minte dacă ne raportăm la ceva care face ca web-ul să fie mai bun.

Nu trebuie să aștept ca vreun produs să fie gata să vorbească despre asta și nu există secrete. În cazul în care a fost dificil la Yahoo să laude produsele Google, Mozilla nu deranjează deloc dacă ne raportăm la ceva care face ca web-ul să fie mai bun. Această libertate este principala diferență. Ca cineva care lucrează pentru Mozilla, sunt invitat de alte companii să lucrez cu ei și nu există nici o problemă în acest sens. De asemenea, primesc informații înainte de a ieși, deoarece Mozilla este un canal, nu un concurent comercial. De exemplu, videoclipurile de antrenament pe care le-am făcut împreună ar fi fost un coșmar pentru a fi trimise de Yahoo; cu Mozilla nu au fost nici o problemă. Mozilla îmi dă o incredibilă libertate și o comunitate extraordinară pe care o pot folosi. De asemenea, pot răspunde la toate întrebările cu "codul este disponibil, verificați-l acolo".


Ai fost un angajat la distanță de ceva timp. Care sunt gândurile tale despre decizia recentă a Yahoo! de a aduce toți angajații la distanță?

Deoarece nu știu toate faptele, aș renunța la a ghici ce motiv a fost și nu sunt destul de încurcat să cred că opinia mea ar conta o mare corporație. Rularea unui spectacol precum Yahoo nu este ușor, există multe cereri pentru dvs. - dintre care multe nu știm.

Personal, am constatat că angajații la distanță pot fi incredibil de eficienți dacă aveți încredere în ei și aceștia iubesc ceea ce fac. Când unii oameni abuzează de această libertate, pot deveni complicați. Sunt fericit să lucrez de oriunde (mai ales aeroporturi, cafenele și hoteluri) și cred că acesta este viitorul muncii. Avem tehnologia, nu ar trebui să lucrăm așa cum am făcut acum cincizeci de ani. Dacă vom ține pasul unei distincții fixe 9-5 între muncă și "viața reală", facem lucrurile un lucru pentru a face bani și viață un lucru pentru a ne bucura de noi înșine. Asta nu trebuie să fie cazul.


Ați participat la o mulțime de conferințe și ați vorbit la majoritatea acestora. Credeți că calitatea evenimentelor este mai mare decât înainte? Dar vorbitorii?

Se pare că există o diferență masivă între conferințele americane și cele europene.

Aceasta este o întrebare foarte dificilă de răspuns. Am constatat că calitatea discuțiilor devine mai bună și mai bună în fiecare an și îmi plac unele dintre noile talente care au apărut în ultimii ani. Oamenii ca Brad Frost, Jake Archibald și Lea Verou sunt o bucurie de văzut.

Ceea ce am descoperit însă este că evenimentele ca instituție au un timp de înjumătățire foarte scurt. O mulțime de evenimente care au fost în jur de mult timp coboară în mediocritate sau "aici sunt 12 piese din care să alegi". Dimensiunea nu face o conferință minunată. Dimpotrivă, consider că evenimentele mai mici au o calitate mult mai ridicată. De asemenea, nu cred în roadshows, repetând aceleași discuții în jurul lumii, în timp ce aceleași informații sunt de asemenea disponibile în înregistrări deja. Dar ele sunt de mare succes, deci ce știu despre organizarea lor?

Se pare că există o diferență masivă între conferințele americane și cele europene. Conferințele americane sunt mult mai mult un lucru "bine, altul", iar vorbitorii și audiența sunt mult mai lipsiți de luciu. În calitate de vorbitor în Europa, fiți gata să oferiți ceva nou și util sau obțineți un feedback foarte direct și scurt de la public. Oamenii aici doresc să obțină valoarea banilor lor și să participe la fiecare discuție și la fiecare activitate din jurul evenimentului. În SUA, văd o mulțime de a veni și de a merge și de schimb de cărți de vizită, mai degrabă decât să se îngrijească de ceea ce vorbitorii au de spus. Desigur, nu peste tot, dar instituția evenimentelor IT este mult mai învechită în SUA decât oriunde altundeva. Cu aceasta, vine un pic de tediu și oamenii se plictisesc. Unconferințele au încercat să perturbe acest lucru, dar au depășit abordarea anarhică inițială. Și nu mă face să încep cu suprasarcină de "hackathon" chiar acum. Multe dintre ele sunt doar teste de utilizare foarte subțire și / sau exerciții de angajare.


Ce credeți că participanții sunt cei mai interesați să audă?

povestiri. Exemple de implementare și modul în care ceea ce arătați este important pentru ele. Oricine poate căuta detalii tehnice. Deci, nu explicați cum într-o sesiune de codare live de douăzeci de minute pe care oamenii nu o pot aminti cinci minute mai târziu. În schimb, indicați unde să aflați mai multe după eveniment. Desigur, oamenii sunt uimiți când arătați magie tehnică și flexați mușchii coder care arată zece lucruri imposibile în cinci rânduri de cod, dar asta nu ajută pe nimeni. Dacă ceva, perpetuează noțiunea de "dezvoltatori / designeri" și "stăpâni de ninja rockstar" care în cartea mea trebuie să moară.


QI are sentimentul că vedem aceiași oameni mereu la conferințe. Cum obținem noi sânge la aceste evenimente?

Verificând webul pentru noi talente în comentariile noastre, întâlnindu-le la evenimente și apoi încurajându-le să depună ziare și să se prezinte acolo. Coaching-le și ajutându-le să găsească povestea în materialele lor. O mulțime de oameni se tem de vorbit, deoarece aceiași oameni sunt invitați peste tot. Așa că poate că nu spuneți și propuneți unui nou-venit local în locul organizatorilor de conferințe este un lucru bun. De asemenea, menționarea muncii oamenilor în discuțiile dvs. ajută foarte mult.


Am văzut o mulțime de zgomot despre aplicațiile native și cum au câștigat. Îmi place pe web și vreau să câștige. Ați auzit aceleași lucruri și, dacă da, ce trebuie să facem pentru a păstra web relevante pentru dezvoltatorii de aplicații?

Am vorbit destul de detaliat despre acest lucru în ultima vreme și simt că pendulul începe să se învârtă în cealaltă direcție. Nu cred că unul va înlocui celălalt, dar aplicațiile native și aplicațiile web au obiective diferite.

Aplicațiile Web reprezintă evoluția site-urilor Web. Deplasăm lucrurile pe Desktop cu aplicațiile instalate pe web - Documentele Google reprezintă un exemplu excelent pentru aceasta sau majoritatea dintre noi folosesc clienți de e-mail în loc de cei de pe Desktop.

Aplicațiile native, prin însăși natura lor, sunt menite să fie fixate în starea lor și să facă un lucru bine. Asta inseamna ca ele ofera intotdeauna o experienta superioara pentru acest caz de utilizare, insa inseamna ca sunt limitate si devin plictisitoare sau inutile mai repede decat o solutie web.

Ambele pot exista fericite unul lângă celălalt.

Soluțiile web sunt mai flexibile; Vă pot oferi o experiență mobilă și desktop, ambele cu interfețe de îngrijire care au cel mai mult sens în acel mediu și sincronizate între ele. Aplicațiile native nu fac asta. Trebuie să repet aceleași provocări pe Temple Run pe tableta mea și pe telefonul mobil, mai degrabă decât sincronizarea celor două.

Motivul nu este că acest lucru nu este posibil din punct de vedere tehnic. Motivul este că aplicațiile native sunt produse și treaba lor este să vândă și să vândă mai mult și să facă bani cu upgrade-uri. Acestea sunt construite cu înrădăcinare încorporată în minte, la fel ca jocurile de pe CD-uri și Floppies. Aplicațiile sunt acolo pentru ca oamenii să dorească următoarea iterație a hardware-ului, astfel încât să poată folosi versiunea mai shinieră.

Aplicațiile Web sunt acolo pentru a fi utilizate și actualizate fără să le realizați. Ambele pot exista fericite unul lângă celălalt. Pentru a face ca web-ul să devină mai interesant pentru dezvoltatorii nativi, avem nevoie de instrumente de conversie și de conversie mai bune. ASM.js este un început excelent pentru asta - permite dezvoltatorilor să scrie în C ++ în mediul în care sunt confortabil și să convertească la JavaScript cu un instrument. Adobe, de asemenea, construiește niște instrumente excelente pentru dezvoltatori de a se lipi de Flash, dar de a face soluții Canvas / WebGL.

Web-ul este cea mai bună platformă de distribuție dacă doriți să vă răspândiți mult. Dacă aveți nevoie să vă controlați distribuția, este înspăimântător pentru unii. Putem avea amândouă. Nu mă tem de aplicațiile native - dacă nu, le văd ca pe niște haioase, iar distribuția pe platforme înseamnă că trebuie să dublezi munca. Nu este inteligent.


Există multe preocupări legate de monocultura WebKit, în special în spațiul mobil. Cum afectează web-ul, mai ales în ceea ce privește "aplicațiile native"? Întrebare Te-am întrebat?

Sincer, am mers ca dezvoltatori web.

Sincer, am mers ca dezvoltatori web. Când iPhone-ul a ieșit și a revendicat platforma HTML5, toți au construit soluții care au funcționat numai pe acest dispozitiv. Acest lucru este incredibil de scurtcircuitat și o repetare a greșelilor pe care le-am făcut în anii '90, ceea ce ne-a oferit sisteme de finanțare a întreprinderilor de milioane de dolari care rulează numai în IE6 și costă foarte mult pentru a le menține și a le actualiza. Excesivele soluții web lansate în ultimul an sunt "doar pentru iPhone" și, prin urmare, nu reușesc să ofere o experiență web bună și să se uite și să funcționeze prost, în comparație cu aplicațiile native. Ele sunt cele mai rele din ambele lumi. Din fericire, eroarea "dacă funcționează în Webkit, funcționează peste tot" ar trebui să devină evidentă și celor mai confuzi dezvoltatori. Tehnologiile Web nu sunt disponibile pentru a servi un browser sau o singură bucată de hardware. Făcând asta înseamnă că le-ai scos din puterile lor principale.


QCum credeți că blocarea Google de WebKit Core și împingerea înainte cu Blink vor avea impact asupra web-ului?

Aceasta înseamnă că dezvoltatorii trebuie să realizeze că WebKit nu este WebKit, iar Android nu este iOS, iar OSX nu este iOS. Cred că pe termen lung înseamnă că atât Chrome, cât și Safari se vor îmbunătăți și înseamnă că Apple trebuie să-și îmbunătățească jocul prin angajarea mai multor ingineri sau să fie cinstit și să devină pe deplin nativ.


QGoing înapoi la mobil, FirefoxOS, din punct de vedere tehnic, arată incredibil de promițătoare, mai ales cu posibilitatea de a crea aplicații folosind HTML5, CSS3 și JavaScript. Dar, în mod realist, cât de mult o șansă trebuie să câștige tracțiunea împotriva unor jucători stabiliți precum iOS și Android?

Ea reușește deja împotriva celor doi, deoarece nu este menită să concureze cu ei.

Ea reușește deja împotriva celor doi, deoarece nu este menită să concureze cu ei. FirefoxOS este acolo pentru a aduce dispozitive mobile cu funcții web pe piețe care au acum numai telefoane cu funcții.

Gripa principală pe care Mozilla a avut-o cu mutarea consumului de web la dispozitivele mobile este că înseamnă că doar câțiva oameni de pe această planetă au acces la această nouă modalitate de distribuție web. Dispozitivele care rulează iOS nu sunt disponibile în întreaga lume și sunt foarte scumpe. Dispozitivele Android pot fi accesibile și sunt vândute în mai multe țări, însă hardware-ul accesibil nu beneficiază de un browser actualizat capabil de tehnologii noi HTML5 și CSS. Dacă doriți ca Chrome ca browser principal, trebuie să aveți cele mai noi telefoane. Ambele Firefox pentru Android și Opera sunt disponibile înapoi spre telefoanele care rulează Froyo, dar nu avem telefoane care au ieșit din cutie cu aceste browsere instalate. Acesta este motivul pentru care Mozilla a creat Firefox OS - pentru a umple golul de pe piețele emergente care nu sunt susținute de tehnologiile mobile.

Firefox telefoanele OS vor fi foarte accesibile, pot fi personalizate cu ușurință în funcție de necesitățile diferite ale pieței, iar utilizatorii finali nu au nevoie de un card de credit pentru a cumpăra conținut și aplicații. Aplicațiile pot fi instalate de pe o piață, dar și de oriunde de pe web. Folosind o funcționalitate de căutare web, utilizatorii pot găsi aplicații pentru nevoile lor, nu prin nume sau revizuire. Și oricine poate lansa aplicații compatibile pentru telefon fără a trebui să se bazeze pe o piață pentru a distribui aplicațiile lor. Acesta aduce web la telefon, nu invers. Acestea sunt și motivele pentru care Firefox OS are optsprezece parteneri de servicii mobile și patru parteneri hardware, în timp ce alte platforme deschise care încearcă să concureze pe piața high-end se luptă să găsească distribuitori.


Q Dacă câștigă tracțiune, ce înseamnă acest lucru pentru web, mai ales dacă devs se concentrează pe construirea de aplicații bazate pe HTML pentru Firefox în loc de browsere mobile?

Aplicațiile Firefox OS sunt simple aplicații HTML5 cu un fișier manifest.

Aplicațiile pentru aplicațiile Firefox sunt simple aplicații HTML5 cu un fișier manifest și mai multe API-uri la care se poate juca. Nimic nu îi împiedică pe dezvoltatori să creeze aplicații care funcționează bine pe toate browserele mobile, adăugând în același timp funcționalitatea suplimentară a aplicațiilor WebAPI la aplicațiile din sistemul de operare Firefox. Niciuna dintre API-urile nu este închisă sau ascunsă - toate sunt propuse organismelor de standardizare și multe dintre ele au fost deja implementate în alte browsere (de exemplu, API-ul Battery). Căutarea dinamică a aplicațiilor în Firefox OS încurajează crearea de site-uri web pentru toate browserele, care vor fi afișate ca previzualizare a aplicației dvs. Ce înseamnă asta este că oamenii, de exemplu, pot căuta "Skyfall" (filmul) și pot primi IMDB.com ca prima aplicație oferită lor. Atunci când fac clic pe pictogramă, site-ul mobil al IMDB se încarcă într-un cadru în interfața de căutare și oamenii pot începe să o folosească. Dacă le place, o atingere lungă instalează aplicația IMDB, care nu este nimic mai mult decât site-ul mobil cu un manifest (în cea mai simplă formă). Aplicațiile Firefox OS adaugă la ceea ce construim în prezent ca site-uri mobile; nu le înlocuiește.


QFocusing pe Firefox, are ciclul de eliberare mai rapid a ajutat sau rănit percepția browser-ului?

A ajutat, foarte mult. Desigur, a deranjat o parte din grupurile noastre de utilizatori - în special utilizatorii întreprinderii - dar majoritatea dezvoltatorilor salută un browser care se îmbunătățește în mod continuu, mai ales atunci când se întâmplă în tăcere (ceea ce face acum pe Windows). Lăsarea procesului de actualizare a unui browser până la utilizator de pe web este pur și simplu periculoasă. Aproape toate găurile de securitate se bazează pe software sau plug-in-uri depășite.


Instrumentele de dezvoltare QIn-browser au devenit, în opinia mea, noul diferențiator pentru browsere. esti de acord cu asta? De asemenea, ceea ce face Mozilla pe frontul de scule pentru a iesi cu adevarat in evidenta?

Spațiul de scule web a început cu extensia Firebug - cel puțin pe piața mare. Frontpage Express avea câteva instrumente de depanare care i-au precedat, dar Firebug a fost instrumentul mare și simplu de folosit de care aveam nevoie. Fiecare alt browser a copiat apoi modelul respectiv în instrumentele de dezvoltare ale acestuia. Mozilla încă ține firebug la curent și inovează pentru aceasta, dar pe termen lung, construim unelte native în browser. Personal, am distrus Firebug cu ceva timp în urmă pentru uneltele încorporate. Acestea nu copiază Firebug 1: 1, pentru că am vrut să evităm supraîncărcarea opțiunilor pe care Firebug le-a făcut. Chrome Devtools lansează săptămânal, oferind lucruri incredibil de utile pentru anumite cazuri de margine, și adaugă din ce în ce mai mult la sculele din browser. Instrumentele pentru dezvoltatori ale Firefox adoptă o abordare mai modulară. În loc să vă dați chiuveta de bucătărie, puteți activa și dezactiva exact ceea ce aveți nevoie. Acest lucru poate părea mai complex în avans, dar ajută dezvoltatorii să se specializeze. Am construit și câteva biți diferiți, precum un afișaj 3D al adâncimii DOM, un scratchpad pentru a scrie mai multe blocuri JavaScript și a le executa împotriva paginii și o linie de comandă pentru a controla toate instrumentele de dezvoltare cu comenzi de la tastatură , permițând astfel dezvoltatorilor să depaneze fără mouse.

Ca și în cazul tuturor, menținerea la curent cu ceea ce vă oferă browserul este de cea mai mare importanță. Asta, și găsind ceea ce te face mai eficient, mai degrabă decât ceea ce pare util la prima vedere, dar apoi minciunile uitate câteva minute mai târziu.

Cod