È meglio specializzarsi in un singolo campo che mi piace o espandermi in altri campi per ampliare i miei orizzonti? [chiuso]

31

Questo è un dilemma a cui ho pensato per un po '.

Sono uno studente laureato e i miei argomenti di interesse sono la programmazione del linguaggio di programmazione, l'analisi del codice, la compilazione, ecc. Finora, questo campo è stato molto interessante e gratificante per me, quindi stavo pensando di trovare un lavoro in quel campo e continuando a specializzarsi in esso. Sento che è un campo relativamente solido che non sarà "fuori moda" in qualsiasi momento. Ho sempre pensato che in campi così complessi è meglio essere un vero esperto di un altro ragazzo che capisce superficialmente di cosa parlano gli esperti.

D'altra parte, ritengo che, specializzandomi in questo modo, limiti davvero la mia opzione futura. Sono sempre stato un strong sostenitore degli approcci multidisciplinari ai problemi. Forse dovrei andare a cercare un lavoro di programmazione generale in cui potrei acquisire esperienza in altri campi, e occasionalmente applicare il mio campo preferito per risolvere i problemi. La specializzazione in solo uno o due campi può impedirmi di pensare fuori dagli schemi e causare ristagno.

Mi piacerebbe davvero sentire più opinioni su questa scelta. La verità è che mi sto già inclinando verso una delle scelte, quindi la psicologia di base dice che nulla cambierà la mia opinione, ma mi piacerebbe comunque sentire qualche feedback.

    
posta Oak 22.11.2010 - 18:16
fonte

12 risposte

21

Specializza se ti piace

Come sapete, se si è specializzati, si incorre automaticamente in un costo opportunità in quanto non si sarà immediatamente idonei per altre tecnologie (ad esempio, i programmatori Java non vengono spesso accettati immediatamente per i lavori di ottimizzazione del compilatore). Tuttavia, devi bilanciare questo con il tuo amore per la complessità inerente alla disciplina scelta.

Dici di voler essere un esperto - vai pure e prenditi il tempo per imparare la disciplina scelta. Noi come comunità abbiamo sempre bisogno di nuovi esperti. Tuttavia, il mio consiglio è di seguire la raccomandazione pragmatica del programmatore di "Impara una nuova lingua ogni anno" . In questo modo, mentre ti stai dedicando alla profonda analisi lessicale della codifica algoritmica, puoi anche sfornare una piccola applicazione per iPhone che ti interessa sul lato. Non si sa mai, l'incrocio di diversi paradigmi può farti intuire che estenderà la tua specializzazione in nuove aree.

    
risposta data 22.11.2010 - 18:23
fonte
20

Penso che dipenda da cosa vuoi dalla tua carriera ...

A livello tecnico : essere un tuttofare significa che puoi candidarti per una più ampia varietà di ruoli rispetto a qualcuno che è estremamente specializzato. Se vuoi essere adattabile e spostarti e non essere legato a una nicchia particolare, probabilmente non è così male. Tuttavia, il rovescio della medaglia è che probabilmente sarai confinato a un livello relativamente junior / intermedio di ruoli, a meno che non ti addentri più a fondo in una particolare area.

Specializzare in una determinata area è praticamente l'opposto di quanto sopra. Probabilmente sarai in grado di ottenere uno stato e un reddito più elevati (se ti trovi in una buona nicchia con una domanda elevata ovviamente), ma probabilmente diventerai incasellato in quella specialità in larga misura.

Quindi in senso lato, queste due sono le scelte a livello tecnico.

A livello politico : se stai parlando di "avanzamento di carriera" in termini di passaggio alla gestione e simili, allora in genere non importa ciò che fai tecnicamente. Praticamente tutti quelli che conosco che sono passati alla gestione da un ruolo di programmatore lo hanno fatto conoscendo molto bene le persone e i processi aziendali nella loro organizzazione. Alcuni erano specialisti e alcuni erano generalisti (in termini di tecnologia con cui lavoravano) - ma TUTTI erano profondamente radicati nell'organizzazione, conoscevano bene le persone e i processi, e in fondo era logico che iniziassero a possedere quelle responsabilità.

Quindi, in un senso fondamentale, se vuoi progredire nella tua carriera in termini di evoluzione della gerarchia di gestione, si tratta di giocare alla politica. Essere un generalista o uno specialista non conta tanto (solo forse diventare un po 'uno specialista dei processi e della tecnologia che gestirai).

    
risposta data 03.06.2011 - 01:31
fonte
10

Innanzitutto, le offerte di lavoro spesso esagerano la quantità di specializzazione richiesta. Nessuna azienda mette "abbiamo bisogno di un ragazzo che conosce un po 'di Javascript perché non sappiamo nulla" in un annuncio di lavoro; hanno messo lì "l'esperto di Javascript" perché, a parità di condizioni, a loro piacerebbe avere qualcuno che fosse davvero un esperto. Ciò non significa necessariamente che solo gli esperti siano qualificati per ciò che l'azienda ha bisogno di fare in Javascript (e sarete sorpresi di quanto spesso non sanno nemmeno cosa devono fare). Quindi non preoccuparti troppo di essere un "esperto"; fai domanda per lavori in cui sei esperto nelle competenze pubblicizzate e vedi come vanno le cose nel colloquio. Essere bravi a un lavoro è molto più di quanti anni di [inserire la lingua] hai sotto la cintura. E se il lavoro è gratificante, potresti ritrovarti a diventare un esperto.

Si tratta di "ottenere" un lavoro; per "mantenere" un lavoro, essere un JOAT può essere meraviglioso. Se la tua azienda inizia ad esplorare diverse lingue e piattaforme, sarai in vantaggio rispetto al gioco. Se la tua azienda basata sulla MS ha improvvisamente bisogno di un ragazzo UNIX per qualcosa, sarai il loro go-to (o essere quel ragazzo o gestire l'assunzione di un "esperto"). Mantenere un lavoro significa essere indispensabili, qualunque cosa accada, e JOAT è un buon modo per essere quel ragazzo.

Inoltre, ti consente di ottenere un nuovo lavoro quando la tua azienda va molto più facilmente:)

    
risposta data 03.06.2011 - 02:53
fonte
7

Bene, sì e no. Il problema è che non sarai mai una rockstar. Non sarai mai quel tipo che può fare cose con C che nessun altro può fare. La tua mancanza di attenzione preclude quel tipo di eccellenza.

D'altra parte, quando la direzione decide che non possono permettersi un sacco di programmatori, non spara tu , per tenerlo lui . La flessibilità ha i suoi vantaggi.

Sono un Jack, e il mio dipartimento ha visto una riduzione dell'80% negli ultimi 4 anni. Eppure eccomi qui. In parte è perché sono più sfocato della maggior parte. Io come mi viene consegnato un incarico di cui non so nulla, e ai miei capi piace il fatto che io dica "Certo!" non importa quale strana merda di culo escono con. E, quando capisci il quadro generale, è una specie di rockstardom che la maggior parte degli specialisti non raggiunge mai, e può essere redditizio.

Quindi, se stai cercando di essere una rockstar, devi concentrarti, perché nessuno può essere migliore di tutti in ogni cosa. Ma se sei alla ricerca di stabilità, scegli la flessibilità, perché essere flessibili è più commercializzabile che fare il culo.

    
risposta data 03.06.2011 - 04:11
fonte
3

Generalista vs. Specialista è un articolo di CIO.com ma probabilmente ci sono dozzine di articoli simili o post di blog di persone che cercano di vedere se uno è migliore dell'altro. Ognuno ha i suoi vantaggi e svantaggi. Chiunque voglia dirne uno calpesta totalmente l'altro, potrebbe essere parzialmente distorto.

Non dimenticare che c'è una possibile illusione su ciascun lato della tua scelta. Ciò che vedi come specializzazione può avere vari gusti. Ad esempio, consideri che gli sviluppatori web in generale siano specialisti o generalisti? Alcuni potrebbero vederlo come una specializzazione e altri potrebbero ancora considerarlo piuttosto ampio, dato che molte applicazioni web in questi giorni possono avere tutti i tipi di componenti che possono richiedere competenze diverse in una certa misura.

Mentre le aree che elencherai mi farebbero pensare che tu voglia lavorare per una società di software, ci potrebbero essere alcune parti dell'Information Technology che potrebbero usare competenze simili in un certo senso. Potresti scoprire in che misura la personalizzazione viene eseguita su vari software standard per farlo funzionare e quanto è un investimento per la maggior parte delle aziende dare un esempio pratico.

    
risposta data 22.11.2010 - 23:52
fonte
3

On the other hand, I feel that by specializing this way I really limit my future option.

Ricorda. Il tuo futuro si estende per decenni.

La tecnologia attuale si è attenuata in modo significativo man mano che sorgono nuove opportunità.

La specializzazione non è affatto male.

Ho iniziato a specializzarmi nella punzonatura di schede cartacee per scrivere programmi COBOL. Ora scrivo Python e non ho toccato una carta perforata da decenni.

La tecnologia va e viene. Qualunque cosa tu stia specializzando ora sarà sparito in un decennio e ti specializzerai in qualcos'altro. O diventerai obsoleto.

Preoccuparsi di "esperienza in altri campi" è una perdita di tempo. Avrai quell'esperienza, che tu voglia o meno.

    
risposta data 04.01.2011 - 23:55
fonte
3

Dipende da cosa è la tua carriera. Penso che dovrebbe aiutare la tua carriera se vuoi essere un consulente generale, avviare la tua attività, lavorare per una piccola impresa o in qualsiasi altra situazione in cui quel tipo di flessibilità è un bene riconosciuto. Sono nella stessa situazione e attualmente lavoro come consulente, anche se sto perseguendo la specializzazione in .NET / C # / SQL / ASP.

In the same vein, is it possible to make a career out of being versatile with technology, having a wide range of (albeit shallow) experience, but without specializing in a particular technology?

Sì, penso che potresti cercare piccole imprese che non possono assumere qualcuno per ogni area di specializzazione o essere un consulente.

(Non è neanche una cattiva idea scegliere un'area in cui sarà specializzata, oltre a mantenere le tue abilità più generali.)

    
risposta data 03.06.2011 - 01:40
fonte
2

Quando assumo sviluppatori, sono prevenuto verso le persone con forza ed esperienza nelle particolari abilità che sto cercando. I reclutatori amplificheranno notevolmente questo pregiudizio. Ciò significa che anche se potrei assumerti (e mi piacciono le persone con ampie competenze e buone conoscenze fondamentali che possono apprendere) non ho alcuna probabilità di parlarti.

Anche se sono sempre stato un tuttofare e ho avuto diversi titoli di lavoro presso la stessa azienda in cui ho lavorato gran parte della mia carriera. Continuo a temere la prospettiva di dover cercare un lavoro e non penso di poter facilmente trovare un altro lavoro al mio attuale stipendio (che è molto soddisfacente, ma le persone qui mi conoscono).

    
risposta data 03.06.2011 - 02:52
fonte
2

come al solito ...

Dipende

Dipende da cosa intendi per "carriera". Più precisamente, dipende da cosa pensi intendi per "carriera".

In questi giorni lavoro molto con le applicazioni web. Quando ho iniziato questa carriera, il world wide web non esisteva. Quindi, in larga misura, la risposta di @ Satanicpuppy è giusta sul marchio.

Ci sono quattro vantaggi offerti dal territorio del jack-of-all-trades (JOT):

  1. La volontà e la capacità di imparare tutto ciò che è necessario per portare a termine il lavoro
  2. La saggezza di sapere ciò che non sai
  3. L'umiltà di dirlo e chiedere aiuto quando necessario.
  4. Un grande "sacco di trucchi su più confini del dominio

Lo svantaggio principale è: ci vuole molto, molto più tempo per eccellere , perché stai spingendo la curva di apprendimento su più fronti.

Sono un buon DBA come alcuni amici che non hanno fatto altro che per 15 anni? Ovviamente no. Posso vedere le soluzioni in un istante che non potranno mai immaginare in due settimane? Sì.

Il miglior consiglio, penso, è di continuare a essere JOT finché non trovi qualcosa che sia così affascinante, così avvincente che vuoi farlo e solo fino alla fine dei tempi. Quella "sarà" la tua specialità.

Mi piace risolvere problemi nuovi, difficili, cercare innovazioni per uccidere il banale, e imparare continuamente - questo è il mio "esso", ed è la ragione per cui amo I.T.

Essere un generalista è la mia carriera.

    
risposta data 03.06.2011 - 06:16
fonte
2

Penso che uno dei motivi per cui le aziende cercano e apprezzino le persone specializzate risale a astrazioni che perdono . Il problema è che negli ultimi 30 anni circa, gli ingegneri del software hanno aumentato il numero di livelli di astrazione in modo esponenziale e per quanto ci piacerebbe essere sicuri che non ci fossero effetti collaterali, essi emergono sempre. E sono le idiosincrasie non documentate che tendono a prenderti.

Potresti iniziare a utilizzare rapidamente la nuova tecnologia leggendo le specifiche e gli esempi online, ma hai mai notato che quando inizi a qualcosa di nuovo, trascorri il 20% del tempo a scrivere codice per una funzione e l'80% del tuo tempo a cercare bug più strano che tu abbia mai visto? Man mano che diventi esperto in un'area, questa razione cambia da 20/80 a 95/5 (sto facendo numeri, ma in generale probabilmente sono vicini) proprio in quell'area. Il che significa che puoi consegnare il lavoro molto più velocemente ed evitare insidie / bug comuni prima che si verifichino. Ad esempio, oggi uno dei nostri ingegneri senior (nuovo al team / prodotto) ha trascorso più di mezza giornata alla ricerca di un problema con la corruzione dello stack che mi ha richiesto 5 minuti per identificarlo perché questo era il mio terreno di casa.

Diventando un esperto nel tuo campo, diventerai più visibile e prezioso per la gestione. Non so di altre società, ma in quelle in cui ho lavorato, il tuo compenso (almeno in parte) dipende da quanto importanti siano le tue responsabilità. JOAT generalmente non ha responsabilità permanenti. Invece, i manager li usano come risorse mobili / intercambiabili (i nostri call VP sono i coltelli dell'esercito svizzero) che possono essere spostati da una squadra all'altra in base alla domanda. Quindi puoi stare con la compagnia per 10 anni, poi guardare indietro e realizzare, non hai mai guadagnato una singola responsabilità. Ho un ottimo amico (che è anche un eccellente sviluppatore C ++ / C #, ma è anche un ottimo JOAT perché si occuperà di qualsiasi lavoro) che è stato tipizzato in un ruolo simile. So che non è felice perché mentre ho un pezzo molto considerevole e divertente del prodotto come il mio parco giochi, è per lo più un ospite temporaneo nella terra di qualcun altro. Ma ora non può uscirne.

Detto questo, avere le competenze di JOAT è ugualmente importante, quindi anche se non proverei necessariamente a posizionarmi come JOAT, penso che sia importante continuare a leggere / studiare / imparare cose nuove perché la tecnologia cambia e anche se sei un esperto oggi, potresti dover diventare un esperto in qualcosa di completamente diverso domani.

    
risposta data 03.06.2011 - 09:04
fonte
1

Direi assolutamente.

Ma dovrai uscire e prenderlo, non si presenterà in un giornale o in un annuncio di lavoro online (la probabilità è piccola). Quindi, invece di guardare a lavori specializzati, forse dovresti cercare posti di lavoro che soddisfino la tua varietà di punti di forza. "Marginamente bene" è soggettivo, forse sei troppo duro con te stesso, anche modesto, ma questa è una buona cosa (-:

Inoltre, mentre le tue esperienze e competenze sono importanti, i datori di lavoro sono più interessati alla tua capacità di fornire risultati. Chiediti: Cosa posso fare con la mia varietà di conoscenze ed esperienze che migliorano il bilancio di questa azienda ? Senza vedere il tuo curriculum, alcuni titoli che mi vengono in mente sono Solutions Engineer, Architect (Network, Application, ecc.) O persino un CTO.

Infine, il mio consiglio è di fare una carriera di ciò che ti piace. Dovrai farlo per 8+ ore al giorno per molti anni, e potresti anche come quello che stai facendo a quel ritmo (-;

HTH e auguri,

KM

    
risposta data 03.06.2011 - 03:47
fonte
1

È vero che la maggior parte delle offerte di lavoro stanno giocando contro di loro essendo troppo specifiche o troppo esigenti. Sono scritti come annunci pubblicitari (probabilmente per mostrare ad altri quanto siano potenti), ma impediscono l'applicazione di alcuni fantastici profili per i motivi indicati nella domanda.

Ecco la pubblicazione del lavoro che utilizzo:

Job and Person Description

At least 4 years of experience with .NET Framework. Knowledge of specific technologies is not required. The candidates must be quick learners and be able to demonstrate an enthusiasm to learn new things. We want people who:

  • are interested in digital media
  • see difficulties as opportunities
  • get things done and are not CV driven are
  • interested in the business side of
  • their work have the startup spirit Language: French OR English

Skills (not required but each will be an asset):

  • .NET Framework 4.0
  • nHibernate or Entity Framework
  • DevExpress Components
  • LINQ
  • WCF
  • HTML/CSS/Javascript
  • ExtJs

Come vedi, tranne l'esperienza complessiva con .NET, non è richiesta alcuna altra conoscenza. Tuttavia, ciò che è richiesto è la capacità di inclinare cose nuove.

Poiché non puoi controllare come le aziende scrivono la descrizione del loro lavoro, dovresti vederle come opportunità di apprendimento.

Quando vedo un annuncio di lavoro molto impegnativo, lo vedo come un'opportunità per imparare nuove cose. Durante l'intervista (se capisco), spiego che dal momento che la mia motivazione è imparare e fare le cose, non sarei troppo influenzato dalla mancanza di esperienza in una delle tecnologie più quotate.

In effetti, è così che ho imparato così velocemente: scegliendo lavori impegnativi .

    
risposta data 03.06.2011 - 08:02
fonte

Leggi altre domande sui tag