Solo contro lo sviluppo del team e le conseguenze

7

Ho programmato per un po 'in diverse lingue. Non ho mai veramente studiato programmazione a scuola, né ho lavorato a una squadra di più di due persone (me inclusa). Tuttavia, sono stato uno sviluppatore professionista da oltre tre anni.

L'anno scorso, ho preso il mio primo progetto C # e alla fine è andato tutto bene. Non posso fare a meno di pensare che, poiché ho imparato e lavorato da solo, mi mancano alcuni concetti / suggerimenti / spigoli.

Per coloro che sono stati sviluppatori solisti prima di far parte di un team, puoi condividere la tua esperienza? Ti sei accorto che ti mancava qualcosa? Hai trovato difficile? Hai imparato più velocemente dopo?

    
posta Mathieu 03.03.2011 - 04:56
fonte

4 risposte

19

Posso garantirvi che chiunque che lavora in isolamento, specialmente quando scrive codice, ma con qualsiasi tipo di lavoro, crede, al 100%, che stia facendo molto meglio di loro in realtà sono.

Quindi, il primo vantaggio che troverai (e che ho trovato) quando si inizia a lavorare con una squadra è in realtà piuttosto umiliante. Lavorare con gli altri, soprattutto quando sono di talento, ma anche nella circostanza insolita in cui sei migliore di quello che sono in ogni possibile modo immaginabile, in un primo momento, evidenzierà i tuoi errori e le tue debolezze. Se sei capace e in grado di prendere bene le critiche (anche se provengono solo dalle tue stesse osservazioni sul tuo lavoro, come si vede lavorando con gli altri), l'esperienza può essere buona.

Questo primo vantaggio dura: man mano che lavori sempre di più con i team e con sempre più persone, riceverai sempre più feedback sui tuoi errori, che potrai utilizzare per correggere. Riceverai anche feedback positivi sui successi, ma, soprattutto nel mondo della programmazione, prevale il feedback negativo (nessuno apre un "anti-bug" nel sistema di tracciamento dei bug per dire che hanno guardato il tuo modulo e visto un algoritmo particolarmente piacevole implementazione).

A lungo termine, ci sono altre lezioni che imparerai, alcune delle quali sono molto difficili da imparare isolatamente:

  • Scrivere codice leggibile è difficile, soprattutto quando scrivi per altri programmatori, a diversi livelli di abilità, per capire
  • Scrivere codice che altri devono risolvere con errori è difficile. Aiutare gli altri a correggere i bug richiede abilità che potresti non avere
  • La gestione dei progetti è più importante in una squadra e attività che potresti non conoscere o trovare utili, da soli, diventano cruciali in una squadra. Come mantenere correttamente un ramo di rilascio pulito in CVS. Oppure prova il codice prima di effettuare il check-in
  • È più facile imparare nuove tecnologie quando c'è qualcuno in giro per spiegarle e rispondere alle tue domande su di loro mentre impari
  • Le interruzioni sono più frequenti in una squadra, che può essere sia divertente che frustrante. Imparerai come cambiare i contesti meglio quando lavori con più compagni di squadra
  • Lavorare in una squadra spesso richiede una struttura che non esiste quando si lavora da soli - da attività come la revisione del codice, a cose semplici ma non necessariamente ovvie come essere sempre al lavoro in tempo.
  • È più facile specializzarsi molto profondamente quando si è in una squadra, con i compagni di squadra fidati. Scoprirai che imparare qualcosa, poi insegnarlo agli altri e poi rispondere a domande dettagliate su di esso (e risolvere i problemi correlati), specialmente quando le persone con cui hai a che fare sono altri programmatori, ti spingono a livelli di abilità e conoscenza che eri non a conoscenza di
risposta data 03.03.2011 - 05:28
fonte
3

Sì, quando lavori da solo ti mancano i tuoi stessi errori / insidie, quindi non sembra un grosso problema, ma una volta che inizi a lavorare con le persone e le persone iniziano a suggerire / indicare cose che saranno come " Oh ya .... perché non ci ho pensato "

Fidati di me .... un ulteriore set di occhi vale SEMPRE quando si tratta di programmin.

    
risposta data 03.03.2011 - 05:38
fonte
3

Ci sono molti benefici che ottieni quasi subito dopo esserti unito a un team. Alcuni vengono dopo un po 'ma vengono senza dubbio.

  • Non sei più il ragazzo più intelligente nella stanza. È un'esperienza molto umiliante sapere che c'è qualcuno migliore di te nella programmazione quando lavori in una squadra. Ma , se sei uno dei pochi programmatori che lo amano (io sì!), ti assorbirai tutto ciò che puoi da loro.

  • All'improvviso hai bisogno di per imparare a leggere il codice di altri popoli. Non è più questione di raccomandare di estendere le tue conoscenze. O impari a farlo, o non lavorerai lì a lungo.

  • Sei esposto a diversi tipi di programmazione e, in quanto tale, impara cosa funziona e cosa no. Ciò che rende un buon commento, ciò che rende cattivo. Ciò che rende un metodo orribile con cui lavorare, e ciò che ti fa desiderare di usare quel metodo ogni volta che ne hai l'opportunità. Inestimabile, e nessun libro può insegnarti questo. :)

  • Abilità sociali. Imparerai lentamente come criticare il codice dei colleghi e come ascoltare quando qualcuno ti mostra un modo migliore.

  • Camminate con gusci d'uovo durante la scrittura del codice. Questo ti farà pensare di più quando nominerai una variabile. Scrivere un codice per te stesso è una cosa, è un'altra cosa completamente quando conosci che altri programmatori lo leggeranno.

L'ingresso in una squadra è stato un cambiamento importante per me, e sono sicuro che tutti qui saranno d'accordo sul fatto che nulla può sostituire quell'esperienza.

    
risposta data 03.03.2011 - 05:40
fonte
2

Molti dei miei migliori strumenti sono stati acquisiti da altri sviluppatori. Sono sempre stato molto attivo nell'apprendimento da Internet e dai libri, ma non sarei in grado di svolgere il lavoro che faccio attualmente se avessi passato quegli anni a imparare solo dal testo e dalle scuole. Ho imparato qualcosa da ogni sviluppatore con cui ho lavorato. A volte, hai imparato cosa non fare o come non comportarsi. Ti dà anche la possibilità di spiegarti. Se non hai mai spiegato come o perché il tuo codice funziona su un altro sviluppatore e poi hai ascoltato i loro consigli o dubbi, ti stai davvero perdendo. Secondo me è uno dei più fondamentali per lo sviluppo esercizi per programmatori Escludendo il raro super-genio, dubito seriamente che qualsiasi sviluppatore possa raggiungere un livello molto alto di abilità se lavora da solo in esclusiva.

Il mio primo vero programma di programmazione è passato dall'essere un programmatore solista in un piccolo negozio a lavorare con un team. Le mie capacità sono aumentate esponenzialmente da quella squadra e dalla mia interazione con loro. Ogni volta che ho cambiato squadra, c'è questo periodo iniziale in cui viene esplorata un'intera nuova area di pensiero e imparo cose ad un ritmo che sembra Neo che apprende il Kung Fu in Matrix.

    
risposta data 03.03.2011 - 06:28
fonte

Leggi altre domande sui tag