Sviluppatori principali Christian Heilmann

Un evangelista sviluppatore occupa un ruolo importante per un'azienda. Servono come comunicatore, un collegamento, una voce pensosa e, cosa più importante, una parte integrante della comunità di sviluppo web. Poche persone comprendono tutto questo e Christian Heilmann. Attualmente lavora come principale evangelista tecnico in Mozilla, ha letteralmente scritto il libro sull'invangelismo degli sviluppatori e offre alcune intuizioni più profonde sul suo lavoro.


Non mi vergogno di ammettere che sono un po 'fanatico e penso che tu sia un modello per tutti gli evangelisti. Qual è la tua opinione sul futuro del ruolo in continua evoluzione degli evangelizzatori degli sviluppatori?

Sono un po 'preoccupato per il momento quanto sia diventato di moda avere un "evangelizzatore sviluppatore" per la tua azienda e quante persone si definiscono tali senza venire da uno sviluppatore o effettivamente rilasciando alcuna informazione tecnica. Sembra che le persone abbiano capito il potenziale e i vantaggi di avere qualcuno come questo nella loro compagnia, il che mi rende davvero felice.

D'altra parte spetta a noi mantenere il nostro territorio pulito e sottolineare ripetutamente che l'evangelizzazione degli sviluppatori non è marketing di prodotto.

Se qualcuno parla solo dei propri prodotti senza nemmeno riconoscere la concorrenza o offrendo agli sviluppatori una scelta, non è l'evangelizzazione degli sviluppatori, ma il marketing o la pubblicità semplice e semplice.

Un grande cambiamento che sto vedendo è che i nostri tradizionali canali di pubblicazione sono stati terribilmente sbiaditi. Sia LinkedIn che Slideshare non sono così utilizzabili da me, come un tempo erano pieni di rumore. Quindi, mi sto spostando su Google+ e Facebook per un sacco di mio raggio d'azione. Abbiamo anche molti strumenti in crescita. Molto da provare e da giocare. Sono davvero entusiasta di ciò che Lanyrd ha in serbo per noi - guarda questo spazio.


QAs un evangelista, come rimanere in cima al costante cambiamento che stiamo vedendo nel mondo dello sviluppo web?

Mezz'ora con il cross-trainer è sprecato o utile per tenere il passo. La tua scelta.

Feed RSS: ecco perché le notizie su Google Reader mi hanno davvero colpito duramente. Feedly è un buon sostituto, però, e ho installato Fever sul mio server. Molti di essi guardano costantemente a ciò che fanno i tuoi colleghi. Quindi non andare alle conferenze, dai il tuo discorso e andartene: guarda cosa fanno gli altri e controlla YouTube e gli altri per tenersi aggiornato su ciò di cui la tua concorrenza sta parlando. Guardo i discorsi tecnici in palestra: mezz'ora con il cross trainer è sprecato o utile per tenere il passo. La tua scelta. Il costante cambiamento nel mondo dello sviluppo web è proprio questo: una costante. Se vuoi essere uno sviluppatore web, devi tenerti aggiornato tutto il tempo. Questo è ciò che rende il nostro lavoro così straordinario. Non esiste un certificato da pagare; hai bisogno di imparare tutto il tempo.


QSe qualcuno voleva diventare un evangelizzatore sviluppatore, qual è la guida che daresti loro oggi?

Prendi te stesso il più possibile. Partecipa ai thread di discussione, vai ai meetup, parla alle unconferences, partecipa alle hackathon, e guarda cosa fanno le persone nei loro contatti che ti infastidiscono, quindi fallo meglio. Per i Mozilliani (che include i volontari), abbiamo gli sviluppatori Evangelism Reps - un gruppo che sto conducendo che ottengono tutti i materiali che creiamo, la formazione e il coaching di persona. Avevo bisogno di iniziare come non posso clonarmi.


QQuesto è il tuo ruolo in Mozilla diverso da quello che stavi facendo su Yahoo!?

A Mozilla non importa affatto se riportiamo qualcosa che rende il web migliore.

Non devo aspettare che nessun prodotto sia pronto per parlarne e non ci sono segreti. Laddove è stato complicato da parte di Yahoo elogiare i prodotti Google, a Mozilla non importa affatto se riportiamo di tutto ciò che rende il web migliore. Quella libertà è la differenza principale. Come qualcuno che lavora per Mozilla, sono invitato da altre aziende a lavorare con loro e non c'è problema con questo. Ottengo anche informazioni prima che esca, poiché Mozilla è un canale, non un concorrente commerciale. Ad esempio, i video di formazione che abbiamo fatto insieme sarebbero stati un incubo per essere stati seguiti da Yahoo; con Mozilla non erano affatto un problema. Mozilla mi offre un'incredibile quantità di libertà e una grande community da cui attingere. Posso anche rispondere a tutte le domande con "il codice è disponibile, controlla lì".


Sei stato un impiegato a distanza per un po 'di tempo. Quali sono i tuoi pensieri sulla recente decisione di Yahoo! di coinvolgere tutti i dipendenti remoti?

Poiché non conosco tutti i fatti, mi asterrò dall'indovinare quale fosse la ragione, e non sono abbastanza macchiato da pensare che la mia opinione sarebbe importante per una grande società. Gestire uno spettacolo come Yahoo non è facile, ci sono molte richieste per te - molte delle quali non sappiamo.

Personalmente, ho scoperto che i dipendenti remoti possono essere incredibilmente efficaci se ti fidi di loro e amano ciò che fanno. Quando alcune persone abusano di quella libertà, può diventare difficile. Sono felice di lavorare da qualsiasi luogo (aeroporti, caffè e alberghi) e penso che questo sia il futuro del lavoro. Abbiamo la tecnologia, non dovremmo lavorare come abbiamo fatto cinquant'anni fa. Se manteniamo una separazione fissa tra il lavoro e la "vita reale", facciamo del lavoro una cosa per fare soldi e vivere una cosa per divertirci. Questo non deve essere il caso.


QSi partecipi a molte conferenze e parli alla maggior parte di esse. Pensi che la qualità degli eventi sia più alta di prima? Che dire degli altoparlanti?

Sembra esserci un'enorme differenza tra le conferenze statunitensi ed europee.

Questa è una domanda molto difficile a cui rispondere. Ho scoperto che la qualità dei discorsi migliora di anno in anno e adoro alcuni dei nuovi talenti creati negli ultimi anni. Persone come Brad Frost, Jake Archibald e Lea Verou sono una gioia da vedere.

Quello che ho scoperto, però, è che gli eventi come istituzione hanno un'emivita piuttosto breve. Un sacco di eventi che sono stati in giro per lungo tempo scendono nella mediocrità o "qui ci sono 12 tracce tra cui scegliere". Le dimensioni non rendono una conferenza eccezionale. Al contrario, trovo che gli eventi minori abbiano una qualità molto più alta. Inoltre non credo nei roadshow, ripetendo gli stessi discorsi in giro per il mondo, mentre le stesse informazioni sono già disponibili nelle registrazioni. Ma hanno un enorme successo, quindi cosa ne so di organizzarli?

Sembra esserci un'enorme differenza tra le conferenze statunitensi ed europee. Le conferenze statunitensi sono molto più di una cosa "bene, un altro" e sia gli oratori che il pubblico sono molto più sfacciati. Come relatore in Europa, sii pronto a fornire qualcosa di nuovo e utile o ottenere un feedback molto diretto e breve dal pubblico. Le persone qui vogliono ottenere il valore dei loro soldi e partecipare a ogni discorso e ogni attività intorno all'evento. Negli Stati Uniti, vedo un sacco di andare e venire e scambiare biglietti da visita, piuttosto che preoccuparsi di ciò che gli oratori hanno da dire. Ovviamente non ovunque, ma l'istituzione di eventi IT è molto più antica negli Stati Uniti che altrove. Con questo, arriva un po 'di noia e la gente si annoia. Le unconferenze hanno cercato di distruggerlo, ma hanno perso il loro approccio anarchico iniziale. E non farmi iniziare il nostro sovraccarico di "hackathon" in questo momento. Molti sono solo test per utenti velati e / o esercizi di assunzione sottilissimi.


QQuali pensi che i partecipanti siano più interessati a conoscere?

Storie. Esempi di implementazione e in che modo ciò che mostri fa la differenza per loro. Chiunque può consultare i dettagli tecnici. Quindi non spiegare come in una sessione di codifica dal vivo di venti minuti che le persone non riescono a ricordare cinque minuti dopo. Invece, indica alla gente dove scoprire di più dopo l'evento. Certo, le persone sono stupite quando mostri magie tecniche e fletti i tuoi muscoli coder mostrando dieci cose impossibili in cinque righe di codice, ma questo non aiuta nessuno. Se mai, perpetua la nozione di "progettisti / designer" e "signori del rockstar ninja" che nel mio libro deve morire.


Ho l'impressione che stiamo assistendo continuamente alle stesse persone alle conferenze. Come otteniamo nuovo sangue in questi eventi?

Controllando il web per i nuovi talenti nei nostri commenti, incontrandoli agli eventi, e poi incoraggiandoli a presentare documenti e mettersi in mostra. Istruirli e aiutarli a trovare la storia nei loro materiali. Molte persone hanno paura di parlare, poiché le stesse persone sono invitate ovunque. Quindi forse dire di no e proporre un nuovo arrivato locale al posto di voi agli organizzatori della conferenza è una buona cosa. Inoltre, menzionare il lavoro delle persone nei tuoi discorsi aiuta molto.


QVedo un sacco di rumore sulle app native e su come hanno vinto. Amo il web e voglio che vinca. Hai sentito le stesse cose e, in tal caso, cosa dobbiamo fare per mantenere il Web pertinente agli sviluppatori di applicazioni?

Ho parlato abbastanza dettagliatamente di questo ultimamente, e sto percependo che il pendolo sta iniziando a oscillare nella direzione opposta. Non penso che uno sostituirà l'altro, ma le app e le app Web native hanno obiettivi diversi.

Le app Web sono l'evoluzione dei siti web. Muoviamo le cose che facciamo sul desktop con le app installate sul Web: un ottimo esempio di Google Documenti, o la maggior parte di noi che utilizza client di posta elettronica anziché desktop.

Le app native, per loro stessa natura, sono pensate per essere fissate nel loro stato e fanno bene una cosa. Ciò significa che danno sempre un'esperienza superiore per questo caso d'uso, ma significa anche che sono limitati e diventano noiosi o inutili più veloci di una soluzione web.

Entrambi possono esistere felicemente fianco a fianco.

Le soluzioni Web sono più flessibili; Posso offrirti un'esperienza mobile e desktop, entrambe con interfacce approvate che hanno più senso per quell'ambiente e sincronizzate l'una con l'altra. Le app native non lo fanno. Ho bisogno di ripetere le stesse sfide su Temple Run sul mio tablet e sul mio cellulare, piuttosto che sincronizzare i due.

Il motivo non è che questo non è tecnicamente possibile. La ragione è che le app native sono prodotti e il loro compito è vendere e vendere di più e guadagnare con gli aggiornamenti. Sono costruiti pensando all'obsolescenza, proprio come i giochi su CD e Floppies. Le app sono lì per far desiderare alla gente la successiva iterazione dell'hardware, in modo che possano usare la versione più brillante.

Le app Web sono lì per essere utilizzate e aggiornate senza che tu te ne accorga. Entrambi possono esistere felicemente fianco a fianco. Al fine di rendere il web più interessante per gli attuali sviluppatori nativi, abbiamo bisogno di strumenti migliori di strumenti e di conversione. ASM.js è un ottimo inizio per questo: consente agli sviluppatori di scrivere in C ++ nell'ambiente in cui si trovano e di convertirli in JavaScript con uno strumento. Adobe, inoltre, sta costruendo alcuni fantastici strumenti che gli sviluppatori possono utilizzare con Flash, ma rendono disponibili le soluzioni Canvas / WebGL.

Il web è la migliore piattaforma di distribuzione se vuoi diffonderlo lontano. Se hai bisogno di controllare la tua distribuzione, è spaventosa per alcuni. Possiamo avere entrambi. Non ho paura delle app native - semmai, le vedo come una moda passeggera e la distribuzione multipiattaforma significa che devi duplicare il lavoro. Non è intelligente.


D: C'è stata molta preoccupazione per una monocultura WebKit, specialmente nello spazio mobile. In che modo questo influisce sul Web, specialmente in termini di "app native" ?? domanda che ti ho appena chiesto?

Francamente, abbiamo incasinato come sviluppatori web.

Francamente, abbiamo incasinato come sviluppatori web. Quando l'iPhone è uscito e ha rivendicato HTML5 come piattaforma, tutti hanno creato soluzioni che funzionavano solo su questo dispositivo. Questo è incredibilmente miope e una ripetizione degli errori che abbiamo commesso negli anni '90, che ci hanno dato sistemi finanziari aziendali multimilionari che funzionano solo in IE6 e costano molto per il mantenimento e l'aggiornamento. Troppe soluzioni web rilasciate nell'ultimo anno sono "solo per iPhone" e, quindi, non offrono una buona esperienza web e hanno un aspetto e prestazioni peggiori rispetto alle app native. Sono il peggiore di entrambi i mondi. Fortunatamente, l'errore di "se funziona in Webkit, funziona ovunque" dovrebbe diventare ovvio anche agli sviluppatori più confusi. Le tecnologie web non sono lì per servire un browser o un pezzo di hardware. Fare questo significa che li spogli dei loro poteri principali.


QCome pensi che la biforcazione di Google di WebKit Core e l'avanzamento con Blink avranno un impatto sul Web?

Significa che gli sviluppatori devono rendersi conto che WebKit non è WebKit e Android non è iOS e OSX non è iOS. Penso che a lungo termine, sia Chrome che Safari miglioreranno, e significa che Apple ha bisogno di accelerare il proprio web game assumendo più ingegneri, o di essere onesto e andare completamente nativo.


Q Tornando al mobile, FirefoxOS, tecnicamente, sembra incredibilmente promettente, specialmente con la possibilità di creare app utilizzando HTML5, CSS3 e JavaScript. Ma realisticamente, quanta probabilità ha di guadagnare la trazione contro giocatori affermati come iOS e Android?

Succede già contro entrambi, poiché non intende competere con loro.

Succede già contro entrambi, poiché non intende competere con loro. FirefoxOS è lì per portare i dispositivi mobili abilitati per il web ai mercati che ora dispongono solo di feature phone.

Il principale inconveniente che Mozilla ha avuto con il passaggio del consumo Web ai dispositivi mobili è che significa che solo poche persone su questo pianeta hanno accesso a questo nuovo modo di distribuzione web. I dispositivi con iOS non sono disponibili in tutto il mondo e sono molto costosi. I dispositivi Android possono essere accessibili e venduti in più paesi, ma l'hardware a prezzi accessibili non dispone di un browser aggiornato capace di nuove tecnologie HTML5 e CSS. Se si desidera che Chrome sia il browser principale, è necessario disporre dei telefoni più recenti. Sia Firefox per Android che Opera sono disponibili di nuovo verso i telefoni che eseguono Froyo, ma non avevamo telefoni usciti dalla confezione con quei browser installati. Ecco perché Mozilla ha creato Firefox OS - per colmare il vuoto dei mercati emergenti non supportato dalle tecnologie mobili.

I telefoni per Firefox OS saranno molto convenienti, possono essere facilmente personalizzati in base alle esigenze del mercato e gli utenti finali non hanno bisogno di avere una carta di credito per acquistare contenuti e app. Le app possono essere installate da un marketplace, ma anche da qualsiasi punto del web. Utilizzando una funzionalità di ricerca web, gli utenti possono trovare le app per le loro esigenze, non per nome o recensione. E chiunque può rilasciare app compatibili per il telefono senza dover contare su un mercato per distribuire le proprie app. Sta portando il web al telefono, non viceversa. Questi sono anche i motivi per cui Firefox OS ha diciotto partner di servizi mobili e quattro partner hardware, mentre altre piattaforme aperte che cercano di competere nel mercato di fascia alta stanno faticando a trovare distributori.


QSe guadagna trazione, cosa significa per il web, specialmente se gli sviluppatori si concentrano sulla creazione di app basate su HTML per FirefoxOS invece di browser mobili?

Le app di Firefox OS sono semplici app HTML5 con un file manifest.

Le app per Firefox OS sono semplici app HTML5 con un file manifest e più API con cui giocare. Nulla impedisce agli sviluppatori di creare app che funzionano bene su tutti i browser mobili, aggiungendo al contempo le funzionalità extra di WebAPI alle app su Firefox OS. Nessuna delle API è chiusa o nascosta: tutte sono proposte agli organismi standard e molte sono già state implementate in altri browser (ad esempio, l'API della batteria). La ricerca dinamica delle app in Firefox OS incoraggia la creazione di siti Web mobili per tutti i browser, che verranno visualizzati come anteprima della tua app. Ciò significa che le persone, ad esempio, possono cercare "Skyfall" (il film) e ottenere IMDB.com come prima app offerta a loro. Quando fanno clic sull'icona, il sito Web mobile di IMDB viene caricato in una cornice nell'interfaccia di ricerca e le persone possono iniziare a utilizzarlo. Se gli piace, un lungo tocco installa l'app IMDB che non è altro che il sito mobile con un manifest (nella forma più semplice). Le app di Firefox OS si aggiungono a ciò che attualmente creiamo come siti per dispositivi mobili; non li sostituisce.


QFocalizzazione su Firefox, ha il ciclo di rilascio più veloce che ha aiutato o danneggiato la percezione del browser?

Aiutato, molto. Ovviamente, ha infastidito una parte dei nostri gruppi di utenti, in particolare gli utenti aziendali, ma la maggior parte degli sviluppatori accetta un browser che migliora continuamente, specialmente quando ciò accade in modo silente (cosa che ora avviene su Windows). Lasciare il processo di aggiornamento di un browser fino all'utente sul web è semplicemente pericoloso. Quasi tutti i buchi di sicurezza si basano su software o plug-in obsoleti.


Gli strumenti di sviluppo di QIn-browser sono diventati, a mio parere, il nuovo differenziatore per i browser. Sei d'accordo con questo? Inoltre, cosa sta facendo Mozilla sul fronte degli strumenti per distinguersi davvero?

Lo spazio per gli strumenti web è iniziato con l'estensione Firebug, almeno per il grande mercato. Frontpage Express disponeva di alcuni strumenti di debug che l'avevano preceduta, ma Firebug era il grande strumento semplice da usare di cui avevamo bisogno. Ogni altro browser ha quindi copiato tale modello nei relativi strumenti di sviluppo integrati. Mozilla mantiene ancora aggiornato Firebug e lo innova, ma a lungo termine stiamo costruendo strumenti nativi nel browser. Personalmente, ho abbandonato Firebug qualche tempo fa per gli strumenti integrati. Questi non copiano Firebug 1: 1, perché volevamo evitare il sovraccarico di opzioni che Firebug è diventato. La versione di Chrome di Devtools rilascia settimanalmente, fornendo cose incredibilmente utili per alcuni casi edge e aggiungendo sempre più strumenti agli in-browser. Gli strumenti di sviluppo di Firefox ora adottano un approccio più modulare. Invece di darti il ​​lavello della cucina, puoi attivare e disattivare solo ciò di cui hai bisogno. Questo può sembrare più complesso in anticipo, ma aiuta gli sviluppatori a specializzarsi. Abbiamo creato anche alcuni bit diversi, come una visualizzazione 3D della profondità del DOM, uno scratchpad per scrivere blocchi JavaScript più grandi ed eseguirli contro la pagina, e una riga di comando per controllare gli strumenti di sviluppo completi con comandi da tastiera , quindi, consentendo agli sviluppatori di eseguire il debug senza mouse.

Come per qualsiasi cosa, tenere aggiornato su ciò che il browser ti offre è della massima importanza. Questo, e trovare ciò che ti rende davvero più efficace, piuttosto che ciò che sembra utile a prima vista, ma poi giace dimenticato pochi minuti dopo.