Facebook fa la programmazione delle coppie
Facebook fa la programmazione delle coppie
Riepilogo:
In questo articolo, discuterò il concetto di programmazione delle coppie e la sua corretta implementazione. Risponderò anche a 15 domande uniche relative alla programmazione delle coppie, fornendo spiegazioni dettagliate basate sull’esperienza personale. La programmazione delle coppie non riguarda la formazione, ma piuttosto un approccio collaborativo in cui le coppie senior con le coppie senior e junior con il junior. Una programmazione efficace delle coppie può portare a una migliore comunicazione e qualità del codice.
Punti chiave:
- La programmazione delle coppie non riguarda l’allenamento ma un approccio collaborativo.
- Abbina gli sviluppatori senior con sviluppatori senior e sviluppatori junior con sviluppatori junior.
- Abbinamento efficace può ancora verificarsi tra uno sviluppatore senior e junior.
- L’abbinamento con uno stagista può portare a preziose esperienze di apprendimento per entrambe le parti.
- L’attenzione del management sulla produttività può creare sfide nella programmazione di coppia.
- La programmazione delle coppie dovrebbe sembrare un co-pilota, non un controller del traffico aereo.
- La programmazione delle coppie non è equivalente al tutoraggio.
- L’accoppiamento consente un feedback immediato e aiuta a identificare un codice troppo complesso.
- Una comunicazione efficace durante la programmazione delle coppie è importante.
- Il carico di lavoro dovrebbe essere condiviso ed entrambi gli sviluppatori dovrebbero contribuire.
- Le conversazioni secondarie durante le sessioni di accoppiamento possono essere distratte.
- Non tutti i problemi richiedono una programmazione di coppie e potrebbe essere necessario un lavoro individuale.
- La programmazione delle coppie può richiedere più tempo ma fornisce una revisione e una collaborazione tra pari istantanei.
- Gli sviluppatori junior possono ancora imparare attraverso la programmazione delle coppie, ma richiede uno sforzo e una comunicazione efficace.
- Interrogazione e sperimentazione sono essenziali per un’efficace programmazione di coppie.
Domande:
1. Cos’è la programmazione di coppie?
La programmazione delle coppie è un approccio collaborativo in cui due sviluppatori lavorano insieme nello stesso compito.
2. Se gli sviluppatori senior si abbinano a sviluppatori senior e sviluppatori junior con sviluppatori junior?
Sì, l’abbinamento di sviluppatori senior con sviluppatori senior e sviluppatori junior con sviluppatori junior garantisce una collaborazione efficace.
3. Può una coppia di sviluppatori senior con uno sviluppatore junior?
Sì, sebbene non ideale per scopi di formazione, può ancora verificarsi un accoppiamento efficace tra uno sviluppatore senior e junior.
4. Come può essere utile l’abbinamento con uno stagista?
L’abbinamento con uno stagista può fornire preziose esperienze di apprendimento per entrambe le parti.
5. Quali sfide possono sorgere nella programmazione della coppia?
L’attenzione del management sulla produttività può creare sfide e stress nella programmazione di coppia.
6. Come dovrebbe abbinare la programmazione di programmazione?
La programmazione delle coppie dovrebbe sembrare un co-pilota piuttosto che un controllore del traffico aereo.
7. È una programmazione di coppie equivalente al tutoraggio?
No, la programmazione delle coppie non è equivalente al tutoraggio. È un approccio collaborativo tra uguali.
8. Quali sono i vantaggi della programmazione delle coppie?
La programmazione delle coppie consente un feedback immediato, aiuta a identificare un codice complesso e migliora la comunicazione.
9. Che tipo di comunicazione è importante nella programmazione della coppia?
Una comunicazione efficace, sia verbale che attraverso il codice, è essenziale nella programmazione di coppia.
10. Se uno sviluppatore dovrebbe dominare la sessione di accoppiamento?
No, il carico di lavoro dovrebbe essere condiviso ed entrambi gli sviluppatori dovrebbero avere pari opportunità di contribuire.
11. Quali sfide possono creare conversazioni side durante le sessioni di accoppiamento?
Le conversazioni laterali possono essere distrae e deviare la messa a fuoco dal compito principale da svolgere.
12. La programmazione di coppie è adatta a tutti i problemi?
No, la programmazione delle coppie potrebbe non essere adatta a tutti i problemi e talvolta è necessario un lavoro individuale.
13. La programmazione delle coppie richiede più tempo?
La programmazione delle coppie può richiedere più tempo della codifica da sola, ma fornisce una revisione tra pari istantanea e facilita la collaborazione.
14. Gli sviluppatori junior possono imparare attraverso la programmazione delle coppie?
Sì, gli sviluppatori junior possono imparare attraverso la programmazione delle coppie, ma richiede uno sforzo e una comunicazione efficace.
15. Quale approccio è essenziale per un’efficace programmazione di coppie?
Interrogazione, sperimentazione e partecipazione attiva sono essenziali per un’efficace programmazione di coppie.
Facebook fa la programmazione delle coppie
Non sono sicuro di come rispondere obiettivamente a questa domanda. Puoi chiarire il problema che stai cercando di risolvere, tenendo presente che questa comunità non supporta domande soggettive?
Qual è il modo corretto di fare la programmazione di coppie?
Ci sono così tante storie in cui mi sento come se stessi programmando attraverso qualcuno, e una storia che mi avrebbe impiegato 30 minuti finisce per impiegare 3 ore, nel frattempo, mi chiedo se più gli sviluppatori junior imparano effettivamente.
99k 23 23 BADGI GOLD 189 189 Badge d’argento 305 305 BADGI BRONZI
ha chiesto il 22 febbraio alle 18:19
561 4 4 badge d’argento 5 5 badge in bronzo
Non sono sicuro di come rispondere obiettivamente a questa domanda. Puoi chiarire il problema che stai cercando di risolvere, tenendo presente che questa comunità non supporta domande soggettive?
22 febbraio alle 18:54
Programmazione delle coppie != allenamento . Quando ti sviluppi in coppia, dovresti abbinare senior con senior e junior a junior. Quando ti alleni, dovresti abbinare senior a junior
23 febbraio alle 9:21
Programmazione delle coppie != formazione Tuttavia, è possibile abbinare senior e junior. Sicuramente l’allenamento finirà per accadere e rallentare le cose. Ma questo succederà comunque. Non significa che non possa accadere un accoppiamento efficace.
23 febbraio alle 15:16
Ho abbinato a uno stagista che non aveva idea di come funzionasse il nostro sistema. Avevamo bisogno di parlare con una stampante e aveva un codice che inviava alla stampante un comando che doveva essere ricompilato ogni volta che hai cambiato il comando. Ho deciso di trasformarlo in una shell di comando. Spiegato cosa stavo facendo allo stagista. Ha scritto una versione Bare Bones di fronte a lui. Devo indicare dove funzionava ed ero stanco e ho detto: “Voglio prenderlo da qui?” “Sicuro!”Ha fatto benissimo. Lo lucidò in quel momento e lì.
23 febbraio alle 15:19
@Antigamer sembra che il tuo problema principale non stia rallentando. È una gestione rispetto a stressarti sulla produttività. Non posso dire se sono loro o tu. Tieni presente, non hanno davvero idea delle cose tecniche. Ma se ti senti come se stessi sottoperformando, lo raccolgono sempre e presumono che tu abbia ragione.
23 febbraio alle 15:26
6 Risposte 6
Se la programmazione delle coppie ti fa sentire come se fossi un controller del traffico aereo che cerca di parlare un piano aereo pilotato da un bambino di 12 anni agitato.
Il motivo per cui è sbagliato è perché non sei a miglia di distanza a parlare alla radio. Sei proprio lì e puoi prendere la tastiera in qualsiasi momento. Dovrebbe sembrare un co-pilota. Non stai dando il controllo eccessivo perché devi. Lo stai facendo perché puoi.
Una cosa che la programmazione coppia non è è mentoring. Una relazione di insegnante è molto diversa da due persone che lavorano insieme come uguali anche se una ha significativamente più esperienza. Ci vuole tempo per abituarsi ad abbinare la programmazione, quindi non preoccuparti se all’inizio si sente imbarazzante.
programmazione estrema.Org – Programmazione delle coppie
Quello che hai bisogno di cogliere è il punto di accoppiamento. Non è così puoi dire “stavamo abbinando”. È così puoi comunicare nel tuo linguaggio naturale: codice.
La cosa fantastica qui è che puoi digitare una riga di codice e chiedere: “Ha senso?”Questo è un ciclo di alimentazione stretta. Puoi risolvere quando il codice è troppo intelligente.
“Scorri verso l’alto”, “Aggiungi un’istruzione console”, “Vai al file x”, “puoi scrivere y dopo la riga z”, ecc.
Se questo è tutto ciò che dici mentre ci abbiniamo, prendi già la tastiera. Piuttosto che cucchiaio da mangiare una passeggiata, dimmi cosa sta succedendo. Perché stiamo facendo questo. Come avrei potuto sapere per farlo da solo.
Dimmi che. Non solo prendere la tastiera, fare clic su alcune misteriose scorciatoie da tastiera e far accadere la magia. Mostrami come funziona il trucco.
Inoltre, non solo dettare l’intera agenda. Ritaglia il lavoro che posso fare. Lasciami saltare dentro e far parte di questo. Diavolo potresti essere fortunato e imparare qualcosa da me. La tastiera dovrebbe scivolare avanti e indietro.
Le conversazioni laterali si presentano spesso durante le sessioni di accoppiamento, che distraggono dal lavoro a portata di mano
Oh, prenditi un momento e sii un essere umano. Convincimi che sto parlando con qualcuno che mi considera un essere umano.
Risolvere problemi complessi spesso richiede molto più tempo, perché molti ingegneri hanno bisogno di tempo per progettare effettivamente una soluzione
VERO. Alcuni hanno bisogno di head -up tempo trascorso a lanciare matite alle piastrelle del soffitto. Alcuni hanno bisogno di tempo di anatra in gomma (una tavola sana se sei del set di capelli argento). La programmazione delle coppie non è sempre per ogni problema.
- Farlo su una chiamata richiede più tempo e spesso si traduce in una paralisi dell’analisi.
Sì, l’accoppiamento può richiedere più tempo della codifica da solo. Ma se lo stai facendo bene, stai anche ricevendo una revisione informale istantanea e alcune sulla collaborazione sul posto.
La cure facile per l’analisi la paralisi è fare qualcosa di stupido e farti spiegare la gente perché è sbagliato. Ripeterlo finché non si esaurisce il male.
Mi chiedo se più gli sviluppatori junior imparano effettivamente.
Continua a mettere in discussione. Impara cosa funziona e cosa no. Non c’è solo un modo perfetto per farlo. Ma farlo solo perché dovremmo farlo è decisamente sbagliato.
Risposta il 22 febbraio alle 18:57
Candied_orange Candied_orange
99k 23 23 BADGI GOLD 189 189 Badge d’argento 305 305 BADGI BRONZI
La cure facile per l’analisi la paralisi è fare qualcosa di stupido e farti spiegare la gente perché è sbagliato. Ripeterlo finché non si esaurisce il male. Questo è oro. Funziona in qualsiasi situazione. Formazione delle tue capacità di progettazione TDD e bottom-up, fare sfide tecnologiche in loco o decidere tra 2 film che sicuramente odierai, ma alla tua ragazza non importa. solo “fai qualcosa”, gira la ruota e lasciati trasportare via dall’inerzia
22 febbraio alle 21:43
“La cosa fantastica qui è che puoi digitare una riga di codice e chiedere: “Ha senso?”“Ed è per questo che la programmazione delle coppie è una totale perdita di tempo. Nessun programmatore competente deve chiederlo di una singola riga di codice. Devi chiederlo sull’intero blocco coerente di funzionalità, non una singola riga, e non lo hai fino a quando il programmatore non è finito. Si basa interamente sulla convinzione che la programmazione sia la principale fonte di errori nel prodotto finale, e questo è stato ampiamente dimostrato come una falsa convinzione.
23 febbraio alle 8:53
@Graham spesso, una singola riga È un blocco coerente. A volte, rappresenta un cambiamento in un singolo blocco e voglio sapere se ha senso nel contesto. Altre volte ho fatto qualcosa di intelligente ma ovvio e voglio sapere se merita un commento dettagliato o breve. Sii caritatevole!
23 febbraio alle 13:45
L’ironia qui sono io’m riceve un feedback su una singola riga e auguro che io’D ho ottenuto prima.
23 febbraio alle 14:12
@Graham Sono davvero interessato a quello che stai dicendo sugli errori non provenienti principalmente dal codice sorgente – hai una citazione (i) per questo perché sarei interessato a saperne di più.
23 febbraio alle 14:21
Il modello comune è che gli sviluppatori più senior generalmente finiscono per la mano che hanno gestito più sviluppatori junior durante l’intero processo
Prima di tutto, la programmazione delle coppie non comporta intrinsecamente tutoraggio o tutoraggio. Con uno squilibrio di anzianità sufficiente, devi accettare che sia trascorso un pezzo del tempo formazione piuttosto che lavorare. Questo dovrebbe già spostare le tue aspettative di risultati immediati.
Se vuoi che la programmazione della tua coppia sia completamente focalizzata sulla consegna, non l’apprendimento, allora devi abbinare gli uguali sviluppatori con uguale esperienza o il più vicino possibile. Non lo stai facendo, quindi stai intrinsecamente per il tendine del ginocchio (dover andare al ritmo junior) o devi istruire i junior sul lavoro (dal momento che viene fatto al ritmo di un senior).
fondamentalmente codifica mentre guarda uno screenshare. “Scorri verso l’alto”, “Aggiungi un’istruzione console”, “Vai al file x”, “puoi scrivere y dopo la riga z”, ecc.
Non è una programmazione di coppie, che sta dettando. È sia improduttivo come meccanismo di consegna (ci vogliono due persone per seguire un treno di pensiero) e come strumento di apprendimento (copia ciecamente come ti viene detto non favorisce la comprensione).
Riconsiderare seriamente l’anzianità di uno sviluppatore se sono in grado di concentrarsi solo su come risolvere un problema e non sono in grado di guidare correttamente uno sviluppatore junior. Questa è la differenza distintiva tra un junior (può fare il lavoro ma ha bisogno di supervisione), medior (può fare il proprio lavoro senza troppa supervisione) e del profilo senior (può fare il proprio lavoro e fornire supervisione per gli altri).
Le conversazioni laterali si presentano spesso durante le sessioni di accoppiamento, che distraggono dal lavoro a portata di mano
Conversazioni non legate al lavoro sarebbero avvenute se queste due persone fossero sede adiacenti senza programmazione di coppie e quindi non sono rilevanti quando si giudica quel valore della programmazione delle coppie.
Le conversazioni legate al lavoro sono esattamente il punto della programmazione delle coppie; Permette alla coppia di trasmettere le proprie conoscenze reciproche e/o aiutarli a lavorare insieme per imparare qualcosa di nuovo per entrambi.
La risoluzione di problemi complessi spesso richiede molto più tempo, perché molti ingegneri hanno bisogno di un tocco per progettare effettivamente una soluzione, farlo su una chiamata richiede più tempo e spesso provoca la paralisi dell’analisi.
Prima di tutto, non si chiama design di coppia. Non puoi semplicemente mettere insieme questi due.
In secondo luogo, la programmazione delle coppie non implica che entrambi i set di occhi guardino la stessa cosa allo stesso tempo, sempre e nient’altro. È perfettamente possibile per l’anziano fare qualcos’altro, sia che si stia guardando al design del prossimo compito, leggendo la documentazione, . Mentre il junior svolge un compito più banale in cui l’anziano non è necessario o è in grado di destreggiarsi con entrambe le attività allo stesso tempo.
La base per la tua domanda si presenta come confusa. Hai implementato un sistema, strutturato in un modo particolare e solo allora Hai iniziato a notare che il sistema in realtà non aiuta con le cose che sono apparentemente importanti per te. Questo sta mettendo il carrello davanti al cavallo.
Ha più senso capire prima il problema che stai cercando di risolvere, quindi cercare un sistema, confermare che risolverebbe davvero il problema e solo quindi iniziare a implementarlo.
Risposta il 22 febbraio alle 22:25
41.6k 8 8 badge d’oro 83 83 badge d’argento 115 115 badge di bronzo
“Prima di tutto, non si chiama design di coppia. Non puoi semplicemente mettere insieme questi due.” — Credo che questo tagli proprio il cuore della domanda dell’OP. Non tutte le attività o l’interazione sono appropriate per la programmazione delle coppie.
24 febbraio alle 15:38
Penso che due piloti nell’aeromo. Nell’aviazione, poi ci sono due piloti, c’è un pilota che vola e il monitoraggio del pilota. Il monitoraggio pilota è anche completamente nel corso e può subentrare in qualsiasi momento. Funziona molto bene ed è improbabile che cambi, anche se tecnicamente questi aerei potrebbero essere trasportati da un singolo essere umano.
Non sono io stesso un pilota, sono ingegnere software con una lunga esperienza. Ma ero abbastanza attivo nello scambio di stack aeronautico, leggendo sia domande e risposte pubblicate da veri piloti, quindi pensa che dovrebbe essere in grado di fornire una panoramica. Potrebbe essere utile per noi.
Cockpit sterile
Le conversazioni non correlate al volo sono severamente vietate nella cabina di pilotaggio. Lo stesso dovrebbe essere tra i programmatori di coppia. Così semplice.
Decisioni
Le piccole decisioni vengono prese dal pilota che vola, ma i piloti comunicano quando prendono decisioni più grandi. I piloti seguono anche liste di controllo che descrivono molte azioni standard che dovrebbero intraprendere. Se qualcosa va storto, i piloti tirano fuori dicono l’elenco di controllo “inaffidabile della lettura della velocità” e seguire i passaggi lì piuttosto che iniziare da una lunga discussione che dovrebbe essere fatta. Se il capitano è assolutamente sicuro, ha la priorità di decidere rapidamente, prevalere sulle regole, qualsiasi direzione dalla torre di controllo e senza discussioni, ma questo non è leggermente fatto. Quando il capitano ignora le istruzioni dalla torre di controllo, deve parlarne immediatamente.
Quindi mi aspetto che lo sviluppatore principale abbia ragione per dire qualcosa come “L’approccio X crea un codice molto migliore esattamente qui, quindi lo usiamo, anche se le regole generali richiedono qualcosa di diverso”, ma questo non dovrebbe venire molto spesso.
Divisione di lavoro
I piloti dividono il tempo che ognuno di essi controlla l’aereo più o meno equamente, ma ci sono compiti difficili come volare 747 con solo tre motori o atterrare all’aeroporto di Heraklion dove si afferma ufficialmente che “il capitano deve fare il volo”. Altrimenti, entrambi i piloti sono completamente addestrati e qualificati per far volare quell’aeromobile e non hanno bisogno di micro-gestione molto approfondita.
Quindi mi aspetterei che il programmatore di coppia attiva con il codice digitare e scorrere come vuole, con un altro che osserva e interferisce solo se ha una cosa notevole da dire. Inoltre non mi aspetto che uno dei programmatori sia sempre a digitare e un altro solo a guardare.
Allenamento del capitano
Infine, per capire meglio il ruolo, un nuovo capitano viene addestrato per la prima volta con un altro capitano più esperto che è un “vero capitano” dell’aereo ma mentre il volo va bene, svolge il ruolo del secondo pilota. Dopodiché, il giovane capitano è accoppiato per volare con il secondo pilota molto più esperto (dalle ore di volo). Solo allora il capitano è considerato pronto a volare con qualcuno che potrebbe vedere meno capace.
Doppi controlli
Gli aeromobili destinati a essere trasportati da due piloti hanno normalmente doppi controlli. Per seguire questo modello, è una buona idea collegare almeno il secondo mouse se non la tastiera. Ciò consente di passare molto rapidamente la “guida” tra gli sviluppatori.
Facebook fa la programmazione delle coppie
Об этой сттце
Ыы зарегистрировали подозритеstituire. С помощю ээй ст р ы ыы сможем о imperceде quello. Почему ээо мо л поззти?
Эта страница отображается в тех с лччч, когда автоматическиtal систе quisi которые наршают условия иполззования. Страница перестан scegliere. До этого момента для иполззования сжж google необходимо пхоходить поверку по по по по по.
” ылку запросов. Если ы и ипоеете общий доступ в интернет, проmma. Обратитесь к с ое системому администратору. Подробнеi.
Проверка по слову может также появляться, если вы вводите сложные запросы, обычно распространяемые автоматизированными системами, или же вводите запросы очень часто.
Facebook e il mito di una cultura della codifica individuale
Abbiamo lanciato una nuova newsletter quotidiana e -mail! Ora puoi ricevere un carrello gratuito degli articoli TNS più recenti nella tua casella di posta ogni giorno. Registrati ora, non perdere mai una storia, resta sempre in-the-know.
In un recente post sulla cultura ingegneristica, l’ingegnere del software di Facebook Pierre Raynaud-Richard ha condiviso approfondimenti su come il gigante dei social media’S Dev Culture promuove la collaborazione e incoraggia l’orgoglio per il codice che creano.
Fondamentale per Raynaud-Richard’Il trattato è il suo debunking del ‘Proprietà del codice individuale’ mantra. “Molte aziende di sviluppo del software credono e praticano “Proprietà del codice individuale.” Questo potrebbe non sembrare un principio così fondamentale, ma in realtà fa molto per definire come funziona un’organizzazione software,” Scrive Raynaud-Richard.
Mentre di fronte a esso, l’approccio sembra incoraggiare gli esperti interni che creano con orgoglio un codice scritto, meno buggy, l’impatto effettivo per molte aziende è che soffoca l’innovazione e la crescita delle competenze degli sviluppatori di Wilts. Raynaud-Richard afferma che l’approccio scoraggia l’innovazione aziendale, poiché gli sviluppatori finiscono per favorire lo status quo: nel tempo, difendono la base di codice che hanno costruito e hanno un pregiudizio implicito nei suoi confronti, incapaci di adattarsi a nuove opportunità o sfide che richiedono un cambiamento radicale nella direzione. Per i singoli sviluppatori, l’approccio si crolla la crescita delle loro abilità con il cornello delle scarpe e restringendo la loro capacità di identificare opportunità ad alto impatto.
“La proprietà del codice individuale offre alcuni vantaggi interessanti a prima vista: codice meglio progettato, mantenuto e supportato e una durata più lunga per componenti e servizi. Sfortunatamente, lo fa a costo di introdurre una rigida definizione di ruoli, che può limitare l’innovazione e la crescita aziendale e individuale,” Conclude Raynaud-richard.
Di oggi’S ambienti di sviluppo completa dello stack, i team software sanno che nessuno sviluppatore può sapere tutto. Ma molti si stanno rivolgendo a mezzi più creativi per incoraggiare una cultura ingegneristica flessibile rispetto alla maggiore strada di specializzazione che coltiva il modello di proprietà del singolo codice.
La cultura Dev Startup
Orchestra di startup database-as-a-service ha un team distribuito di 10 ingegneri che lavorano in cinque fusi orari, secondo il CTO e il cofondatore Ian Plosker.
“Noi non’T generalmente hanno la proprietà del codice,” dice Plosker. “Detto questo, gli esperti di area si sviluppano naturalmente, di solito a partire dalla persona che ha sviluppato o rivisto il codice.” Plosker afferma che di tanto in tanto, ingegneri particolari possono finire per specializzarsi in particolari tecnologie o metodi e saranno attratti in progetti più spesso quando viene utilizzata quella particolare tecnologia.
“Una persona che possiede il codice è pericolosa, perché l’intera squadra può quindi cavarsela senza sapere come funzionano le cose. Fortunatamente, in un’organizzazione più piccola, è più difficile cavarsela. È davvero importante che la conoscenza si diffonda all’organizzazione.”
Uno dei processi chiave utilizzati all’orchestra per evitare la proprietà del codice individuale sono le revisioni del codice: “Le recensioni del codice sono uno dei luoghi più cruciali per il trasferimento delle conoscenze, garantisce che almeno una seconda persona conosce il codice, ha valutato che i casi di test sono completi e sa come funziona la base del codice.”
Orchestrate fornisce una singola API e interfaccia utente per una raccolta di più database. Mentre inizia con i valori chiave, il prodotto ora consente una serie di formati di ricerca, tra cui ricerche complete, ordinate nel tempo e grafiche. L’ultima offerta è stata una nuova funzione di ricerca geospaziale, che ha evitato l’approccio di proprietà del codice individuale in quanto è stato sviluppato:
“Usiamo un po ‘GitHub, quindi avrai uno sviluppatore che lavora su un ramo di funzionalità, come quando abbiamo aggiunto le funzionalità di ricerca geospaziale. Quindi l’ingegnere lavorerà in un ramo di funzionalità, apriranno una richiesta di pull per unire che in. Speriamo che aggiungano tutti i test unitari e i test di integrazione e quello’s quando si verifica la profonda valutazione tecnica.
“Se la funzione è importante, otteniamo almeno due paia di occhi sulle cose e Github ti consente di commentare righe particolari come dire ‘Ehi, perché l’hai fatto così?’
“Quindi la conversazione accade lì, c’è molta conoscenza incorporata nelle richieste di pull.
“Una volta che è completamente rivisto, lo eseguiamo e lo test.
“Abbiamo un paio di passaggi per i test: internamente, abbiamo uno strumento chiamato Orchestrate Runner in grado di costruire uno stack orchestrato intero sulla tua macchina (un server HTTP basato su Java, il front -end web e tutte queste cose vengono spinte dal nostro strumento internamente). Quello’s il primo round di test.
“Quindi ogni commit su GitHub è gestito da Travis CI. Funziona abbastanza bene per noi e che eseguirà tutti i nostri test unitari e test di integrazione. Giramo persino una mini stack orchestrate all’interno di Travis CI.
“Usiamo anche hipchat, abbiamo anche creato un bot nel nostro hipchat che può dirci molto sulla nostra distribuzione del codice. Dopo ogni maestro di build di successo, li facciamo caricare in S3 alla fine della build Travis e, in base al numero di build, possiamo chiedere al nostro chatbot di distribuire tale codice! Come, ‘Hey prodbot, distribuire il numero 46 di build in un ambiente di stadiazione USC.’ Plosker indica anche Mumble, un client di chat che consente a uno qualsiasi del team di sviluppatori di porre domande reciprocamente o avviare chat informali sui modelli di codifica e le scelte di progettazione.
Per favorire la collaborazione e la discussione di gruppo sul nuovo design di funzionalità, Orchestrate incoraggia qualsiasi membro del team a creare una proposta che delinea l’idea:
“Prima di iniziare qualsiasi grande caratteristica, tende ad accadere che qualcuno diventa un campione per quella funzione. Quindi tendiamo ad amare scrivere una proposta per la funzione: qui’S come funzionerebbe, qui’S perché dovremmo farlo, le sfide, le opportunità … questi tendono ad essere Google Documenti e l’intero team lavorerà su questo. Succede davvero organico.
“Ad esempio, in questo momento stiamo lavorando alla sfaccettatura della ricerca, quindi c’è un documento su cui tutti stanno commentando. A questo punto già, abbiamo un bel po ‘di conoscenza che circola.”
Il business scalabile
Il menu online e il servizio di consegna degli alimenti Basta Eat – che ora opera in 13 paesi e ha annunciato una crescita dei ricavi del 58% nella prima metà del 2014 – ha un team di ingegneria di circa 60 sviluppatori nei soli uffici del Regno Unito. La compagnia sta vedendo “Crescita piuttosto sostanziale e rapida” Richiedere agli sviluppatori di lavorare insieme in due sedi di uffici e in remoto, secondo il piombo tecnico, Anton Jefcoate. “Il tasso di crescita ci ha spinto in alcune pratiche piuttosto buone. Le basi erano già lì, ma puoi’T allontanarti dalla cultura ingegneristica che promuovi quando stai ridimensionando il tuo team di sviluppo.
“Noi’VE ha diviso i nostri team di sviluppo in alcuni gruppi per affrontare diverse aree: applicazioni di consumo, app aziendali, Dev che lavorano sulle API.. Il team API è il nucleo dell’intera piattaforma. Quindi i team API vengono quindi ulteriormente divisi e prendono il controllo di parti particolari della piattaforma.
“Qualsiasi nuovo progetto metterà insieme un paio di persone dal team di applicazioni guidate dall’API e native: quello’s un minimo di due, massimo di 10 persone su qualsiasi progetto. Dipende ovviamente dalle dimensioni della funzione e quanto attraverso la piattaforma si diffonderà.”
Jefcoate pensa che Raynaud-Richard abbia ragione a chiamare le carenze di un modello culturale di proprietà individuale nelle società di software.
“Gli svantaggi sono cose che funzionano per noi,” dice Jefcoate. “Penso che Agile sia una delle cose che hanno rotto quella cultura. Penso che prima di Agile, gli sviluppatori erano isolati, ma Agile incoraggia la squadra sull’individuo. Quando stai guardando a monitorare la velocità o il bene più grande della squadra da produrre, tutti condividono uniformemente il lavoro. Abbiamo davvero una cultura di tutti i chips. ci credo’S collegato alle pratiche di lavoro e al tipo di persone che usano flussi agili: qui’s un po ‘di lavoro da fare, tutti arrivano sul ponte e questo non lo fa’T si presta a uno scenario di proprietà del codice individuale.”
Basta mangiare replica una serie di aspetti culturali che stanno diventando sempre più familiari tra le startup software basate su cloud. Come altri nella loro generazione (Just-Eat è iniziato nel 2001), hanno una cultura della creazione di progetti open source e spesso impiegano un processo di reclutamento che richiede ai candidati ai pescatori delle API di dog per dimostrare ciò che può essere fatto o per sottolineare opportunità che potrebbero migliorare e basta mangiare’S Base di codice S.
Jefcoate vede l’approccio open source come un modo diverso per coltivare l’orgoglio in uno’Vantaggio S-code che può provenire dalla proprietà del codice individuale:
“Devi solo guardare in basso il nostro stack e vedere tutti gli strumenti open source che usiamo per risolvere i nostri problemi ogni giorno, quindi come comunità sviluppatore generale, beneficiamo davvero del bene più grande. L’open source consente ai problemi di essere risolti da molte persone; Ci sono pochissimi posti in cui puoi andare dove hai prodotti gratuiti che hanno quella quantità di storia provata e testata per loro. Open Source funziona, e immagino per noi, per contribuire a ciò fa un po ‘di una dichiarazione su ciò di cui siamo una società. Le cose open source che abbiamo pubblicato (che sono relativamente nella sua infanzia), sono cose generiche che aiutano a risolvere i problemi nella comunità degli sviluppatori. Cerchiamo di ottenere i vantaggi della proprietà del singolo codice (cose come coltivare l’orgoglio e incoraggiare il tocco personale e gli investimenti personali nei progetti di codifica), assicurandoci che gli sviluppatori possano aiutare a testare nuove tecniche sulla nostra piattaforma, che i nostri sviluppatori risolvano i problemi per l’intero gruppo di ingegneria eimpida. Se ciò accade, probabilmente risolverà le cose al di fuori della nostra azienda, così’S come iniziano i nostri progetti open source. Di solito si tratta di ridimensionamento e resilienza. Cerchiamo di prenderlo adottato per primo internamente e poi vediamo se è qualcosa da cui la comunità può beneficiare.”
Per incorporare ulteriormente una cultura collaborativa piuttosto che un modello di proprietà del codice individuale, Eat detiene hackathon interne trimestrali per riunire gli sviluppatori nelle configurazioni di nuovi team: “Con la proprietà del codice di gruppo, perdi alcuni dei vantaggi come il modo in cui il codice potrebbe essere migliore perché gli sviluppatori sono più coinvolti o diventano esperti di dominio. Gli hackathon interni sono via per incoraggiare i nostri sviluppatori a lavorare su progetti di animali domestici personali.”
Bust Eat usa jira per tenere traccia del lavoro svolto e per coordinare le richieste di pull, quindi ogni richiesta di pull viene rivista Peer: “Un team è semi-indipendente, ma tutto è guidato da un requisito del prodotto globale. Una volta che hai superato il requisito globale, i team tendono ad auto-gestire per farlo. Quindi aperta una richiesta di pull è in genere all’interno di una conversazione di squadra. Quindi le recensioni tra pari sono un processo fantastico perché è l’apprendimento e la verifica. Abbiamo molta automazione: siamo davvero sul nostro CI per sì/no potrebbe essere distribuito.”
Jefcoate vede anche l’azienda’S Uso della programmazione delle coppie (il metodo per avere due programmatori che lavora insieme, linea per linea, su un progetto di codifica) come dimostrazione dell’antitesi della cultura della codifica individuale che l’azienda apprezza “Utilizziamo la programmazione di coppie per i nuovi sviluppatori e come pratica di sviluppo generale. Se sto lavorando a qualcosa di particolarmente nuovo, mi abbinerò a qualcuno e mi assicurerò che qualcun altro lo sappia. Quelli sono fatti in remoto, l’accoppiamento è uno dei migliori strumenti per ottenere la standardizzazione della qualità del codice.”
La cultura Dev Enterprise
Jakub Nesetril è fondatore e CEO di Apiaria, una suite di codifica della progettazione e documentazione API di strumenti. Questa settimana, APIAR ha rilasciato APIAR per Enterprise per aiutare le aziende più grandi a allontanarsi dalla proprietà del codice individuale quando creano prodotti e servizi API. Sempre più sempre, Nesetril vede le imprese che si occupano di più API che sono state scritte ciascuna in modi diversi e che ora devono avere strutture di codifica e nomenclature comuni, lavorate da più membri del team anziché da singoli sviluppatori assegnati.
Attraverso le migliaia di utenti apiari, Nesetril vede in genere singoli hacker o piccoli team che usano i loro strumenti open source in cui ogni sviluppatore può avere un approccio di proprietà del codice quasi individuale (principalmente perché sono l’unico programmatore). Man mano che i team crescono, iniziano a utilizzare il prodotto commerciale apiario e quando raggiungono 20 membri del team, passano ad Apiaria per i team. È in questa fase che l’infrastruttura organizzativa tende a coinvolgere un product manager per garantire che la codifica degli sviluppatori sia uniforme tra i vari progetti API.
Tra i clienti aziendali-una volta che i team raggiungono un numero di sviluppatori di 40-60 o più-un architetto API tende ad essere assunto. “Una delle cose con cui stanno lottando è un design coerente per le loro API, e questo’S Perché abbiamo costruito l’apiario per Enterprise,” Spiega Nesetril. Al centro del prodotto c’è uno strumento di guida di stile che aiuta le aziende a garantire che gli sviluppatori si conformano alle convenzioni organizzative come la nomenclatura e i formati di dati.
Nesetril sta vedendo i clienti aziendali abbandonare le vecchie nozioni di proprietà del codice individuale, soprattutto perché molti hanno ereditato un’eredità di API disparate attraverso la fusione e le acquisizioni o perché i casi d’uso individuali hanno spinto progetti iniziali di sviluppo dell’API all’interno di unità aziendali disconnesse.
“Storicamente, c’è stata una forte spinta per la proprietà del codice in quanto ha creato la responsabilità, ma ha anche creato difficoltà per la collaborazione. Vediamo molte più risorse condivise tra i team degli sviluppatori nelle imprese, in cui gli individui possono ruotare dentro e fuori da varie parti di progetti,” dice Nesetril.
“Il trucco con approcci collaborativi è che hanno bisogno di una singola versione di verità. Non tutti possono essere esperti su tutto all’interno dell’azienda, ma è fantastico quando possono lavorare su qualcosa internamente. Il più grande trucco con una singola versione di Truth Culture è arrivare in quel luogo senza limitare la collaborazione.” Nesetril ritiene che l’apiario per Enterprise sia l’ideale per le aziende che cercano di gestire più API senza creare una cultura che incoraggia gli sviluppatori a tornare a diventare esperti di codice individuale: “Dà loro questa mente che quando stanno lavorando su un’API, si inserisce in un livello proattivo di controllo e notifiche avanzate, allora ti permette di essere più sperimentale e ambizioso se non sei impantanato dalle paure di stai facendo di sbagliato, ad esempio, formati di data. Le persone possono iniziare a dare contributi significativi all’inizio.”
La proprietà del codice individuale muore una morte (semi-pubblica)
Che Raynaud-Richard’Il post sul blog S potrebbe effettivamente fare è segnare il tempo e la morte della proprietà del codice individuale. Già, le aziende a tutti i livelli – dalle startup all’impresa – stanno abbracciando approcci di sviluppo più collaborativi. Google Tools e Hipchat sono comunemente usati tra i team di sviluppatori a tutti i livelli e stanno emergendo nuovi prodotti per sviluppatori che aiutano a rassicurarsi un ethos più collaborativo. Di oggi’S Dev Environment, una strada di mezzo tra la specializzazione e le conoscenze generali deve essere perseguita in cui la più grande abilità di codifica è la costruzione di consenso asincrona: la capacità di cooperare e facilitare il trasferimento delle conoscenze in un team distribuito.
Feature Immagine tramite Flickr Creative Commons.
Quali sono i vantaggi della programmazione delle coppie per la condivisione delle conoscenze?
Полззййй знанияopa. Эксrnoе добавляюю вжные свения в ээ ээ ко quello. Ы мжете делать тж се са.
Это статья нового тиurante – пр е созropa ы ы и ипоозовали искуст иый иет иеет и eл иет. А ээсперты улчшаюю е, деля scope с воими ыыыым на.
Ес л ы хотите внт с с в влад, запросите приглашение, отмети osserva. Подробнеi
Ultimo aggiornamento su 27 agenti. 2023 г.
La programmazione delle coppie è una pratica di codifica collaborativa in cui due sviluppatori lavorano sulla stessa base di codice contemporaneamente, utilizzando un computer e una tastiera. Viene spesso utilizzato nelle metodologie di sviluppo software agile, come Scrum e XP, per migliorare la qualità del codice, la produttività e l’apprendimento. In questo articolo, esploreremo come la programmazione delle coppie può anche favorire la proprietà del codice e la condivisione delle conoscenze tra gli sviluppatori e quali sono alcune delle migliori pratiche per farlo funzionare in modo efficace.
Помогите другим, расзаз подробне (не менеgli 125 с мвл) отееа
Добавить схранить
Proprietà del codice
La proprietà del codice è il senso di responsabilità e responsabilità che gli sviluppatori hanno per il codice che scrivono e mantengono. Può avere effetti positivi sulla qualità del codice, poiché gli sviluppatori hanno maggiori probabilità di seguire standard di codifica, test di scrittura, refactor e correggi bug. Tuttavia, può anche avere effetti negativi, come la creazione di silos di conoscenza, la riduzione della collaborazione e la crescente dipendenza da individui specifici. La programmazione delle coppie può aiutare a bilanciare la proprietà del codice incoraggiando la proprietà collettiva, in cui l’intero team è responsabile della base di codice e nessuno è l’unico esperto o proprietario di una particolare funzione o modulo. La programmazione delle coppie può anche ridurre il rischio di perdita di conoscenza, poiché gli sviluppatori possono condividere le proprie competenze e approfondimenti con i loro partner e imparare gli uni dagli altri dall’altro.
Помогите другим, расзаз подробне (не менеgli 125 с мвл) отееа
Добавить схранить
Giava sviluppatore a Sky
- Копировать с ылку на влад
- Пожаловатьс на влл
Пожаловатьс
Пожаловатьс
Назад отправить
Спа и за увеомление! Ыы болшш не увидите этот влад.
La programmazione della coppia rimuove effettivamente la proprietà del codice completamente. Non esiste un vero proprietario di nessun pezzo di un ambiente programmato in coppia con una sana rotazione di coppie.
Condivisione della conoscenza
La condivisione delle conoscenze è il processo di trasferimento e scambio di informazioni, competenze ed esperienze tra gli sviluppatori. Può migliorare l’apprendimento, l’innovazione e la risoluzione dei problemi, oltre a favorire una cultura di fiducia e feedback. La programmazione delle coppie è un potente strumento per la condivisione delle conoscenze, in quanto crea un ambiente di apprendimento naturale e interattivo, in cui gli sviluppatori possono porre domande, spiegare i concetti, dimostrare tecniche e fornire feedback. La programmazione delle coppie può anche esporre gli sviluppatori a diverse prospettive, approcci e stili di codifica, che possono ampliare i loro orizzonti e migliorare le loro abilità.