it-swarm.it

Non programmo nel tempo libero. Questo mi rende un cattivo sviluppatore?

Molti blog e consigli sul web sembrano suggerire che per diventare un grande sviluppatore non basta fare il proprio lavoro quotidiano. Ad esempio, dovresti contribuire a progetti open source nel tuo tempo libero, scrivere app per smartphone, ecc. In effetti molti di questi consigli sembrano suggerire che se non ti piace programmare abbastanza per farlo tutto il giorno, allora sei probabilmente nella carriera sbagliata.

Questo non suona vero con me. Mi piace il mio lavoro, ma quando torno a casa dall'ufficio non sono in vena di tornare subito al computer e iniziare a programmare fino all'ora di andare a letto. Ho solo un certo numero di ore di tempo libero ogni giorno e preferirei spenderli in altri hobby, vedere amici o andare fuori piuttosto che davanti al computer.

Mi viene un calcio fuori dalla programmazione e ogni tanto lavoro in giro fuori dal lavoro. Sono impegnato nel mio sviluppo personale e passo il tempo a leggere blog e libri di tecnologia come un modo per continuare a imparare e migliorare. Ma ciò non si estende al mio desiderio di utilizzare tutto il mio tempo libero per la programmazione.

Questo significa che non sono uno sviluppatore software "vero" nel cuore? È possibile diventare un buon sviluppatore di software senza fare extra al di fuori del proprio lavoro? Sarei molto interessato a sentire cosa ne pensi.

Aggiornamento: grazie a tutti per i vostri commenti e risposte. Un sacco di buoni pensieri e consigli!

387
not-my-real-name

IMO questo atteggiamento proviene da persone che hanno lavori orribili che succhiano l'anima, combinati con capacità di gestione del tempo piscio-poveri. Se stai praticamente scrivendo moduli Web tutto il giorno, esci e trova un lavoro più impegnativo, oppure inizia il tuo.

Ecco il punto. Un musicista da concerto (violoncellista/pianista/qualunque cosa) si eserciterà al massimo 6 ore al giorno. La maggior parte pratica solo poche ore al giorno. ai massimi livelli

La gente dice di più sul programma perché impari di più, ma questa è una cortina fumogena. 8 ore al giorno è abbondanza .

Il progresso è [~ # ~] non [~ # ~] lineare. È logaritmico:

enter image description here

L'unica ragione per cui un musicista potrebbe esercitarsi per più di 3 ore è che devono spremere l'1% in più che quelle ore gli danno. Se pensi che ti riguardi, risolvendo un problema risolto da CS due decenni fa, hai un complesso prima donna da avviare.

Ho già lavorato in aziende di pentole a pressione e, credetemi, l'effettiva quantità di lavoro svolto da quei ragazzi non è migliore di un'azienda come 37signals che pone vincoli sulla quantità di lavoro: http://37signals.com/svn/posts/996-why-i-love-working-with-family-people

Quello che finisce per succedere è che potresti essere di fronte a un computer per 10-12 ore e in ufficio per altre 2, ma questo non include il pranzo di 90 minuti che hai preso, le 2 ore che hai trascorso sfogliando la discussione forum e l'ora in cui hai dovuto giocare a uno dei tanti giochi presentati in ufficio (biliardino, biliardo, yada ...).

Guarda indietro a quel grafico. Ora torna da me.

La tua mente in realtà ha l'opportunità di espandersi molto di più se la coinvolgi in qualche altra attività: Impara a suonare uno strumento . Impara una lingua straniera . Meglio ancora uscire e fare un po 'di esercizio fisico e connettersi con persone reali .

Sulla natura logaritmica della produttività:

Nel rinomato studio del 1993 di giovani violinisti, il ricercatore Anders Ericsson ha scoperto che i migliori si sono tutti esercitati allo stesso modo: al mattino, con tre incrementi di non più di 90 minuti ciascuno, con una pausa tra i due. Ericcson ha trovato lo stesso schema tra altri musicisti, atleti, giocatori di scacchi e scrittori.

Per la produttività reale, Less is Truly More

Questo è in realtà un principio ben noto nel mondo degli affari, sono sorpreso che più programmatori non ne abbiano mai sentito parlare.

Aggiornamento: ulteriori informazioni sullo studio Ericsson.

L'intera idea che ci vogliono 10.000 ore/10 anni per diventare esperti in realtà deriva dagli studi condotti da Ericsson, non da Malcom Gladwell.

Come tutti sappiamo, puoi avere 1 anno di esperienza ripetuto 10 volte ... quindi solo avere il culo al posto per 10 anni non è idoneo. Ciò che qualifica qualifica è ciò che Ericsson chiama pratica deliberata .

Ha trovato questo principio valido in atletica leggera, musica, scrittura, scacchi e matematica. Definisce inoltre la pratica deliberata come così faticosa, che anche ai livelli più alti puoi fare solo circa 4 ore al giorno . Altrimenti soffrirai di sovrallenamento o esaurimento. Ancora una volta, riconosce che ci sono rendimenti decrescenti per la pratica deliberata, fino a circa 4 ore.

Per quanto riguarda il fatto di non avere un lavoro buono/stimolante:

Fesserie. O ottieni un lavoro migliore, o ecco un'idea: trasforma il tuo attuale lavoro in qualcosa che non sia non , almeno in questo momento.

Uno dei migliori programmatori che ho conosciuto ha iniziato a lavorare come programmatore di manutenzione su un sistema legacy che consisteva in dozzine di programmi e centinaia di migliaia di righe di codice. La maggior parte dei quali era stata violata nel corso degli anni così tanto che avresti dovuto dire che non vi era più alcun progetto coerente.

Questo è stato praticamente un lavoro senza fine, in un vicolo cieco. La direzione voleva che ti abbassassi la testa e risolvi i maledetti bug. I bravi sviluppatori stavano lavorando al progetto greenfield. Le persone sono venute qui per restare fuori dai giorni rimanenti fino a quando non si sono ritirati, o hanno acquisito qualche anno di esperienza prima di passare allo sviluppo di nuove applicazioni. Considerando che la maggior parte dei programmatori si lamenterebbe della mancanza di sviluppo della carriera, o dell'opportunità di apprendere nuove cose, o di non avere progetti interessanti su cui lavorare, o più in generale di lamentarsi nessuno che li abiliti , questo ragazzo si è semplicemente seduto e ha fatto il lavoro che doveva essere fatto.

E nel corso di 2 anni, aveva trasformato quel sistema da un buggy di codice spaghetti in qualcosa che era una cosa di bellezza e funzionava come un orologio svizzero. La trasformazione è stata così completa che il vicepresidente della divisione ha iniziato a prestare sempre più attenzione al progetto esistente e ha iniziato a mettere in discussione il valore del progetto greenfield. Sebbene non avesse un titolo, gli addetti alle operazioni andarono da lui come leader de facto del gruppo. Quando me ne sono andato, il vicepresidente stava parlando della creazione di un nuovo ruolo per lui come architetto di sistemi ...

Non sono sicuro di cosa gli sia successo dopo, ma mi ha insegnato un paio di lezioni molto importanti:

  1. Il tuo lavoro è quello che fai, e ci sono problemi interessanti da risolvere ovunque . Se odi scrivere schermate CRUD, risolvi il problema generandole automaticamente.

  2. Non sederti in attesa di opportunità per venire da te. È probabile che non lo faranno mai.

446
red-dirt

C'è di più nascosto in questo messaggio.

A molti programmatori entusiasti piace esplorare le cose, sperimentare, seguire le loro idee, è così che impariamo e otteniamo le nostre capacità e visione.

Di solito non riesci a seguire i tuoi interessi durante l'orario di lavoro. Fai solo le cose che ti viene detto di fare e basta. Solo pochi di noi hanno la fortuna di fare sul lavoro ciò che faremmo personalmente anche se non pagato.

Pertanto, se non stai facendo nulla in più, non stai sviluppando il tuo potenziale. E questo è esattamente il problema.

150
user8685

Non ti rende un cattivo sviluppatore, ma sfortunatamente, devi ancora competere con quelli che lo fanno.

Leggi questo, da Blog di Seth Godin :


irragionevole

È irragionevole alzarsi dal letto in una giornata di neve, quando la scuola è stata cancellata, e trasformare i tempi di inattività in sei ore di lavoro in un laboratorio di fisica del credito extra.

È irragionevole lanciare un prodotto tecnologico che salta la curva di sviluppo di nove mesi, portando la prossima generazione molto prima di concorrenti più ragionevoli.

È irragionevole per una società di autotrasporti rispondere al telefono al primo squillo.

È irragionevole avviare una nuova società senza la rassicurazione che il denaro può portare.

È irragionevole aspettarsi che uno studio medico abbia un personale della reception piacevole e disponibile.

È irragionevole abbandonare un buon concerto nell'economia di oggi, anche se si desidera fare qualcosa di coraggioso e originale.

È irragionevole per gli insegnanti aspettarsi che possiamo consentire ai bambini delle città svantaggiate di fare bene al liceo.

È irragionevole trattare i tuoi colleghi e concorrenti con rispetto, vista la pressione che stai subendo.

È irragionevole aspettarsi che chiunque tranne una grande donna, qualcuno con sia unità che vantaggi, possa fare qualcosa di importante in un mondo in cui il mazzo è impilato contro la gente comune.

È irragionevole dedicare anni della tua vita a creare un prodotto che la maggior parte delle persone non apprezzerà mai.

Fortunatamente, il mondo è pieno di persone irragionevoli. Sfortunatamente, devi competere con loro.

70
Ryan Hayes

Per rispondere alla domanda posta: Non programmare nel tempo libero non ti rende uno sviluppatore cattivo, tuttavia, programmare nel tuo tempo libero può renderti uno sviluppatore migliore.

Programmare nel tuo tempo libero sicuramente non danneggerà le tue abilità, ma non dovresti sentirti obbligato a farlo. La programmazione sembra essere un campo relativamente unico perché per molte persone è sia il loro lavoro che il loro hobby, quindi si divertono a programmare nel tempo libero.

57
shortkaik

No, non ti rende un cattivo programmatore. A seconda di ciò che fai, potrebbe renderti un programmatore migliore a lungo termine. All'inizio della tua carriera può influenzare la velocità con cui apprendi la varietà di abilità di cui hai bisogno. Tuttavia, potresti raccogliere competenze e informazioni che ti aiuteranno a lungo termine. Fare un po 'di esercizio fisico non farebbe male.

C'è una buona dose di ricerca che mostra sbirciatine delle prestazioni di circa 40 settimane lavorative. Mentre possiamo essere in produzione per un periodo di tempo lavorando più ore, a lungo andare perdiamo efficienza. La ricerca che ho visto mostra che le persone che lavorano 80 settimane sono produttive quanto quelle che lavorano 40 ore alla settimana.

Ci sono alcune cose su cui puoi riflettere sulle ore di spegnimento (o accensione) che potrebbero aiutarti a ottenere prestazioni migliori:

  • Cosa fai? Puoi farlo meglio? Devi farlo?
  • Cosa stai imparando? Cosa devi imparare?
  • In quali problemi ti imbatti? Chi è il migliore per risolverli? Cosa sai fare?
23
BillThor

È possibile diventare un buon sviluppatore di software senza fare extra al di fuori del proprio lavoro?

Decisamente.

Potrebbe volerci più tempo che se dovessi passare ore extra a perfezionare la tua abilità. Ho anche trovato difficile dedicare abbastanza tempo all'auto-miglioramento se sono impiegato a tempo pieno e faccio poca programmazione al di fuori dell'orario di lavoro.

Quando ero più giovane, ho inserito molto di più tempo nell'apprendimento di quello che faccio ora. I concetti che uso quotidianamente sono profondamente radicati a questo punto, e sembra più facile acquisire ulteriori conoscenze con questa esperienza alla mia portata.

I "bravi" programmatori sembrano dedicare più ore in più perché sono ossessivi per natura, tendono verso la fine antisociale dello spettro e godono sinceramente della programmazione e l'intero ciclo di risoluzione dei problemi.

15
quentin-starin

Nel grande schema delle cose si tratta di trovare il giusto equilibrio nella vita.

Ciò che è importante è se ti piace programmare e se continui ad apprendere indipendentemente dal livello in cui ti trovi. Indipendentemente dal fatto che tu programmi fuori dal lavoro, non ti rende automaticamente un programmatore "buono" o "cattivo".

Per dare una prospettiva personale, ho programmato per circa 25 anni (prima da bambino, poi professionalmente). Lo adoro assolutamente.

Tuttavia, non programma quasi mai al di fuori del lavoro. Questo ha a che fare con diverse cose:

  • Sono molto fortunato nel fatto che al lavoro riesco a fare ciò che amo, ogni giorno, tutto il giorno.
  • Molto semplicemente, ci sono altre cose nella vita e ci sono solo tante ore al giorno.
13
NPE

Puoi diventare un buon programmatore semplicemente programmando durante il lavoro, soprattutto se gestisci bene la tua carriera. Tuttavia, anche i più grandi programmatori programmano durante le ore di inattività. Detto questo, una persona che sceglie buoni lavori con molte opportunità di apprendimento, usa bene il proprio tempo di lavoro, e così via sarà un programmatore migliore di qualcuno che codifica a casa perché non riesce a trovare lavori che offrano sfide interessanti durante giornata lavorativa.

Mentre la codifica a casa è preziosa, direi che massimizzare il valore del tuo ambiente di lavoro (imparando dai colleghi, scegliendo buoni lavori, gestendo la tua carriera in modo aggressivo) è spesso ancora più prezioso. I più grandi programmatori fanno entrambe le cose, inoltre hanno grandi attitudini verso l'apprendimento e il tutoraggio degli altri.

9
Ethel Evans

Il vero problema è se un nuovo sviluppatore sta programmando abbastanza (su problemi abbastanza impegnativi) per superare alcune centinaia di migliaia di righe di codice di pratica e diventare un programmatore decente.

In teoria questo può essere fatto al lavoro, nel tempo libero o in entrambi i modi. La pratica deve essere in qualche modo auto-diretta, quindi puoi imparare quello che devi imparare. Ciò significa che il lavoro è un po 'flessibile.

Molte volte i lavori entry-level sono un mucchio di correzioni di bug o altri lavori che non ti insegneranno a essere bravo. Quello che devi fare è scrivere un sacco di codice da zero, e quel codice probabilmente sarà cattivo. È difficile per i datori di lavoro pagare per questo. Ecco perché le persone finiscono per fare un progetto open source sul lato o lanciare una startup o altro.

Quando la gente dice che devi programmare nel tuo tempo libero, penso che significhi davvero che devi affrontare anni di pratica significativa all'inizio. Devi fare tutto il necessario per ottenere la pratica e imparare a scrivere e mantenere una grande base di codice da zero. Se nessuno ti paga per scrivere da zero una serie di progetti probabilmente disastrosi, allora il tempo libero è l'unica opzione.

Se hai già praticato la pratica da giovane e sei diventato un buon programmatore, non credo che perderai le abilità di base se le mantieni dalle 9 alle 5 in seguito. Successivamente è più una questione di stare al passo con le nuove tecnologie che non richiedono molto tempo.

Tuttavia, è un raro lavoro entry-level che ti darebbe da solo la quantità e la qualità della pratica per diventare un buon programmatore. Un nuovo sviluppatore deve prendere l'iniziativa per apprendere, non semplicemente uscire in un lavoro entry-level facendo attività entry-level.

Sarebbe davvero difficile diventare un buon programmatore da zero se avessi già una famiglia e stavi enfatizzando pesantemente l'equilibrio tra lavoro e vita privata. Proprio come sarebbe davvero difficile diventare un medico o diventare un musicista virtuoso o qualsiasi altra cosa in quella situazione. C'è una ragione per cui le persone tendono a superare le migliaia di ore di pratica quando sono più giovani piuttosto che quando sono più grandi.

7
Havoc P

Ci vogliono 10.000 ore di sforzo per diventare un esperto in qualsiasi cosa. [Michael Gladwell, "Outlier"]

Quindi, fare un lavoro extra prima di arrivare a quel livello ti accelererà lungo il percorso verso il vero status di Esperto.

Una volta superato quel livello, quindi passare più tempo avrà rendimenti piccoli/decrescenti.

5
Jorgen Thelin

Se trascorressi del tempo nei prossimi sei mesi a sviluppare un gioco di base nel mio tempo libero e tu no, e supponendo tutte le altre cose sono uguali (non lo sono mai), chi di noi ne saprebbe di più? Chi di noi avrebbe più abilità ed esperienza?

Questo effetto sarebbe cumulativo, poiché le prime conoscenze fuori orario alimenterebbero il nuovo lavoro e le nuove conoscenze fuori orario.

Ed è per questo che la gente consiglia di programmare nel tempo libero, per quanto posso dire.

5
Paul Nathan

Tra grande e cattivo ci sono molti livelli nel mezzo. Non puoi diventare un grande sviluppatore facendolo solo circa 8 ore al giorno, possibilmente lavorando su problemi da un campo molto limitato.

Se il tuo lavoro è abbastanza vario, puoi diventare "decente" o "realizzato" o qualunque aggettivo tu preferisca, ma per essere un grande sviluppatore dovresti essere un po 'mentale, temo.

Un altro motivo per fare la programmazione hobby è che in un lavoro spesso devi aderire a standard non ottimali e scendere a compromessi in generale e anche quando impari una cosa nuova, potresti non essere autorizzato a usarla.

E ancora un altro, ancora più prosaico è che qualunque codice tu scriva sul lavoro è di proprietà del tuo datore di lavoro. Non puoi tornare ad esso e imparare dai tuoi vecchi errori anni dopo, quando lavori per qualcun altro.

5
biziclop

Non dovresti guardarlo come "Mi rende un cattivo programmatore" perché come ogni abilità più pratica rende solo uno migliore.

Quindi, se vuoi essere migliore di quello che sei attualmente e apprendere nuove tecnologie e domini che il tuo lavoro non consente, è qui che lo sforzo extra e il tempo spesi sono utili.

Ma dedicare più tempo alla programmazione (solo per dimostrare a qualcuno che si codifica in più) non significa necessariamente diventare un buon programmatore a meno che non si impari ciò che si fa e si faccia qualcosa di diverso o si migliora ciò che già si conosce, piuttosto che tagliare/copiare/incollare alla cieca e mettendo insieme hack. Mettere ore extra e fare la stessa cosa più e più volte in nessun modo penso che ti aiuterà a migliorare.

4
Simon

Durante il giorno la tua programmazione è scommesse brevi. Ci sono soldi da guadagnare, sai esattamente quanto e per cosa, e non hai molto più da guadagnare di una busta paga.

Di notte stai lavorando a scommesse lunghe, idee folli che non funzioneranno affatto. Questi sono i progetti che ti catapulteranno fuori dal rango e dai file. È così che diventi l'inventore di PHP piuttosto che la scimmia codice che lo utilizza.

Intervisto molti programmatori e se hanno fatto cose strane interessanti al di fuori dell'orario di lavoro è un semaforo istantaneo. È sorprendentemente raro.

Anche se lo dirò: una volta un ragazzo che ha fatto un sacco di cose interessanti al di fuori dell'orario di lavoro si è rivelato essere un totale disastro di un noleggio. Sono ancora sconcertato da quel ragazzo.

4
lucas

Per rispondere alla tua domanda: No, non ti rende un cattivo sviluppatore.

Tuttavia, potrebbe rendere la tua vita professionale un po 'più difficile. Se hai un lavoro in cui impari costantemente nuove tecnologie che ti aiuteranno a migliorare il tuo percorso professionale (che si tratti di promozioni nel tuo lavoro attuale o di nuovi lavori in diverse aziende), allora sei pronto.

Ma se stai attualmente lavorando in un'azienda in cui la tecnologia utilizzata cambia di rado, allora tra 2 o 5 o 10 anni potresti trovare difficile ottenere quel lavoro successivo. Se stai programmando a casa con le nuove tecnologie e hai qualcosa da mostrare (app, sito Web, progetto open source, ecc.), Troverai molto più facile ottenere quel lavoro successivo.

Certo, potresti essere completamente felice di fare esattamente la stessa cosa per i prossimi 40 anni, e finché la tua azienda e le tecnologie continueranno a esistere, allora sei pronto!

3
taggartgorman

La vera domanda è cosa stai facendo tutto il giorno. Le analogie con atleti e musicisti di solito non vengono applicate correttamente. Il tuo lavoro quotidiano non è pratica, è prestazione, a meno che tu non abbia la capacità esplicita di trascorrere parte della giornata di lavoro in "pratica" autentica. Come lo sai? Se non hai mai il tempo di fare qualcosa di "giusto" o imparare a fondo una nuova lingua/tecnologia/quadro/ecc., Allora non ti stai esercitando, ti stai esibendo. Atleti e musicisti professionisti non migliorano durante il gioco o il concerto, ma migliorano durante la pratica focalizzata. Quindi, se sei come la maggior parte, l'unica volta che hai per una vera "pratica" di programmazione è al di fuori del lavoro. Detto questo, vale la pena solo se è focalizzato. Se fai hack per tutto il giorno e poi fai hack per tutta la notte, ti stanchi solo, non meglio.

Ad esempio, è necessario ottimizzare un pezzo di codice al lavoro e lanciare i soliti strumenti di profilatura su di esso e accelerarlo forse del 50% e passare al compito successivo, ma pensi che ci siano altre cose che potresti fare che potrebbero aiutare anche di più ma non hai il tempo di provarli. Se porti quel pezzo di codice a casa con te e passi qualche ora in più a scriverlo, stai imparando tecniche che ti migliorano la prossima volta che ottimizzi qualcosa. Non stai facendo la stessa cosa a casa come al lavoro.

La pratica riguarda l'aggiunta di abilità e affinamento e quelle attività sono necessariamente svolte in modo artificiale (è come isolare un gruppo muscolare in palestra, nessuno lo fa durante la normale attività fisica). Costruire app a casa non è automaticamente pratica. Il lavoro a casa dovrebbe concentrarsi sulle tecniche e sul processo, non sul prodotto finale. Se un prodotto finale è ciò di cui hai bisogno per essere motivato, fantastico. Non cadere nella trappola dello sviluppo nello stesso modo in cui lo fai al lavoro.

Il movimento di codifica dei kata è un esempio di ciò che riguarda la pratica.

3
wai

Essere un buon sviluppatore di software nel cuore, dipende davvero dal tuo cuore. Puoi provare a essere un grande musicista e dedicare molto tempo alla musica, ma ciò non ti rende un buon musicista. Devi goderti quello che fai per essere bravo in quello. Inizialmente avevo le stesse domande che tu ma a causa dei miei gusti ho iniziato a fare cose extra sul software oltre al normale lavoro. Ha migliorato le mie prestazioni nel normale lavoro e mi ha anche dimostrato con molto tempo di impegnarmi in altre attività non correlate al software. Quindi la linea di base è goditi ciò che fai e alla fine farai ciò che è richiesto.

3
Siva

Se hai un lavoro che ti offre un'esperienza intellettuale completamente coinvolgente, è probabile che sarà la tua vita mentale - il lavoro esterno è quello di far saltare Steam. Se il tuo lavoro non ti coinvolge, è molto più probabile trovare soddisfazione intellettuale dopo l'orario di lavoro. Questo è vero in qualsiasi attività commerciale, non solo nella programmazione.

La codifica in un ufficio attenua la tua creatività, punto. Almeno 8 ore al giorno, la tua mente sta facendo uno sprint continuo per conto di qualcun altro. È normale uscirne e non voler tornare su un computer. Quando lavoravo da un ufficio, era lo stesso per me: tornavo a casa e volevo solo cucinare, o andare a vedere un film, stare con gli amici o semplicemente una zona davanti alla TV. Poi, dal 2001 al 2004 circa, dopo che la compagnia ha lavorato per il tank e mi sono rotto, sono uscito, ho guidato un taxi e ho aspettato dei tavoli. Fu allora che iniziai davvero a scrivere codice durante le mie ore libere.

La verità è che non credo che qualcuno abbia più di 8 ore al giorno di tempo di programmazione di alta qualità. Molti programmatori ne hanno solo 2-3, ma potrebbero essere le persone più efficienti là fuori. È solo come lo usi, come lo diffondi.

1
strike

Questo è un grande post.

Direi di no, non ti rende un cattivo programmatore. Se le tue recensioni sono state buone e hai completato i tuoi compiti bene e in tempo, allora sei esattamente il contrario. In tutta onestà, sono invidioso di te che ti riempia il codice mentre sei al lavoro.

Il motivo principale per cui programmo nel mio tempo libero è che non mi interessa davvero quello che faccio sul lavoro e utilizzo il mio tempo libero per fare ciò che mi piace. Quello che mi piace fare è la programmazione di videogiochi. Non esiste una società di giochi valida per cui lavoro (dove ho una famiglia qui ora), quindi quando posso posso dare una mano con i giochi indipendenti. È l'unico modo per curare il prurito. Se facessi ciò che amavo tutto il giorno, sarebbe molto probabile che non lo farei nel tempo libero.

1
Corv1nus

È possibile diventare un buon sviluppatore di software senza fare extra al di fuori del proprio lavoro?

Dipende dall'industria in cui lavori. Alcuni sono più competitivi di altri.

Se non ti piace imparare nuove cose da solo, probabilmente rimarrai al tuo attuale livello di abilità. Potrebbe essere abbastanza ... o no.

Non si tratta del tempo dedicato, della curiosità e della sete di conoscenza e padronanza. Ovviamente, non ha nulla a che fare con il rimanere aggiornato, si tratta di cose fondamentali, spesso dure: compilatori, monadi, architetture di memoria, ecc. Cose che si estendono ed espandono il tuo cervello.

Volere programmare a casa è solo un importante effetto collaterale. Ma non sottovalutarlo, senza farlo, l'apprendimento è spesso superficiale.

Tutti i migliori sviluppatori che conosco hanno queste caratteristiche.

1
Lionel Barret

Il mio consiglio sarà: usa il tuo tempo libero per imparare cose, per tenerti informato: leggi libri IT, ascolta il podcast Dev, ecc. Riguardo alle tue attività post-lavoro: non cambia nulla. Altrimenti, diventerai una persona noiosa.

1
Pierre Watelet

Non ti rende uno sviluppatore cattivo, potrebbe anche non renderti una sorta di sviluppatore "ok", ti rende solo quello che sei. Penso, tuttavia, che troverai che molte persone che sono davvero degli eccellenti hacker tendono a provare nuove cose. In qualsiasi momento indagherò su diverse lingue, database, framework web, robotica, ecc. Ho due bambini piccoli e una moglie, un mutuo, tutta quella roba - ma non vedo l'ora di poter ottenere 2 o 3 ore per andare in giro con le cose. Certo, C # e .NET vanno benissimo per guadagnare uno stipendio e in realtà mi piace il mio lavoro, ma fare casini con Scala e Lift è stato un vero spasso per me in questi ultimi giorni mesi. Ci sono sviluppatori che si classificherebbero come "appassionati" e quelli che stanno semplicemente "superando". Tendo a scoprire che gli sviluppatori che si sfidano costantemente tendono ad avanzare più rapidamente di quelli che non lo fanno.

1

Questo significa che non sono uno sviluppatore software "vero" nel cuore?

Assolutamente no. Significa solo che ti piace fare cose diverse dalla codifica. Non c'è niente di sbagliato in questo, e non ti rende migliore o peggiore di chiunque altro, sviluppatore o no.

È possibile diventare un buon sviluppatore di software senza fare extra al di fuori del proprio lavoro?

Ovviamente. Alcuni di questi dipendono dall'ambiente di lavoro. Se hai un lavoro noioso, che succhia l'anima, che ti succhia tutto il tempo e poi alcuni che fanno lavori di manutenzione noiosi, allora essere in grado di usare il tempo di lavoro per sviluppare le tue abilità sarà molto limitato. Se hai il tipo di ambiente in cui hai un po 'di latitudine per fare ciò che vuoi esplorare e imparare, approfitta di quell'opportunità per sviluppare nuove abilità che aiutano anche il tuo datore di lavoro o i tuoi collaboratori.

Se trovi qualcosa di interessante di cui vuoi saperne di più e non hai il tempo o la possibilità di usarlo sul lavoro, allora devi valutarlo rispetto alle altre esigenze del tuo tempo, siano essi familiari, amici o hobby.

1
afrazier

No, non ti rende meno programmatore di chiunque altro. Sei solo più social. Sono invidioso ad essere sincero.

Non devi usare tutto il tuo tempo libero per scrivere il codice. Il mio lavoro è piuttosto semplice: la gestione dei server. Scrivo molto codice perché non devo fare molto al lavoro. Questo non mi rende migliore o peggiore di chiunque altro. Se sei un appassionato di programmazione, perché non lavorare come freelance? Spesso inserisco annunci Craigslist per i miei servizi e ne guadagno una buona quantità. È anche un'ottima esperienza di apprendimento poiché lavorerai con startup e talvolta anche con siti Web di grandi dimensioni. Spero che sia di aiuto. :)

1
iamandrus

Di recente ho partecipato a diverse interviste per assumere programmatori. Ho scoperto che i candidati che mi colpiscono di più, sia come programmatori che come persone con cui non mi dispiacerebbe lavorare, sono quelli che trascorrono una notevole quantità di tempo in attività NON di programmazione (in particolare musica, ma anche matematica pura, filosofia e letteratura). A dire il vero, la maggior parte fa anche un po 'di programmazione per hobby, ma hanno anche interessi di bilanciamento.

1
PSU

Ci sono state volte nella mia vita in cui ho scritto molto codice al di fuori del lavoro e altre volte in cui non ho fatto nulla perché stavo lavorando su altre cose. Dovresti sempre imparare, ma ciò non significa che devi sempre imparare a programmare nel tempo libero. Se vuoi lavorare su qualche altra abilità, che si tratti di carpenteria, ricamo, giardinaggio ecc. Nel tuo tempo libero, ti aiuterà a crescere come persona.

Non cadere nella trappola di pensare di sapere tutto ciò che devi sapere sulla programmazione in modo da poter smettere di imparare.

1
Zachary K

Questo è davvero un post interessante. Sto sviluppando software da 10 anni e adoro il mio lavoro! Anch'io ho molti hobby e provo a gestirli correttamente. Ma mi viene da prendere dal provare nuove cose trascorrendo un'ora o due davanti al pc prima di andare a letto. Nel mio caso, sono dipendente dallo studio e dalla scrittura del codice di gioco. Non sempre ho tempo a giocare, ma adoro leggere il codice sui giochi. Ad essere sincero, penso che il miglior codice che io abbia mai visto provenga dai giochi e applico queste abilità al mio codice al lavoro. Imparo costantemente OGNI SINGOLO GIORNO, quindi IMO, se sei uno sviluppatore, non raggiungerai mai il tuo picco, c'è SEMPRE un modo migliore di fare qualcosa ...

1
user17544

Ho chiesto un simile domanda un paio di giorni alla volta. Sembra che le persone sembrino più appassionate del nostro lavoro se dedichiamo non solo tutto il nostro giorno ad esso, ma anche tutto il tempo che abbiamo a disposizione per le nostre vite personali.

Di tanto in tanto scrivo un po 'di codice sul mio tempo libero, ma lo faccio per divertimento, non perché ho intenzione di ottenere una crescita o un riconoscimento professionale. Mi congratulo con le persone che ne hanno l'energia, ma ti piace di più bruciarti lavorando più ore e progetti extra che diventare davvero più esperto in qualsiasi cosa.

Alla fine della giornata, tutto ciò che conta sono la tua capacità di apprendere nuove cose (soprattutto sul lavoro), la tua capacità di comunicare bene e avere buone capacità di gestione del tempo. Che ti trasformi in un buon professionista.

0
Pablo

È possibile diventare un buon sviluppatore di software senza fare extra al di fuori del proprio lavoro?

Per me si tratta di equilibrio.

Anche se amo programmare è solo una parte di me, ho altri interessi. Come vedo questo se sono felice (facendo altre cose che mi piace fare) e trovo il mio lavoro interessante e appagante (cosa che faccio) che, a lungo termine, sto per diventare uno sviluppatore di software migliore.

Post scriptum Ammetto di non aver letto tutti i post precedenti in questa pagina.

0
Ilan Huberman