Press "Enter" to skip to content

GOTO 2017 • Engineering You • Martin Thompson


[Musica]
va bene buongiorno a tutti
tutti hanno il loro caffè che sto avendo
il mio sarà interessante
questa fessura dopo la festa della conferenza così
Cercherò di tenere tutti svegli così
inizieremo off ponendo alcune domande
solo per vedere se tutti sono svegli ecco
una dichiarazione che un sistema software può fare meglio
essere progettato se il test è interlacciato
con il design invece di essere usato
dopo il progetto sembra un po ‘come TDD
per me come pensiamo detto che e quando
ha detto che qualcuno disposto a farlo
volontario di un decennio era il 90s era
questo recita Ward Cunningham qualcuno
altro e morì bambini anni ’60 e cinquanta sì
tornando indietro erano gli anni ’60 questo era un
un tizio che si chiamava Alan Jeff Perlis nel 1968
quindi non possiamo assegnare il nostro TDD e 60 esso
qualcuno sa chi è Alan Perlis
piccolo rumore che ritorna a chiunque abbia sentito parlare
i riconoscimenti cileni sì
lui è il primo destinatario del tifo
Premi abbiamo un grande ricordo del nostro
industria don’twe è una specie di roba
tornando penso che abbiamo finito per fare
una specie di cose pazze e mi piace
raccogliere fotografie da internet
giusto forse è così che facciamo
ingegneria ricordiamo la nostra storia
questo è dalla Russia dove lei ottiene no
monopolio su questo guardiamo il mio
Paese che si suppone sia una miccia per te
inizia a vedere questa roba pazzesca che è fuori
lì non posso pensare come costruiamo
il software la cosa divertente è che ho visto a
un sacco di software che è un po ‘male
done andiamo un’occhiata a qualcosa di un po ‘
più pulito un po ‘più pulito ma dall’altra
parte del mondo l’Australia sembra essere
un po ‘ di un fenomeno globale che abbiamo
facendo queste cose pazze con le nostre
il software che può essere eseguito l’anno scorso è
questo è questo il tipo di nucleo del nostro
industrie questo è ciò che facciamo abbastanza
forse ora se comincio divertente in questo
interessante quindi ecco alcuni
pubblicità per gli appassionati di CD che parlano
sulle loro macchine e stanno parlando
qui su ciao una delle loro auto ha 1.7
milioni di righe di codice in un raptor
combattente ma hanno 6,5 milioni di linee
di codice nel loro modo dell’automobile più software
in macchina di quanto non ci sia in più
aerei da combattimento avanzati nel mondo
oggi questo è un po ‘interessante
c’è molto software che può
lo sguardo era più lontano di questo persino loro
vantarsi su di esso nei loro annunci pubblicitari
dove parlano di 250 volte
più codice di un combattente sono 250 volte
più codice rispetto allo space shuttle
questo appartamento di marketing e capire
qualsiasi cosa sul codice 250 volte quello che era
nello space shuttle sì, alcuni di quelli
è andato storto pure, ehi saremo
andare in giro in queste cose ed è
tipo di paura ho visto varie figure
su quanto codice è l’ultimo
Tesla è alla fine bassa ne ho sentito parlare due
centoventi milioni di righe di codice
in mano alta trecentocinquanta
milioni di righe di codice ci fidiamo del nostro
vite per il nostro software siamo davvero a
professione disciplinata di ingegneria che
il mondo sarà basato sulla nostra partenza
avanti penso che sia un po ‘interessante
Voglio esplorare questa domanda ma a
Metti alcune cose nel contesto che mi piacciono
pensare che quante generazioni di
programmatori abbiamo il nostro settore
non è mai stato così lungo in molti
modi come nessuno qui dicono di essere un
madre programmatrice di seconda generazione o
il padre programmò qualsiasi terza generazione
i programmatori non sono molto e tu
detto pensa ad altre discipline dove
li consegni attraverso le generazioni
diventiamo molto più bravi con il tempo, quindi
siamo un po ‘ giovani siamo una specie di
lavorando all’arte quindi sono stato coinvolto in a
numero di standard negli anni ’90
costruire software cercando di farlo meglio
quindi ISO 9001
27001 sono una specie di interessante
modi in cui abbiamo provato a scrivere software migliore
e quello che trovo da questo è che siamo andati
dall’avere raccolto ad avere
non è stato possibile ottenere un software di ritaglio ben documentato
meglio così un altro modo di guardare
questo è stiamo sorta di vivere nell’era
dell’alchimia software stiamo facendo questo
tutto va meglio come la fisica nel 1600
come Isaac Newton ha fatto un ottimo lavoro
era anche uno dei più significativi
alchimisti del tempo in cui l’alchimia è
cercando di trasformare il piombo in oro siamo gentili
di cercare questi proiettili d’argento
il tipo di cose pazze che siamo
facendo voglio esplorare l’ argomento di
ingegneria so che sentiamo molto nel nostro
l’industria sta facendo ingegneria
stiamo facendo scienza stiamo facendo a
il mestiere è interessante
argomenti su molti lati è sempre
tipo di mi ha affascinato un po ‘ di dove siamo noi
in questo tipo di spettro
sfondo Sono un informatico
scienze informatiche all’Università I
ha passato molto tempo in ingegneria
dipartimento ha visto altri ingegneria
discipline quindi penso a come ci adattiamo
con questo quindi torniamo un po ‘indietro
quindi una delle confessioni che posso fare è
Sono stato educato in Irlanda da suore in modo che il
la buona vecchia religione cattolica è stata battuta
dentro di me compreso il latino e dovresti
tornare alla luce in questo mondo noi
in realtà riesci a vedere alcuni la storia di
ingegneria quindi il significato del termine originale
sorta di intelligenza o di escogitare o
escogitare c’è sicuramente un po ‘ di
ideare e ideare nel nostro software
ma il primo riferimento all’ingegneria
come un termine ritorna al divano dal
1300 in francese antico e ha a che fare con
il tipo di progettazione militare di persone
chi ha progettato roba che ha funzionato per a
macchina come una catapulta o una sorta di
arma di guerra e quindi l’ingegneria è gentile
di immerso nelle forze armate in molti modi
sfortunatamente è il tipo di
cosa interessante della nostra storia
la maggior parte dei progressi tecnologici
sono guidati dalla guerra abbastanza militare
spesso noi il loro capo un dio
ingegneria civile è un termine e quello
era praticamente tutto il resto
non era militare in quel momento , anche tu
come questo tipo di evoluzione in corso
tempo in cui iniziamo con i militari
e poi
civile ma andiamo al carattere di tutti
conoscenza umana Wikipedia e vedere cosa
hanno da dire sull’ingegneria
quindi la definizione di ingegneria sul
Wikipedia è che gli ingegneri devono lavorare all’interno
I vincoli penso che questo sia molto vero
scrivere Java più che mi sento molto
costretti ora questi vincoli possono essere
anche due diversi livelli potrebbero esserci
risorse disponibili che è sicuramente
qualcosa è fisico è esso
l’immaginazione è i limiti tecnici
sì, abbiamo a che fare con questi
limitazioni uno dei più importanti
punti per me su ingegneria è
flessibilità per future modifiche e
aggiunte questo è così applicabile alle
software che dobbiamo sempre modificare
una proposta di adozione pensa anche se
stai lavorando a un progetto greenfield
questa settimana probabilmente stai modificando il codice
hai scritto la settimana scorsa e il codice che hai scritto
sei mesi fa è stato scritto in modo efficace
da qualcun altro
quindi avere il codice che è leggibile
comprensibile facile da modificare facile da
aggiungi al suo tipo di chiave e questo è molto
tanto un inquilino nucleo di un sacco di
ingegneria ma ci sono altri fattori
che ha bisogno di entrare in quello che stiamo lavorando
così ci siamo preoccupati del costo che abbiamo ottenuto
preoccuparsi della produttività di commerciabilità
ma in particolare la sicurezza è molto
forte nella maggior parte delle discipline ingegneristiche
sosterrebbe che è in realtà abbastanza forte
nella nostra disciplina non ci limitiamo a praticare
basta così pensare a cose come la memoria
sicurezza di sicurezza di sicurezza c’è molto
di pratica e diversi modi il 54
persone nei nostri team e come funzioniamo
e quando capiamo questi vincoli
e limitazioni possiamo guardare a ciò che siamo
bisogno di produrre in modo che è il tipo di
definizione che non suona come a
milioni di miglia lontano dalle cose che
dovremmo portando di così che cosa fa
un grande scienziato pensa all’ingegneria
contro la scienza in modo diretto citazione da
Albert Einstein Santis investiga
pensiero che è già ingegneri
creare un pensiero che non è mai stato il
creare il futuro molto un sacco di
quello che stiamo facendo è la carriera nel
il futuro che ruberei ad Allen mi interessa
parlato di ciao non è necessario
prevedere il futuro si va avanti e
inventarlo in qualche modo lo è
quale una cosa interessante così software
ingegneria come termine cosa fa questo
provengono da dove nasce tutto tornare a
beh, è ​​esattamente 50 anni fa
ingegneria del software è stato utilizzato come
termine uno dei primi riferimenti è questo
carta tipo di risalire al 1967 loro
parla di ingegneria del software in questo
carta
siamo diventati popolari è stata questa donna
Margaret Hamilton ha fatto molto
ottimo lavoro per rendere l’ingegneria del software
diventare noto come un concetto non fare mummia
usando le cose lei stessa così cose che noi
oggi sono come la pianificazione delle priorità
human-in-the-loop e ad antastico
vengono tutti da questa grande signora lei
ha lavorato alla NASA ha lavorato sul lunare
atterraggi ma anche tipo finito
alla fine eseguendo la divisione software
alla NASA chi è il direttore di
ingegneria lì per quello e instillato
alcune grandi pratiche ingegneristiche che ho
ho avuto il privilegio di lavorare con alcuni
persone che hanno lavorato in quel dipartimento e
come si sono avvicinati allo sviluppo del software
è davvero interessante e come funziona
veramente concentrarsi sull’ingegnerizzazione quindi alcuni di
la storia di questo e il lavoro va
avanti così tornando di nuovo al 1968
così quarantanove anni fa c’era un
Era il padrone di una conferenza in Germania
gestito dalla NATO questo è un brillante documento I
consiglio davvero di leggere questo se tu
avere una possibilità dopo di esso la cosa grandiosa
sulle conferenze in quei giorni sono loro
registrato il procedimento offerto così tutto
dei bit interessanti vengono catturati e
minuzi e sono in questo documento così
è una bella tariffa, ma lasciami tirare
alcuni punti da questa conferenza e
perché ce n’era davvero
cose interessanti accadendo lì e
le cose sono tristi quindi ecco un po ‘il
il processo di progettazione è ora iterativo
ricorda il diagramma di flusso del contesto 1968
finché non pensi di aver capito il
problema scrivere codice fino a quando non ti rendi conto di te
non tornare indietro e ripetere il diagramma di flusso
scrivi altro codice e esegui l’iterazione
senti di avere la soluzione giusta
sviluppo iterativo descritto nel
Anni ’60 cosa è andato storto che siamo andati via e
cascata fatta non mostrando segni di
imparando così
quindi ecco un’altra affidabilità davvero
è un problema di design che dobbiamo progettare
queste cose in anticipo trovo un
particolare interesse per come la qualità
gli attributi sono ignorati quindi le prestazioni
sicurezza affidabilità usabilità tutto
queste cose è che non puoi aggiungerle dopo
deve essere parte del processo di progettazione
dobbiamo farlo
Mi piace come finirlo con se tu
non fare queste cose si potrebbe anche
rinunciare cerchiamo di aggiungere questo alla fine
c’è molto che possiamo imparare da questo oh
questo è un grande uno dei buoni sistemi
che attualmente stanno lavorando sono stati scritti
da piccoli gruppi più di 20 programma è
di solito si lavora su un progetto
disastroso penso che sia ancora vero
oggi in molti casi un altro su
approccio iniziare con la codifica scheletrica così
piuttosto che puntare al codice finito il
le prime 46 fasi di codifica dovrebbero essere mirate a
esplorare le interfacce dimensionare il critico
moduli complessità adeguatezza di quelli
moduli dovrebbero essere alcuni elementi critici
controllato porta le cose difficili a
di fronte ne parlerò più avanti
e il tipo di uno dei più grandi in realtà quelli
quello è stato tirato fuori in questa cosa
perché questo era il militare che c’era
un sacco di marina ci sono molti
l’Air Force e l’Air Force hanno fatto il
indica che per mantenere le tue ali come un pilota
devi volare un numero minimo di
ore al mese dicevano nel
Anni ’60 che dovremmo avere i programmatori
e architetti senior che stanno scrivendo a
numero minimo di righe di codice per
mese vediamo ancora che sta andando
su penso che sia assolutamente folle
la gente dichiara di essere un architetto o un
conduco in qualche modo che non scrivo codice I
usa altre professioni per vedere se tu
erano il capo chirurgo in un ospedale
eseguiresti comunque le tue operazioni
non andrei a dire agli altri cosa
fare e mai praticare te stesso come
siamo una pratica che dobbiamo rinforzare
questo da attività regolare questo è un
quello classico che ho visto tanto, così sono
parlando di come
i programmatori stanno lavorando con loro
i clienti così tante persone che hanno progettato così
per riferirsi agli utenti sono loro
è il genere di loro abbastanza
che sta venendo su presero su come
la maggior parte dei progettisti sono del software
progettandolo a proprio vantaggio no
per il beneficio dei clienti sarei
davvero molto crudo su questo e dico a
molto di quello che vedo nei team è tecnico
la masturbazione è una specie di cosa sia
le persone stanno facendo cose per conto loro
gratificazione piuttosto che per il
cliente dobbiamo essere focalizzati su cosa
stiamo costruendo e perché lo stiamo costruendo
quindi ci sono alcuni pezzi affascinanti da
questa cosa c’è un sacco di persone interrogate
Là
Allen Jaya Perlis che io do
la citazione originale da era la nostra terza
conferenza e quello era uno dei suoi
pezzi che era lì un’altra persona che
c’era Dykstra da quando lui nel
Paesi Bassi ha senso raccogliere anche
su alcuni di quello che deve dire uno di
i giornali che ho letto di lui che penso
è molto interessante è ha parlato sul
crudeltà di insegnare veramente computer
scienza e cosa è coinvolto o no
Dijkstra è una specie di interessante
personaggio c’è un po ‘di genialità
lì, ma è un po ‘acquisito
assapora in qualche modo le sue opinioni
forte ma in questo particolare articolo lui
tirato un paio di davvero
punti interessanti che penso siano
vale la pena esplorarne uno è questo concetto di
novità radicale e come lui descrive
quel software è così diverso dal
cose che abbiamo fatto prima di non farlo
ho davvero un quadro di riferimento giusto
come esseri umani facciamo davvero bene insegnando
con la metafora dell’analogia narrativa
ci sono alcuni dei nostri strumenti Mian per
comunicare
sfortunatamente ci sono alcune cose che proviamo
per comunicare che non c’è un
metafora o qualcosa che possiamo usare per aiutare
noi in questo modo Dykstra ha parlato di quando
si tenta di creare questi collegamenti se il
le cose che stiamo cercando di affrontare
questo è già familiare se non lo sono
allo stesso modo diventano irrimediabilmente
inadeguato in effetti sono abbastanza
fuorviante e questo è passato a dare
alcuni esempi davvero buoni e lui dice
così se tornerai indietro nel tempo
quali sono altri esempi di questo così il
relatività e meccanica quantistica se
sei mai stato in piedi capito quelli
sono molto molto diversi da
qualsiasi altra cosa non puoi metterli in a
silicio
contesto comune altri leader o esempi
è la bomba atomica o il contraccettivo
pillola stiamo parlando di cose che sono
così fondamentalmente diversi sono i
la novità radicale è così alta che
scuote le basi della società questi
sono cose che cambiano i governi
cambiare le religioni cambia il modo di pensare
a parte e un po ‘di quello che stiamo facendo ora
con Internet è sulla stessa scala
Internet sta cambiando il mondo
un modo così fondamentale come alcuni
di questi tipi di cose precedenti, così tu
dì che siamo stati bravi a essere e
inoltre non abbiate paura di una sorta di cercare di
spiegare le cose difficili e in realtà
solo accovacciati e vai avanti perché
queste alcune di queste cose sono difficili
e dobbiamo mettere lo sforzo in lui
parlato e come possiamo avviciniamo
questo quali sono le due cose principali che noi
bisogno di fare quando ci avviciniamo alle cose bene
uno di loro è la divisione e regola lui
abbiamo parlato di una tale decomposizione che dobbiamo
impara a decomporre le cose in un
scala senza precedenti che abbiamo appena
non ho mai dovuto farlo prima così prendi
l’esempio delle centinaia di Tesla di
milioni di linee di software che è
là dentro come lo capisci?
come pensi che debba farlo
avere una decomposizione senza precedenti
scala per avere qualche idea su cosa sta succedendo
quindi queste sono abilità che dobbiamo essere
praticare la malattia tipo di settimanale o
anche valutare attentamente come possiamo
decomponi i problemi come facciamo extra
problemi astratti e non la forma pura
di astrazione non la legge di leaky
astrazioni di cui abbiamo parlato
Joel Spolsky ma vera astrazione
in particolare nel contesto matematico
ha poi sottolineato anche quello
software ha davvero interessante aspetto di
è questo quando apportiamo un cambiamento ad esso
l’amplificazione di questi cambiamenti è
di nuovo totalmente senza precedenti è drastico
possiamo cambiare un bit e un completo
il sistema software fallisce può essere a
fallimento catastrofico semplicemente ottenendo uno
un po ‘storto ora ci sono cose che possiamo fare
isolare e costringere questo ma noi
dobbiamo pensarci attivamente non possiamo
solo essere una sorta di mancanza o slapdash su
questo perché le implicazioni sono giuste
così significativo da sbagliare di più
altre cose che facciamo come gli umani no
avere quel tipo di sci
che possiamo fare questo genere di cose
sbagliato, quindi è una specie di interessante
storia dell’ingegneria della scienza e
alcune delle cose che ce ne sono alcune
cose a cui pensare in là mi piacciono
consiglio di tornare indietro e leggere alcuni dei
le opere della nostra storia per soggetto sono grinta
ma è un po ‘interessante dall’altra parte
a questo presto ho detto che sono un
computer science major di sfondo mio
minore quando ero all’università era
psicologia comportamentale ed è a
soggetto affascinante da esaminare come
gli esseri umani sono in realtà la chiave per il modo in cui tutti i lavori
come interagiamo in questo e in qualche modo
essere consapevoli di questo, ma uno dei
cose che imparerai da qualsiasi tipo di
gli studi di psicologia sono ciò che siamo
molto un prodotto nostro
sperimenta così le esperienze che abbiamo
nella vita ci rende molto chi siamo dentro
molti modi quindi tutto il tipo di esplorare
questo è un argomento quindi se guardiamo
ingegneria come una storia come facciamo noi
ingegnere noi stessi come possiamo cambiare come
ci avviciniamo ai nostri modi di guardare
questo quindi lo scopo in qualche contesto I
trovato una verità scomoda su molti
progetti e aziende con cui ho avuto a che fare
nella mia storia e in altre persone che ho
ho parlato di aver visto questo molto simile
cosa che molto spesso le persone che
apportare cambiamenti significativi e significativi
progredire in particolare sul software
i progetti sono di solito un numero molto piccolo
di solito è uno o un gruppo molto piccolo
di persone che lavorano spesso al di fuori del
processo standard sono le persone che
spesso fai delle cose e quindi puoi farlo
è questo ciò che è diverso su di loro
ciò che è unico su di loro e io voglio
un po ‘ educato un po’ di quello che ho
osservato in me stesso e gli altri sorta di
guardando alcuni di questi individui su
cosa fanno e come si avvicinano
cose ma se guardiamo all’apprendimento come a
modo di avvicinarmi a qualcosa che non conosco
devi dividerlo in tre parti
cosa dovremmo imparare come individui se
vogliamo essere bravi ingegneri ma lavoro
imparando ciò che è anche interessante
e poi come andiamo per l’apprendimento
processo stesso in modo da suddividere questo in
le tre categorie
cosa dovremmo imparare, io discuto
in anticipo le cose come algoritmi e
le strutture dati sono fondamentali per cosa
noi sto programmando dal
Anni ’80 e trovo ciò che io
imparato di nuovo nel 1980 su di te
scelta degli algoritmi buona scelta dei dati
le strutture sono ancora preziose per me
oggi puoi tornare indietro e puoi leggere
le opere di Knuth ed è ancora
prezioso oggi anche nella storia che ho
ho imparato cose come conoscevo WebLogic 6.4
davvero molto bene in una fase è quello
niente di buono per me oggi
lui è la cosa che sono un grande fan di The
Simpson e così pensare a Omero lui
parla di tutto ciò che impari quando
impari qualcosa di nuovo qualcos’altro
viene spinto fuori che è importante, penso
quando ho passato molto tempo ad imparare la logica
6.4 Non era buono qualcosa di importante
è andato a quel punto quindi questi algoritmi
queste strutture dati non lo sono
qualcosa che userete ogni singolo giorno
ma quel tipo di edificio fondamentale
impedisce a come ci avviciniamo alle cose che ci sono
molto da imparare non solo
scegliere le giuste strutture dati per a
relazione sapendo che sto avendo un
la consapevolezza di diversi algoritmi è
davvero bravo nell’influenzare come scrivi
il tuo codice questo è un po ‘uno solo
degli elementi costitutivi ne penso un altro
davvero forte quando è design
i fondamenti vanno bene quando sto parlando
sui fondamenti del design di cui sto parlando
sulla comprensione della coesione di accoppiamento
separazione delle preoccupazioni singole
principio di responsabilità un sacco di persone
possono parlare di queste cose loro
posso menzionarli ma se guardi
il loro codice non lo rappresenta veramente
come quello che stai praticando ogni giorno
sanno la gente parla di accoppiamento io
ti faccio un semplice esempio
tu chiami un metodo o una funzione e
sei bravo a passare qualcosa in questo modo
ad esempio, hai un cliente e
vuoi solo avere il cliente
Identifica il loro ID qualunque cosa accada
per essere si passa in tutto il cliente
oggetto ora sei abbinato al
cliente o passi solo il
identità ora sei solo accoppiata a quello
queste piccole cose ogni giorno o iniziare
per fare la differenza nel tuo design noi
li stiamo esercitando così siamo
stare bene con loro e loro resteranno
con te in ogni momento
unico responsabile
la casa vera con comprensione solo
cosa fa qualcosa lo rende più facile
nome il discorso su tutti questi tipi di
cose
e alla base di tutto questo c’è
programmazione degli oggetti di orientamento degli oggetti
procedurale ma lo troviamo molto
le persone sono tutti programmatori e forse
programmatori procedurali è funzionale
tipo di decollare in un modo grande ma
ci sono anche cose come la teoria degli insiemi
programmazione logica anche diversi modi di
guardando gli spazi problematici in realtà
aiuta i tuoi approcci su ciò che ho scritto a
sacco di prologo ad un certo punto della mia vita
Sono incredibilmente comodo ora con
ricorsione e puoi risolvere problemi in
modi interessanti
se hai praticato con quello funzionale
le tecniche sono meravigliose da portare anche
se sei una programmazione orientata agli oggetti
o programmatore procedurale c’è molto
da imparare da cose come monotoni
funziona pure funziona in modi diversi
di materiale in avvicinamento da cui possiamo imparare
queste idee hanno così quella diversità di
l’input è molto importante se sei gentile
di una traccia sono un vecchio programmatore e
questo è tutto ciò che faccio intorno alla procedura
programmatore Sono un programmatore funzionale
e tu non guardi il contrario
hai limitato la tua casella degli strumenti, c’è a
molti modi in cui possiamo stimolare il nostro cervello
e ci danno modi diversi di pensare
questo aiuta anche con cose come
decomposizione erbe e astrazione
Dijkstra ha parlato di quanto sia importante se
dobbiamo essere in grado di ragionare sul nostro
gli spazi problematici che dobbiamo ottenere a
la decomposizione è comportamentale
la decomposizione è funzionale è
teatro qualunque sia un sacco di
modi diversi per scomporre i problemi
ma dobbiamo pensare a loro
capirli andando e leggendo
su di loro e conoscere questi
tipi di cose che non imparano a conoscere il
ultimo tipo di framework JavaScript o
impara l’ ultima versione di Java o qualsiasi altra cosa
capita di essere ammettiamolo se tu
è un nuovo framework JavaScript
probabilmente non è aggiornato la prossima settimana è come
imparare il latte quindi va in acciaio così
impara rapidamente le cose che contano e
sotto questo come continuo a trovare questo è
molto molto vero se ci fosse un argomento
a scuola vorrei aver prestato più attenzione
e questa è la matematica che vorrei
sfidare chiunque dica la matematica
non è importante che siano una persona
quello non capisce veramente
la matematica è così fondamentale
come tutto funziona, ma anche davvero
Soprattutto non è solo capirla
è capire come applicarla I
lavorare molto nello spazio delle prestazioni così
Sono molto familiare con cose come
teoria delle code e legge dei piccoli e
Legge universale sulla scalabilità e tutti quelli
tipo di cose ma quando sei veramente
capire un po ‘della matematica
dietro a questo si inizia a individuarlo
un sacco di posti per cui non è ovvio
la legge di piccole lettere ne sentirà parlare
scopre una teoria della rete chiamata bond
con il prodotto di laboratorio è in realtà il
nucleo di produzione agile e snella è
tutto sulla legge dei piccoli, quindi comprensione
che la matematica è in realtà perché quelli
una specie di cose che non possiamo nascondere
alcune di queste cose ho imparato le statistiche
a scuola ho trovato un mortale ottuso e
noioso e poi da adulto in una fase
Ho scritto un robot per giocare a poker
Sono tornato e ho rivisitato le statistiche
è un argomento meraviglioso ricco di
interessante ora quando mi sto avvicinando
come i problemi con i big data, ho il
la matematica dietro di me che aiuta davvero
capisco questo, ma cosa davvero
spicca in questo è che abbiamo bisogno di
andare in parlo in futuro non stiamo andando
per ottenere single core più veloci e
la matematica è la chiave per questo tu
Devo essere in grado di vedere un problema che farò
renderlo commutativo e associativo e
non puoi pensare di ricordare quel tipo di
potresti anche un po ‘da scuola
tipo di pensare oh sì ma l’ordine di
il raggruppamento ma individuandolo e quando
applicarlo tutto il tempo è cose che
importa davvero dal fare la scala
e rendendola pulita ed efficiente mi piace
di risate in quest’area le cose molto
importante è che ci stiamo muovendo in questo
mondo dei sistemi distribuiti è gentile
di esso è qui è concomitante è
distribuito significa che le cose sono
comunicando tra loro abbiamo
per capire veramente i fondamenti di
protocolli di comunicazione dell’interazione
Le mercanzie di Kodak di lavorare così su una sorta di
i protocolli di comprensione di livello base
davvero molto importante c’è grande
corpi di lavoro e networking e altro
servizi del passato che possiamo guardare
l’ITF è una grande fonte di conoscenza
per un sacco di questo la maggior parte delle persone ottiene
roba che parla insieme e no
capire i fondamenti di come
le comunicazioni funzionano e starò stella
in questo argomento perché così si applica a
altri livelli è come gli umani interagiscono così
le unità sono modellate
pure e ti dà una sorta di prendere
dalla legge di Conway, tutto il software ha successo
la forma della organizzazione che ha costruito
così organizzazioni con il bene
le strutture di comunicazione tendono ad avere
software con una buona comunicazione
istruttori possiamo aggiustare finiamo
avendo davvero ciò che pratichiamo su come noi
approccio a cose che non possiamo ignorare questo e
il tipo di dati punto per la corrente
il meme che è andato in giro al momento è
esso
abbiamo dei monoliti e andremo
ai servizi di micro e quando hai a
monolite e se il monolite è grande e
vapore e puzzolente cosa succederà se
si suddividerlo in servizi di micro cosa
succede a tutto ciò che è male quando
aumenti la superficie di esso
odora molto di più devi ottenere il
fondamenti prima di aggiungere anche
più complessità e superficie a
roba devi continuare a praticarli così
dove possiamo imparare bene il tipo di
cosa che è veramente frontale e centrale
pratica personale per ottenere grinta a
tutto quello che hai avuto modo di praticare hai
devo mettere il tuo culo di 10.000 in se
nessuno ha mai imparato la musica imparare a
lo sport impara qualcosa che richiede reale
Dedizione capiranno quello che io
significa che dobbiamo mettere la pratica
così tante cose precedenti sono
parlando la decomposizione della
strutture teatrali i paradigmi tutto su
souza a meno che non ti stia praticando su a
livello giornaliero praticarlo proprio tu
non migliorerà
ora se uno sfondo nello sport e uno di
le cose che i miei allenatori mi hanno perforato
ogni volta che ero giovane e ad ascoltare
davvero molto difficile è quando sei
praticando più e più volte se tu
Praticano cattive abitudini che diventano
istintivo devi praticare bene
abitudini quindi quando ti ritrovi
applicando i modelli di progettazione fai tu
applicali correttamente
disciplina perché se non lo fai lo sei
non rendendoli riflessivi per farli entrare
un brutto modo per cui dobbiamo pensare e
prenditi quasi ogni giorno
le cose giuste così che tu stia perforando
quando si esegue il drill cose più e più
di nuovo diventano il modo in cui agisci sotto
pressione e tutti ci arriviamo
pressione a volte quindi assicurati che il tuo
la pratica personale è corretta non essere
praticare il cattivo indossa ancora e ancora
di nuovo perché quello diventerà terra
istintuale
dobbiamo imparare dalle persone e così via
altre persone con cui lavoriamo e
interagire con le squadre che aderiamo sono così
influente su come ci sviluppiamo e su come
evolvono come persone ora alcuni di noi ottengono
fortunato e otteniamo così grandi squadre
lavorare con persone fantastiche con cui lavorare ma
dobbiamo provarlo e influenzarlo in alcuni
modi in cui vorrei dare una chiamata che farei al
l’industria nel suo complesso se stai lavorando
con squadre cattive e persone cattive vanno al lavoro
da qualche altra parte c’è abbastanza bello
allenati là fuori che puoi andare a trovare qualcosa di buono
le organizzazioni con cui lavorare non funzionano
con organizzazioni che fanno solo male
cose è una delle cose belle di
le nostre industrie abbiamo la scelta quindi andate
ed eserciti quella scelta e loro gentilmente
di tirarlo fuori ancora di più se sei un
manager o qualcuno che gestisce una squadra se
hai una persona problematica nella squadra
prova a risolverli o rimuoverli non lasciarli
la squadra viene distrutta da un cattivo comportamento
persone che si sono comportate davvero male
verso il basso una squadra e danneggia tutti
altrimenti nella nostra squadra è così facile che non possiamo
ottenere sempre le squadre ideali che non possiamo
ottieni sempre l’idea delle persone come facciamo
compensare se un po ‘di quello bene
ci sono dei bei giornali, è fantastico
documentazione della storia del nostro
soggetto là fuori non leggiamo abbastanza
di cui ho fatto riferimento in alcuni documenti
questo fino ad ora vi parlerò di un paio di più
le cose come andiamo avanti ma c’è un grande
mondo di cose là fuori personalmente io
non leggere mai tanto di documenti fino a quando
circa 10 anni fa e ho lavorato con
alcune persone che mi hanno aiutato a capire
così così alcune di quelle persone che hanno lavorato
in NASA che ho avuto il piacere
di lavorare con questa è una delle cose
mi hanno insegnato è leggere la ricerca
le carte c’è molto da imparare e
ne ho ricavato un sacco di grandi cose
storia e il nostro soggetto non solo il
documenti di ricerca che leggono altro codice
Stephen King l’autore è stato una volta – chiesto
come si diventa un grande scrittore suo?
la risposta è stata la prima cosa che devi leggere molto
e diventare un grande lettore che è così
vero anche con il codice
devi leggere il codice di altre persone
per imparare da esso e quindi dovremmo essere
scrivere il codice per essere letto come il
modifiche per adattamenti futuri è
così importante come disciplina ingegneristica e
dobbiamo leggere anche molto
la nostra industria fa un sacco di cose
proprietario ha soffocato questo a un
misura dovremmo essere in grado di studiare gli altri
grandi opere e questo sarebbe un comune
la cosa open source è salutare, non la maggior parte
altre professioni il grande lavoro ottiene
ha studiato non stiamo facendo abbastanza, che hanno
se vuoi diventare un grande musicista
vai a guardare idealmente altri grandi musicisti
jam con loro gioca con loro
vuoi venire creato sport vai
giocare uno sport con la gente della griglia
non farlo da soli è arrivata a
interagire con loro e tu hai
osserva quello che fanno perché gli umani lo sono
bene a MINIX
siamo bravi a imitare altre cose così
andiamo a leggere alcune cose buone, grandiose
esempi là fuori così una delle persone
Penso che l’ industria sia andata avanti in alcuni
le belle onde sono John Carmack id Software a
molti dei suoi software per i giochi
i motori del terremoto e del destino sono stati ora
open source pensi che C sia un brutto
lingua vai a leggere il suo codice C che non è a
tutti
possiamo incolpare le lingue per un sacco di
cose ma più spesso è la persona
piuttosto che la lingua che puoi avere
grip molto bello codice di alta qualità
scritto in quasi tutte le lingue se il
l’autore si preoccupa abbastanza e lo sviluppa dentro
nel modo giusto quando andiamo a imparare
progetti che potremmo inserire in un progetto
c’è così tanto non sappiamo questo è
qualcosa che dobbiamo solo accettare noi
stanno facendo molte nuove cose che ci sono
molti non sappiamo cosa sia uno dei
cose più importanti che puoi fare su a
il progetto porta il cuore su quella roba
in primo piano, fai prima le cose difficili
ti dà la massima quantità di tempo
per capire per fare la ricerca
per sistemare ciò che ti serve per sistemarli
in avanti ti aiuta davvero semplice
piccole cose il nostro istinto è che lo faremo
allontanati dalle cose difficili che faremo
lascia fare a più tardi forse andrà via
come parliamo di fare cose al
ultimo momento responsabile che ottiene
frainteso inizi a praticare il
roba dura in testa quindi ne hai un sacco
possibilità di farlo bene e siamo in questo
mondo ero io abbiamo Internet
ci sono così tante risorse online che noi
possiamo andare a studiare per questo possiamo andare e
impara dal tipo di veramente
la cosa interessante non è più il richiamo
un’abilità utile che ricordo di fare
interviste di lavoro sorta all’inizio
lealtà e persone ti stanno chiedendo di
ricorda fatti tutto il tempo è a
abilità che è quasi irrilevante ora
perché andiamo a cercarlo solo noi
google per esso la vera abilità è
capire cosa è buono che è fuori
lì in questo vasto mare di informazioni così
quando torniamo alla copia e
incollare Stack Overflow cosa facciamo
copia e Pierce cosa guardiamo e
come decidiamo cosa è giusto ma molto
di pensiero è scienza e scienza volontà
insegnaci come fare quelle cose meglio
quindi diamo un’occhiata a come impariamo può a
prima di tutto di questo
automatizzato tutte le noiose attività ripetitive se
non lo farai, non avrai il tempo di fare
tutte le altre cose che devi fare
il tempo è la risorsa più preziosa che noi
tutti hanno nelle nostre vite personali sul nostro
progetti e ovunque e il modo in cui noi
ottenere più tempo è automatizzare tutto
come chi qui non ha un / c che ho costruito
questi padri che sono davvero orgogliosi che il
CI è buono questo tipo di inizia a prendere
interessato possiamo un libro che arriva a casa
dove sono le cose come continuo
l’integrazione è importante L’ Egitto si impegna
il conto è in meno di tre minuti
il conto di accettazione che termina in under
20 minuti se non i comportamenti se il tuo
la squadra cambierà abbastanza significativamente così
concentrandosi su alcuni di quelli importanti
cose che hanno quel grande ambiente CI
è una delle cose che mi ha più colpito
fuori da lmax abbiamo avuto un grande continuo
ambiente di integrazione e, a volte,
non era buono come lo saremmo alla fine
piace ma ha decine di migliaia di
compiti significava che avevamo solo una qualità del nostro
base di codice che è molto rara normalmente ma
è necessario investire in essa si deve
fare in modo che lo sforzo sia corretto
quando lo abbiamo fatto, si blocca
guardare le altre cose e penso una
delle cose su cui si sta concentrando
il feedback si attiva così quando vai
imparare tutto quello che vuoi per accorciare la
distanza il più possibile tra
Avere bisogno di annunciatore e ottenere quello
feedback in modo da fare un esperimento sei
facendo qualunque cosa accada essere come
rendi i cicli di feedback più brevi
possibile è per questo che cerchiamo di ottenere CI
per correre velocemente otteniamo rapidamente la risposta
Ho lavorato in molte startup e
è incredibile come vanno le persone e anche
a direzioni pazzesche
ci sono molte cose che non conosci
IOSCO era una domanda molto semplice
come puoi scoprire la risposta per questo
per l’investimento minimo perché
tutto è un investimento come fai tu
trova quella risposta giusta per il minimo
di investimento in persone con denaro contante
qualunque cosa accada essere e abbiamo fatto tutto
questo dalla sperimentazione quindi dall’ingegneria
è una disciplina interessante
sostenuta dalla scienza in molti modi e
una delle più grandi cose che abbiamo su
la scienza è una parte del metodo scientifico di
il pensiero è che dobbiamo fare molto
esperimenti e esperimenti sono la via
possiamo ragionare sulle cose che noi
trattare con così abbiamo ottenuto per ottenere buoni con loro
dobbiamo mettere insieme una buona qualità
esperimenti dobbiamo avere il
ipotesi che stiamo testando e poi
mettiti alla prova e assicurati di esserlo
misurare le cose stanno misurando il
diritti delle cose che non sto solo vivendo
In errore, Fineman ha parlato dell’applicazione
onestà scientifica che puoi avere
scienza ma se non la applichi
correttamente l’ esame proverò a fare questo
punto in tempi normali come la matematica
è buono ma devi essere bravo
applicare all’ingegneria è buono ma tu
devo essere bravo ad applicarlo alla scienza
è buono ma devi essere bravo
applicandolo non ingannare te stesso così
fai un esperimento che vai a misurare
ottieni alcuni risultati non provare ad adattarsi
i risultati per quello che vuoi la risposta
di essere hai avuto modo di trovare il modello che
è davvero ciò che i dati ti dicono
e tipo di lavoro per quello siamo molto
facile ingannare è qualcosa di tutti noi
abbiamo come punti deboli in cui entreremo
qualcosa con un preconcetto con a
pregiudizi con tutto ciò che è necessario
lascia che il rivenditore ci porti via dal nostro
pregiudizi se non possiamo provare a tirarlo
indietro l’altro modo, ma questo è solo fatto
ammettere non a noi stessi e
trattandomi sono probabilmente il più
punto importante che ho su questo se
c’è una cosa che puoi fare per cambiare
le tue pratiche lavorative vanno avanti
quello che chiamo rivisitare e perfezionare lo faremo
molte cose interessanti e una di
le cose che la psicologia comportamentale
e la scienza comportamentale ci insegna che è a
poco su come funziona il cervello umano
quindi se sei bravo a fare qualcosa, lo farai
riempire la memoria a breve termine con il
compiti su cui stai lavorando quando vai
di rivedere quello che hai appena fatto come
spesso stai semplicemente riproducendo il tuo
memoria a breve termine
così per i nerd della CPU nella stanza questo è
la tua cache questo è quello che stai lavorando
triste che sei a causa del fatto che tu abbia a che fare così
facciamo un semplice esempio che sto per fare
scrivi che sono davvero importante e-mail
ha bisogno di andare a una società intera I
scrivi l’email e la correggo
subito dopo avrai un sacco
di errori e non hai visto
perché userete ciò che c’è nel vostro
ricordo quale era il tuo intento non quello che tu
in realtà ha fatto così cosa dovresti fare
se lo mettessi da parte te ne vai e
fai qualcos’altro e torni indietro
più tardi e poi lo rivisiterai e tu
recensione ancora una volta si sarà posto cose che
non hai visto se l’hai appena recensito
subito c’è molto di bello
esempi di affari in particolare con
codice Io sono venuto ai giornali Tony Hoare
un altro dei vincitori del premio Turing
ha fatto CSP e altre cose a cui deve partecipare
avere più documenti in corso su qualsiasi dato
punto nel tempo e non ha fatto solo un P
mai finirlo e pubblicarlo lasciò
hanno una durata in cui li ha lasciati tornare
dove li lasci fare solo per a
mentre così lo farebbe lo lascerei da parte
andare e fare qualcos’altro tornare indietro
rivedere e perfezionare quando hanno
fatto un paio di volte ed era felice
non c’erano molti più problemi con
che poi avrebbe pubblicare Sono stato
praticando questo con il mio codice e io
trova che è stato uno dei più grandi
le differenze rispetto alla qualità del mio codice sono
Scrivo qualcosa che non è completo è
raggiunto un punto in cui sono felice con esso
per ora andrò avanti ne farò un altro
compito che programma in tempo per tornare a leggere
rivedere e perfezionare in modo da rivisitare e
ti raffini, trovi gli errori che troverai
modi più eleganti di trattare con
qualcosa che puoi trovare un modo di fare
quel codice più pulito lo migliori tu e te
vai avanti e tieni solo questa pipeline
andando tutto il tempo in cui stai facendo
più cose in una pipeline e tu
torna da loro di nuovo e fa a
enorme differenza per migliorare la qualità
e come lavori e per tornare al
tipo di finire questa sezione con il
uno dei veri inquilini dell’ingegneria
Prenderò qualcosa da Margaret
Hamilton e come si avvicina alle cose così
ogni volta che il lander lunare ha iniziato ad avere
problemi e una delle cose che lei
l’avevo progettato per vedere se era così
programmazione prioritaria e due cose come
le cose andranno male dalla nostra natura noi
iniziare a pensare molto negativamente a questo proposito
come l’ha guardato positivamente così
le cose andarono male, affermazione positiva
a come funziona il cervello è lei pensò
cosa devo preservare non ciò che può andare
sbagliato
sottile tipo di differenze ma in qualche modo
pensando a cosa può andare storto
inizia a diventare davvero importante così
qui è un invito che avevo per un altro giornale di
è un peer per la produzione tossica
interruzioni in alcuni dati intensivi
applicazioni e quali erano le cause di
quelli c’è una sorta di ricca cucitura di
cause diverse dentro là ma a
davvero forte st. tema attraverso questo era
errori ignorati come la maggior parte dei
interruzioni di produzione che sono state trovate
avrebbe potuto essere chiamato da unit test
c’erano errori che avevano svuotato il nostro
blocchi di gatti vuoti e gestori di errori
codici di errore ignorati restituiti da
funzioni c’è una grande percentuale di
queste cose che avevano i gatti bloccati per un
eccezione con il da fare dentro di più
risolto prima della produzione non lo è
professionale è un po ‘come l’unità
la prova è come se non avessimo raggiunto
il punto in cui molte persone non lo fanno
toccare il codice probabilmente non farlo a
questo è come un intervento chirurgico quando i chirurghi
erano soliti discutere su come dovevano lavarsi
le loro mani hanno un fattore igienico
questo c’è un livello di professionalità
che è irresponsabile essere giusto
codice di hacking e buttarlo fuori ora
e finiremo per essere tirati su
questo come settore dobbiamo migliorare
dobbiamo diventare più puliti su questo così gentile
di guardiamo questo nel chiudere cosa
sono alcune cose che devi pensare
riguardo mi piace questo concetto di pensiero
sulle linee di codice speso c’è solo
tanto che possiamo conservare nel nostro cervello a
ogni momento suggerisce alcune prove
che se stai lavorando su un sistema se questo
ottiene più di circa 10.000 righe di
codice per quello che sei responsabile è
difficile rendere difficili le modifiche
capire le implicazioni di ciò
tenerlo piccolo e lavorare come farlo
ci decomponiamo ad un livello interessante
questo va più avanti con questa causa
John Carmack, di cui ho parlato prima
fatto terremoto e rovina ha parlato di come
rimuovere le righe di codice è una buona cosa
ma rimuovere la velocità è ancora meglio lo farò
trova uno dei modi per
misurare i progetti e diventare genuini
miglioramenti ci sono molti modi in cui tu
può misurare cose e persone a
sistema una delle cose che trovo è molto
il successo sta misurando le linee di codice
cancellato e misurando nient’altro come
è davvero il prossimo in un miglioramento di a
sistema rende più piccolo pulito anche
diventa spietato sul taglio di funzionalità
che semplicemente non stanno pagando per se stessi
stessa cosa si può dire per sterzare
minimizzare questa roba lo rende molto
è più facile da capire
cose come l’altra ingegneria
le discipline hanno imparato questo come interiore
Crea il velivolo perfetto o la navicella spaziale
è quello in cui non ti rimane nulla
può decollare tutto è lì
tutto ha uno scopo e tutto
è chiaramente fuori valore se qualcosa è
costare più del valore che è
restituirlo non è economico nel
il software non dovrebbe essere lì e così via
tutto ha un costo ma anche
tutto dovrebbe avere un vantaggio e noi
devo prendere quelle cose che stiamo facendo
insieme pensavo così a questo
non sentirti male in cui viviamo
quest’anno siamo tutti e quattro alchemici
lavorando a questo proposito, siamo una specie di noi no
totalmente costruito sulle spalle di
giganti, quindi non siamo come la fisica
dove tutti sanno chi è Newton
Einstein Dirac bene e tutte quelle persone
siamo a malapena a conoscenza del tiro con l’ arco?
vincitori di premi che sembrano essere comuni
cosa e da come ne abbiamo persa un’altra
ottimo lunedì con wacker chi è
uno dei pochi da Palo Alto è andato
impariamo da una parte di questo, ma la
tipo di cosa interessante è quello che facciamo
è davvero bello, è davvero bello in molti
modi è che è un lavoro che siamo quasi
pagato per giocare e noi siamo in forma nel
futuro ed è davvero grandioso
Finirò su e vi ringrazio molto
[Applausi]
tu

Please follow and like us: