Programmazione di alto livello rispetto a basso livello. Devo davvero scegliere? [chiuso]


13

Ogni tanto mi viene chiesto in interviste che mi piacciono il livello più basso o alto. Mi sembra che il messaggio implicito sia che sono entrambi una specialità e vogliono sapere in quale direzione sto andando. Il problema è che mi piacciono entrambi. Il livello basso è estremamente impegnativo e spesso richiede una grande conoscenza esoterica. L'alto livello è dove accadono tutte le cose sexy: applicazioni che le persone usano direttamente, risultati che possono essere facilmente dimostrati (mostrati) in un modo accessibile a tutti, e puoi lavorare con strumenti davvero avanzati e interagire con le nuove tecnologie.

Mi piacerebbe davvero fare entrambe le cose, anche se ciò significa alternarle (dubito che ci siano lavori che mi permetteranno di fare entrambe le cose contemporaneamente), ma suppongo che l'industria premia gli specialisti più che i generalisti. Sarebbe davvero una carriera problematica saggia se non scelgo mai uno rispetto all'altro? È pratico alternare tra i due, nel senso che se dovessi lasciare un lavoro facendo uno di loro, non dovrei sperimentare alcun "attrito" cercando di ottenere un lavoro facendo l'altro (supponendo che io sia ragionevolmente nel ciclo)? Ci sono opportunità di carriera in cui puoi fare entrambe le cose?

Devo davvero scegliere l'uno rispetto all'altro?


Si potrebbe desiderare di guardare a questo interrogativo SO: stackoverflow.com/questions/919568/...
user281377

Risposte:


5

Innanzitutto, qualunque sia il percorso che scegli, tieni presente che l'ambiente circostante potrebbe cambiare. :)

Inoltre, non penso che tu debba scegliere tra l'uno o l'altro. Piuttosto, le tue opzioni dipendono maggiormente dal progetto e dal gruppo con cui stai lavorando.

  • È probabile che fare domanda per un lavoro specialistico in una grande azienda, troverebbe difficile svolgere altre attività.
  • È anche probabile che un ruolo generalista non ti dia il tempo di scavare più a fondo in una piccola parte.
  • È altrettanto probabile che avere alcune abilità generaliste ti renda più efficiente nel fare un lavoro specialistico, dal momento che non dovrai fare affidamento su altri tanto per andare avanti.
  • È anche possibile che un ruolo di generalista abbia bisogno di alcune conoscenze specialistiche e se cerchi una piccola azienda o una startup che lavora nell'area in cui sei specializzato, potresti avere ampie opportunità di brillare nel tuo campo specialistico.

In realtà sto affrontando questi problemi nel mio lavoro attuale ..

Mi sono specializzato in C ++, OpenGL, simulazioni 3D, architettura del motore di gioco e cose del genere, ma l'anno scorso ho usato molto un saldatore (mescolando schede USB, prototipi, servi e motori, nonché sintonizzazione e programmazione di questi servo-controller). Potrei anche dover realizzare alcuni prototipi di siti Web per alcuni servizi di cui abbiamo bisogno.

È divertente, ma non vorrei farlo per sempre, dato che la mia specializzazione diminuisce un po ', e probabilmente ci sono altri che sono più bravi in ​​questo. Speriamo che l'azienda cresca e che possiamo assumere più ingegneri. Al momento siamo solo due ragazzi C ++ / Python (con me spendo il 60-75% del mio tempo sull'hardware).

Quindi, seleziona attentamente i tuoi progetti e non devi abbandonare nulla, ma devi controllare dove la tua carriera sta andando di tanto in tanto (come fanno tutti).


12

Nella mia esperienza, le aziende più grandi hanno bisogno di specialisti e le aziende più piccole hanno bisogno di generalisti. Se vuoi fare il generalista, cerca e richiedi aziende più piccole.


3
Solo per dire che le aziende più grandi sono quelle che possono permettersi i tassi più elevati richiesti dagli specialisti.
Oded,

3
Non è lo stipendio che determina la distinzione specialista / generalista tanto quanto il numero di programmatori della tua azienda. Con molti programmatori, è più efficiente assegnare persone specifiche a prodotti specifici. Con una manciata di programmatori, devono coprire tutte le esigenze di sviluppo dell'azienda.
dan04

2

Nel nostro campo penso che dobbiamo essere generalisti a un certo livello e allo stesso tempo sviluppare una specialità o anche alcune specialità. Sviluppare le nostre competenze in molte aree non guasta mai poiché alcuni progetti potrebbero richiedere di essere versatile. Come accennato, tuttavia, più grande è l'azienda, più è probabile che avranno bisogno che tu possa concentrarti in una sola area. In queste situazioni, penso che la domanda che preferisci sia più che probabile che cerchi di capire dove ti metterebbero se ti assumessero.


2

Penso che sia utile porre questa domanda, quindi sanno a cosa stai puntando, ma la spiegazione che hai pubblicato qui è anche un'ottima risposta: "Mi piace fare entrambe le cose". Le lingue di alto livello e di basso livello attirano diversi tipi di persone, mentre le lingue di basso livello attraggono persone a cui piace davvero conoscere i piccoli dettagli del sistema, come funziona, ecc., Le lingue di alto livello attraggono le persone più interessate al processo aziendale e all'organizzazione si. A così tante persone piacciono molto le lingue di alto livello, ma non riescono a stare di basso livello (o viceversa).

Quindi chiederlo è molto importante per ottenere il tuo profilo e le tue intenzioni, ma la tua risposta mentre pubblichi è completamente accettabile.


1

Non devi scegliere, anche se la tua vita sarebbe più facile (se non più felice) se lo fai. La maggior parte delle aziende cercherà l'una o l'altra, ma se trovi un posto dove vogliono qualcuno che conosca entrambi i mondi, otterrai il jackpot.

Quello che non devi assolutamente fare è applicare l'approccio sbagliato a un problema.

E ovviamente, a volte le cose non vanno come previsto, ho iniziato con l'amore per il montaggio e C e la diffidenza di tutto ciò che OO e sono diventato uno sviluppatore Java. Ora mi sarebbe difficile tornare indietro, perché mi sono perso dieci anni di apprendimento e nuove tecnologie. Quindi la lezione qui è che se vuoi cambiare, assicurati di rimanere in contatto.

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.