Devo concentrarmi sull'essere profondo o ampio [chiuso]

10

Sono stato uno sviluppatore professionista da poco più di mezzo anno e sono rimasto sbalordito da quanto sia grande il mondo fuori dal college. Ho continuato a imparare nel mio tempo libero, ma mi chiedo dove dovrei concentrarmi?

FOCUS 1) Lo stack di sviluppo utilizzato dalla mia azienda. Il più rapido guadagno nel mio sviluppo giorno per giorno. #Deepest

FOCUS 2) Una lingua diversa con lo stesso paradigma. Vedi se riesco a generalizzare le mie conoscenze e il mio modo di pensare.

FOCUS 3) Linguaggio diverso, paradigma diverso. Espandi i miei confini e impara nuovi modi di fare le cose. #Broadest

Se qualcuno ha un focus diverso sentiti libero di metterlo lì fuori.

    
posta Bob Roberts 17.12.2010 - 16:55
fonte

6 risposte

17

Sì.

Direi che devi fare entrambe le cose. Inizia con # 1 in quanto ha il profitto immediato, e non lo hai fatto per molto tempo. Ma hai sicuramente bisogno di fare un po 'di # 2 e # 3.

    
risposta data 17.12.2010 - 16:59
fonte
24

Quando le persone mi chiedono consigli sulla carriera, la tua domanda è una delle prime domande che chiedo loro. Non penso che nessuno possa rispondere a questa domanda per te; Penso che devi decidere da solo se è più probabile che concentrarsi su profondità o ampiezza soddisfi i tuoi obiettivi di carriera.

Quando ho cambiato squadra per l'ultima volta, ho avuto due opportunità: lavorare con il team di strumenti per sviluppatori XBOX o lavorare con il team di compilatori C #. Mi sono reso conto che si riduceva all'ampiezza rispetto alla profondità. Sul team XBOX potrei lavorare su sistemi di sicurezza un giorno, sistemi audio il prossimo, video, networking, interfacciamento hardware, il tuo nome. Certo, alcune persone sono esperti, ma tutti devono sapere un po 'di tutto. Nel team del compilatore C # ho potuto immergermi in una lingua e un compilatore e capire veramente tutto in profondità.

Ci ho pensato molto e ho deciso che ero più adatto per essere un esperto di una cosa piuttosto che un dilettante per molti. Questa è stata una buona scelta per me, ma potrebbe non essere adatta a te. Alcune persone hanno molto successo conoscendo un po 'di tutto.

Il mio consiglio quindi è di ribaltare la domanda. Scopri che tipo di persona sei, e poi vedi se la tua azienda ha opportunità per qualcuno come te. Altrimenti, trovane uno che lo faccia.

    
risposta data 17.12.2010 - 22:04
fonte
11

Essere uno specialista può renderti più costoso. Ma le opportunità di lavoro che richiedono quel livello elevato saranno limitate, sia nei loro numeri che geograficamente.

Essere un generalista forse paga meno, ma apre a te una vasta gamma di opportunità di lavoro, potenzialmente in tutto il mondo.

Anche per lavori di livello superiore e manageriali è preferibile avere una persona esperta in una varietà di cose, tecniche e tecnologie. Conoscere i bordi e riuscire a vedere un quadro generale ti rende una risorsa preziosa.

    
risposta data 17.12.2010 - 16:59
fonte
3

Penso che nel tuo stadio di sviluppo, ottenere una certa profondità sia la prima priorità. Vedo troppe persone che conoscono un po 'di cose ma non riescono a superare il lavoro a livello di base perché tutte le loro conoscenze sono di livello base.

Se volessi diventare uno specialista, chiaramente, la profondità di costruzione è la migliore scelta.

Se voglio essere un generalista, prima costruisci la profondità (raggiungi almeno il livello intermedio) in uno stack e poi diramati in altre lingue. Se crei prima una certa profondità, potresti trovare più facile sviluppare la profondità in più lingue, dato che hai più concetti a tua disposizione e sai di più di ciò che potresti voler imparare. Poi mi dirigo un po 'verso qualcos'altro. Quindi torna indietro e costruisci la profondità a livello avanzato, quindi torna ad espandersi e impara più cose che sono molto diverse da quelle che già conosci. Quindi espandi quella profondità in un'area diversa a un livello intermedio, impara di nuovo qualcos'altro, ecc.

Caveat: sono uno specialista quindi preferisco chiaramente la profondità della conoscenza

    
risposta data 17.12.2010 - 17:23
fonte
1

Entrambe le opzioni hanno il loro posto. Concentrarti sullo stack di sviluppo utilizzato dalla tua azienda ti aiuterà nel tuo lavoro, ma conoscere altre tecnologie ti aiuterà nella tua carriera.

Alla fine degli anni '90, le competenze di COBOL erano molto richieste dalle aziende che avevano bisogno di preparare il loro software per l'anno 2000. Ma chiunque conosca ancora solo COBOL oggi avrà molto più difficile trovare lavoro.

Allo stesso modo, la tecnologia di oggi sarà obsoleta molto prima che molti di noi siano pronti per andare in pensione, quindi l'apprendimento di nuove competenze e tecnologie è essenziale.

    
risposta data 17.12.2010 - 18:41
fonte
0

Vai avanti e impara qualcosa come Haskell o Lisp. Imparare un linguaggio funzionale mi ha davvero permesso di decodificare il mio codice, rendendo più semplice il debug complessivo. L'unico problema che potresti incontrare è che non vuoi tornare indietro.

link

link

link

    
risposta data 17.12.2010 - 17:19
fonte

Leggi altre domande sui tag