Devo accettare un lavoro se è necessaria la programmazione di coppia? [chiuso]


28

Mi è stato offerto un lavoro interessante, ma c'è un grande avvertimento per me: usano la programmazione in coppia.

Odio l'idea della programmazione in coppia, e probabilmente non sono adatto a questo: mi piace fare pause frequenti, odio vedere qualcuno programmare (vorrei spingere costantemente la coppia per codificare me stesso), devo essere pieno controllo della macchina su cui sto lavorando, mi piace lavorare ascoltando musica e in fondo non mi piace essere legato a qualcun altro. Non sono nemmeno una persona sociale.

In realtà non ho mai lavorato con la vera programmazione di coppia (oltre a poche volte per un breve periodo per aiutare qualcun altro o per risolvere un compito complesso insieme) ... quindi la programmazione di coppia è davvero così negativa? E dato il mio atteggiamento, dovrei rifiutare il lavoro o dovrei lasciare il mio attuale e provare?


Per le persone che lo hanno chiesto: sto cercando un lavoro in cui vengano utilizzati la progettazione e lo sviluppo formale, poiché odio il mio attuale lavoro in cui stiamo "programmando in natura". La società è molto interessata al mio profilo tecnico, quindi hanno insistito anche quando ho specificato che non ho mai lavorato con la programmazione in coppia e che probabilmente non mi piacerebbe (oltre ad essere un programmatore solitario incontrollabile, non mi piace e credo al concetto stesso di programmazione in coppia).


8
Beh, personalmente non mi sembri nemmeno un po 'appassionato, quindi non penso che dovresti farlo a meno che tu non voglia provare il vecchio college.
Paul Nathan,

1
Trovo che un compromesso tra la programmazione di coppia totale e la programmazione solista sia un bel mix. Ottieni il vantaggio di una seconda serie di occhi ma ottieni anche spazio e spazio per respirare l'altra metà del tempo.
Chris,

È utile quando sei nuovo in quel linguaggio di codifica ... puoi chiedere aiuto subito .. non devi aspettare che ppl risponda. SO: P
GoodSp33d

4
@Lorenzo, cosa hai deciso alla fine, e come è andata a finire?
Benjol,

5
@Benjol: ho provato per alcune settimane (nel frattempo sono stato in grado di mantenere in standby il mio lavoro esistente) e poi mi sono reso conto che odio davvero la programmazione delle coppie, quindi sono tornato al mio vecchio lavoro.
Wizard79,

Risposte:


16

Sulla base dei tuoi vari commenti qui, sembri avere una prospettiva / disposizione simile a me stesso sull'argomento. E io ho vissuto "pair programming". E di certo non mi unirei a una compagnia che mi obbligava a mordere uno scorpione. :)

Quello che consiglierei è: vai con il tuo intestino.

Se la società ti costringesse a fare la programmazione di coppia e sai che non vuoi farlo, non iscriverti.

Se ti daranno l'opportunità di dimostrare che puoi produrre un lavoro migliore più velocemente di qualsiasi altro dei loro attuali sviluppatori messi insieme, vai avanti e dimostralo.

Prima che tu decida per certo, sarei sicuramente d'accordo con la raccomandazione di chiedere di parlare con gli sviluppatori esistenti lì, e avere un'idea per loro come persone. (Probabilmente lo consiglierei per qualsiasi nuovo lavoro, indipendentemente dalle metodologie utilizzate.)


30

Indovina un po ': a nessuno piace inizialmente programmare in coppia .

Quando ho provato per la prima volta a programmare la coppia ero contrario all'idea e avevo tonnellate di obiezioni simili alla tua. Non mi piace guardare qualcun altro codificare, mi piace ascoltare la musica, sento che lavorerò più velocemente da solo, non voglio smettere e spiegarmi costantemente, ecc. Ecc. Ecc.

Poi l'ho provato. E indovina cosa? Fa ancora schifo . Avevamo tutti i tipi di problemi: volevo lavorare ore diverse rispetto all'altro ragazzo, avevamo impostazioni e scorciatoie da tastiera diverse , i nostri banchi non funzionavano molto bene per la programmazione delle coppie ecc.

Questo è andato avanti per circa una settimana. Durante quella settimana abbiamo riscritto l'intero sistema di login legacy per un'applicazione distribuita. Abbiamo dovuto imparare come funzionano alcuni problemi di threading seriamente difficili, capire come funzionavano i lavelli remoting, cambiare tonnellate e tonnellate di codice legacy per lavorare con il nostro nuovo modulo di login e praticamente fare alcuni dei codici più frenetici che ho dovuto fare in la mia carriera. Dopo una settimana, l'abbiamo implementato ... e tutto ha funzionato . Non un singolo bug . Neanche uno .

Questo è quando ho pensato che potrebbe esserci qualcosa in questa coppia di sciocchezze di programmazione. Abbiamo iniziato a fare più programmazione in coppia. Abbiamo anche iniziato a forzare tutti a lavorare in coppia. Ha oscillato. Probabilmente ho imparato di più in un mese di quello che ho fatto negli ultimi 2 anni . Le altre questioni non sono andate via. A volte rimarrai bloccato con una coppia che non ti piace. Succederà. A volte avrai difficoltà a trovare orari di lavoro sovrapposti. A volte ti consigliamo di lavorare da solo. Ma i vantaggi della programmazione in coppia sono semplicemente incredibili.

Da allora ho sempre cercato di fare quanta più programmazione possibile di coppia. È semplicemente il modo migliore di apprendere. Questa società obbliga tutti a fare la programmazione di coppia? Dove mi iscrivo? Mi sembra che siano davvero illuminati e ti troverai in un ambiente di lavoro davvero intenso. Eccezionale.

Detto questo, assicurati che le coppie vengano ruotate spesso. Non vuoi rimanere bloccato a sviluppare con un altro sviluppatore per mesi e mesi - impazzirai. Siamo tutti umani, dopo tutto. Inoltre, controlla che questa sia una pratica in corso da un po 'di tempo. Se non lo è, non è la fine del mondo, ma se è una pratica accettata è una grande luce verde.

Fidati di me, vuoi lavorare per un'azienda del genere.


5
Suggerirei che l'OP riuscirà in un'azienda come questa solo se è aperto a sapere che in realtà non è bravo a programmare come pensa di essere, e poi arriva a voler imparare come migliorare.
dash-tom-bang,

5
Fondamentalmente mi hanno raccontato la tua stessa storia esatta. Le persone lì sono state di grande aiuto e riconosco che la codifica in questo modo oscilla e migliora le tue abilità. Ma questo mi stava facendo impazzire. Non potevo vivere con tutti i limiti della mia "libertà personale" e "spazio abitativo" (scegliendo i tempi, ascoltando la musica, la configurazione della tastiera, la combinazione di colori nell'IDE, ecc.), Quindi dopo alcune settimane mi arrendo.
Wizard79,

6
"Dopo una settimana, l'abbiamo implementato ... e tutto ha funzionato. Non un singolo bug. Neanche uno.": Non ho riscontrato una differenza significativa nel numero di bug tra l'utilizzo della programmazione in coppia e il non utilizzo. Discutere i punti essenziali con i tuoi colleghi e poi scrivere da soli può essere altrettanto efficace. La programmazione in coppia non è un proiettile d'argento.
Giorgio,

Di recente ho completato il mio primo progetto utilizzando la programmazione in coppia con uno sviluppatore più senior del team. Abbiamo condiviso il pilotaggio e il copilota di compiti complessi in modo abbastanza uniforme ed entrambi abbiamo imparato alcune cose l'uno dall'altro. Ci siamo divisi per compiti banali, banali o "a piastre di caldaia".
Dib,

2
"Indovina un po '- all'inizio non piace a nessuno programmare in coppia.": Indovina un po' - non mi è piaciuto dopo averlo fatto per due anni di seguito. Ho lasciato quella società e nella mia nuova società / squadra nessuno vuole fare la programmazione di coppia e siamo tutti molto felici e molto più produttivi. Nella mia esperienza, la programmazione in coppia è utile solo per la formazione dei principianti, per il micromanage o per le persone che non sono in grado di lavorare da sole.
Giorgio,

18

La programmazione delle coppie è un ottimo strumento! Può essere molto più efficiente - due teste sono meglio di una - e un ottimo modo per imparare nuove tecniche. Naturalmente, ci sono anche altri vantaggi. Ma, se non lo stai acquistando, non otterrai nulla da esso. Dato il tuo atteggiamento, sembra che non ti adatteresti affatto e probabilmente sarebbe una perdita di tempo. Sembra che la tua mente sia già decisa prima ancora di provarci.


7
Due teste sono anche due volte più costose, e questo è il grande svantaggio =) Ma questo riguarda la compagnia non tu
Thomas Bonini,

7
-1 La programmazione delle coppie è ottima? È la cosa peggiore mai accaduta nella mia vita lavorativa!
Mago,

4
La programmazione delle coppie deve essere utilizzata per compiti difficili. Questo è quando stai risparmiando tempo e denaro. Altrimenti è una specie di spreco. Mi piace comunque.
Joe Phillips,

3
Penso che dovrebbe anche essere usato come uno strumento di mentoring per i "greenhorns" per aiutarli fino a quando non si impadroniranno della programmazione reale.
Muad'Dib,

3
@Kop: non sono d'accordo. L'obiettivo della programmazione di coppia è precisamente che due teste insieme creano un software migliore delle stesse due teste ciascuna da sole, mentre iniziano altrettanto costose. (Ovviamente, se non stai raggiungendo tale obiettivo, non ne vale la pena).
Sergio Acosta,

10

Diamo un'occhiata a questo da un altro POV: data la tua predisposizione, probabilmente stai facendo un disservizio al datore di lavoro. Certamente non vogliono assumere qualcuno che "odia" una delle loro pratiche di sviluppo. Li hai informati della tua prospettiva dato un ambiente così collaborativo? In caso contrario, potresti potenzialmente travisarti.

Come datore di lavoro, sarei piuttosto frustrato di assumere qualcuno che sapeva, entrando, che non sarebbero stati contenti delle pratiche di sviluppo che avevamo messo in atto. È una ricetta di malcontento e frustrazione per tutti i soggetti coinvolti.


Modifica Dato che capiscono da dove vieni (e sono disposti ad affrontarti, come hai menzionato nel tuo commento), perché non discutere di come ti senti con alcuni sviluppatori dell'azienda? È possibile che saranno in grado di rispondere a qualsiasi dubbio o pregiudizio che hai nei confronti di PP. È anche importante per loro sapere che non sei terribilmente appassionato dell'idea poiché lavorerai con loro a tempo pieno.

Ti darà anche l'opportunità di imparare qualcosa sulle persone con cui lavorerai così da vicino.

Se tutti fossero d'accordo, raccomanderei sicuramente PP per gli stessi motivi menzionati nelle risposte qui. Hai una responsabilità immediata per ciò che stai scrivendo; un altro set di occhi sul tuo codice colpirà probabilmente difetti o punti problematici che altrimenti potresti perdere; ottieni una grande esposizione alla prospettiva di qualcun altro sulla programmazione (e puoi fornire la tua esperienza); e il risultato finale è molto spesso molto meglio di quanto ti aspetteresti.

Apprezzo il tuo pregiudizio nei confronti della PP; ci sono volte in cui non voglio altro che sedermi al computer a risolvere un problema, e la PP diventa frustrante (sono anche un introverso, il che significa che la PP mi fa sentire un po 'più svuotato alla fine della giornata) perché qualcuno è sempre lì. Detto questo, i risultati, nella mia esperienza, parlano da soli e sono molto più amichevole con esso su base regolare.


Ne ho parlato con il datore di lavoro e mi hanno chiesto di provare.
Wizard79,

2
@Lorenzo, fantastico. È così importante rappresentarti con precisione in un datore di lavoro, e se sono disposti a farti provare, allora è qualcosa da considerare.
bedwyr,

ecco perché non ho già rifiutato il lavoro, tuttavia lasciare il lavoro attuale per qualcosa che probabilmente non mi piacerà molto mi spaventa ...
Wizard79,

8

Ho provato a programmare la coppia e l'ho odiato. Condivido quasi tutti i dubbi e le preoccupazioni che hai espresso contro di esso. Mi sono dimesso proprio per questo motivo.

Il mio consiglio personale è sempre contro la coppia, e dato il tuo atteggiamento ti consiglio vivamente di non provarlo nemmeno.


4
+1 per onestà. :) Non è per tutti, anzi.
dash-tom-bang,

2
@Wizard: Ad alcune persone piace la programmazione in coppia, io no. Preferisco discutere in anticipo la struttura del codice, quindi fare la codifica, quindi fare una revisione del codice. Questo mette un filtro tra me e i miei colleghi in modo che scambiamo solo informazioni pertinenti.
Giorgio,

1
@Wizard: Trovo che con la programmazione in coppia si discuti di troppi dettagli insignificanti: c'è molto rumore che rallenta il tuo treno di pensieri e ti rende meno efficiente. Altre persone lo trovano stimolante e gradiscono il feedback non strutturato ma continuo che ottengono. Alcune persone dicono che io sono un individualista, mi oppongo al fatto che tu possa lavorare come una squadra e comunque essere strutturato, allo stesso modo in cui una squadra di calcio occupa l'intero campo da gioco invece di andare ovunque sia la palla. Comunque, penso che sia una questione di come funziona ogni programmatore e non tutti i programmatori lavorano allo stesso modo.
Giorgio,

5

Odio l'idea della programmazione in coppia

...

In realtà non ho mai lavorato con la programmazione di coppia

Devi prima chiarirlo.

Non puoi dire che non ti piace qualcosa senza provarlo. Personalmente non mi è piaciuta la salsa di pomodoro fino a quando non l'ho assaggiata.


2
La salsa di pomodoro è solo una zuppa di pomodoro senza le spezie ... O il ketchup senza zucchero e aceto. :)
greyfade,

5
Non l'ho mai provato ma conosco l'idea e il concetto di programmazione a coppie e non mi piace. Non devi davvero essere morso da uno scorpione per sapere che non ti piacerà!
Wizard79,

1
Come fai a saperlo? Potresti amare essere morso da uno scorpione! ;)
Peter Boughton,

Sono sicuro che avete capito bene il messaggio

2
Pierre, c'è una differenza tra comprensione e accordo, e solo perché hai erroneamente estrapolato il sapore del sugo di pomodoro non significa che Lorenzo stia facendo lo stesso con la programmazione delle coppie. : P Certo, potrebbe essere, potrebbe dipendere esclusivamente dalle persone con cui ha lavorato che si sente così, ma è certamente possibile determinare se questo è il caso senza sperimentare una programmazione di coppie "vere".
Peter Boughton,

5

Sembra che tu non sia assolutamente entusiasta di fare la programmazione in coppia, ma il fatto che tu abbia posto la domanda mi farebbe credere che stai mantenendo una mente aperta ad essa.

Perché non essere sincero con il datore di lavoro e fargli sapere come ti senti. Se pensano ancora di essere il candidato che desiderano, puoi suggerire una prova di 2 settimane (o qualunque periodo di tempo funzioni) per vedere se il tuo sentimento iniziale è valido o meno. Se il datore di lavoro rifiuta, non sembra che tu abbia davvero voluto iniziare il lavoro, quindi non si tratta di una grande perdita. Se il datore di lavoro è d'accordo, almeno conoscerai definitivamente in un modo o nell'altro il lavoro successivo.


1
Sì, ma il problema è che ho un lavoro a tempo pieno permanente nella più grande azienda italiana, in modo da non lasciare quel lavoro "solo per una prova", anche se il lavoro corrente fa schifo ...
Wizard79

3
No, non vorrei farlo neanche io.
Walter,

4

Di recente sono andato a un ritiro di codice di programmazione di coppia. Non lo uso al lavoro e sono molto nuovo. Sono come te, nel senso che mi piace avere il controllo della mia macchina. Numerosi programmatori che programmano in coppia molto hanno continuato a sottolineare che la programmazione in coppia migliora significativamente le proprie capacità di codifica perché si ottiene un feedback costante, il codice viene costantemente rivisto e si ha meno probabilità di scrivere codice hacky. Sono d'accordo con il fatto che si tratta di un cambiamento significativo per qualcuno che non ha mai programmato una coppia prima. Tuttavia, è difficile avere una forte opinione in merito a meno che non lo provi per un lungo periodo di tempo.


2
Quando devo aiutare un collega, o anche stare accanto a lui per un paio di minuti, devo tenere la bocca chiusa, altrimenti inizierei a criticare ogni singola riga di codice ...
Wizard79,

@Lorenzo quindi stai bene facendo critiche ma non le ricevi?
dash-tom-bang,

@ dash-tom-bang: in realtà evito di dare critiche, o criticherei ogni riga di codice ...
Wizard79

2
Se cedere alle tue critiche renderebbe il codice sostanzialmente migliore, dovresti darle. Se i suggerimenti delle tue critiche non hanno alcun impatto positivo, dovresti capire perché ti senti obbligato a realizzarli.
dash-tom-bang,

3

Sono un po 'germofobo. Odio l'idea che qualcuno tocchi il mio mouse e la tastiera. Odio l'idea di toccare il mouse e la tastiera di qualcun altro. Faccio molta strada lungo il perimetro del complesso di uffici piuttosto che attraversare il cortile per raggiungere la caffetteria solo per non dover toccare le maniglie delle porte.

D'altra parte, mi piace il concetto di programmazione in coppia. Potrei imparare qualcosa di interessante. O potrei istruire. Ad ogni modo, sarebbe una bella esperienza.

La mia proposta (per me stesso): accoppiare la programmazione a distanza. Utilizza Office Live Meeting e condividi lo schermo. Amico sta alla sua scrivania, io resto alla mia.


Perché non portare semplicemente il tuo mouse e la tua tastiera? O lasciare due collegati alla stessa macchina?
Alex Feinman,

1
@Alex, forse. Ma generalmente sento che l'intero spazio di lavoro è stato contaminato. Non chiedermi perché. Se potessi spiegare la follia, non sarebbe folle.
Anthony Pegram,

3
Reaaaaaly cavi USB lunghi? :)
Alex Feinman,

1
Ma questo richiede ancora che due persone siano costantemente sincronizzate, cosa che non mi piace davvero.
Wizard79,

2

Esiste un modo per programmare una coppia in modo indipendente, per sentirsi meglio? Sembra che ci siano persone a cui piace la programmazione di coppia e persone che non lo fanno, e prima di impegnarti in un lavoro che utilizza la programmazione di coppia, vuoi davvero avere la sensazione di poterlo fare.

In alternativa, puoi parlare con il responsabile delle assunzioni o con qualcuno in una posizione simile e parlarne. Potrebbero essere utilizzati per un programmatore non accoppiato. Potrebbero avere esperienza con persone che si sentono negative sulla programmazione delle coppie. Spiega al manager perché non ti senti a tuo agio con la programmazione in coppia, ma sottolinea che non hai esperienza e sei molto interessato al lavoro.

In questo momento, sei nella migliore posizione negoziale possibile con l'azienda: hanno offerto e non hai ancora accettato. La società ha interesse ad assumerti ed è molto improbabile che ti lasci solo perché devi prima parlare con qualcuno all'interno dell'azienda.


0

Se conosci già la tecnologia, la odierai. Ma se non conosci la tecnologia, la imparerai con PP. Se non lo sai e non fai PP, ti siederai lì e non farai nulla.

Il caso peggiore è se entrambe le parti lo sanno e si trasforma in una gara o in una gara di pipì.


2
Ciao oregon111, è fantastico che tu stia cercando di rispondere alle domande, ma hai scelto un tag errato per rispondere alle domande: il tag [jobs] generalmente contiene molte cattive domande che non siamo ancora riusciti a chiudere. Invece di provare a rispondere a domande morte da tempo in un tag specifico, considera di esaminare le domande più recenti che arrivano e di vedere a quali di queste puoi rispondere.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.