È necessaria una laurea per lavori di programmazione di basso livello / embedded? [chiuso]

4

So che è possibile entrare nello sviluppo di software senza una laurea in informatica, ma è possibile (o meglio, comune) essere in grado di ottenere un lavoro di programmazione embedded senza la laurea in informatica (o qualsiasi laurea in ingegneria) pure)?

    
posta Jetti 10.11.2010 - 16:35
fonte

7 risposte

15

Dijkstra una volta disse che "l'informatica non riguarda più i computer che l'astronomia riguarda i telescopi". Non hai bisogno di una laurea per programmare, anche se aiuta a sapere come usare gli strumenti necessari per la programmazione. Supponendo che tu possa, non vedo ragioni per cui non dovresti essere in grado di farlo.

Tuttavia avresti bisogno di mettere piede nella porta, e se non puoi farlo con una laurea, dovrai essere in grado di dimostrarlo. Il mio consiglio è creare una demo impressionante di qualche tipo.

    
risposta data 10.11.2010 - 16:43
fonte
18

Qualche background nell'elettronica (o almeno il desiderio di entrarci) è praticamente necessario per avere successo nella programmazione embedded. Lo faccio da più di 30 anni e ho fatto il modo formale (BSEE + MSCS), ma ho incontrato molti programmatori embedded autodidatti lungo la strada. Avevano tutti una cosa in comune anche se, da qualche parte nel loro ambiente, avevano ricevuto un'educazione elettronica (formale o meno).

Stai andando a fare molti giri di bit e lavorare con molti registri I / O di basso livello, con i cosiddetti datasheet che potrebbero eseguire diverse centinaia di pagine, come questo (quindi se quel documento non sembra interessante, dimentica la programmazione integrata). Utilizzerai molti bus seriali come UART, SPI, I2C e USB. Timer a otto e 16 bit. Un sacco di interruzioni.

Non devi essere in grado di progettare un circuito, ma è meglio se impari a leggere uno schema poiché probabilmente stai sondando un circuito stampato con un oscilloscopio o un analizzatore logico.

Supponendo che tu stia lavorando con dispositivi di medie dimensioni, che potrebbero avere solo 32K a 256K di memoria di programma e 4K-16K di RAM, probabilmente stai facendo la maggior parte della tua programmazione in C - ma C con proprietario estensioni (diverse per ogni chip), perché la maggior parte di questi processori è un'architettura di Harvard e hanno spazi di indirizzi separati per RAM veloce, RAM estesa e spazio per il codice e i puntatori possono ottenere veramente complicati.

(Considero piccoli micros di quelli con pochi K di memoria di programma e qualche centinaio di byte di RAM.) Questi sono ancora in gran parte programmati in assembly, quindi ci sono microprocessori più grandi in grado di eseguire Linux e avere MB di flash e RAM, ma non è proprio il caso in cui sia la programmazione embedded main-stream.)

    
risposta data 10.11.2010 - 17:27
fonte
2

Come notato da Neil , in molti casi, una laurea di primo livello in scienze informatiche sarà più che altro per ottenere il piede nella porta con un lavoro di livello base. Allo stesso modo, è anche una delle caselle di controllo che i reparti delle risorse umane esamineranno quando filtrano le applicazioni e in alcune aziende la laurea è obbligatoria per il lavoro dato, ma di solito non sono aziende di software.

In termini di ottenere il piede nella porta senza una laurea, sarà necessaria una sorta di prova che sai cosa stai facendo, quindi potrebbe essere una buona idea guardarsi intorno per vedere se c'è una sorta di classe che puoi affrontare sull'argomento. Questo ti darebbe una formazione formale che puoi elencare sul tuo curriculum e ti darà anche la possibilità di interagire con le persone che conoscono l'argomento in modo che possano indicare alcune cose che potrebbero richiedere più tempo per incontrarti da solo. Inoltre, potresti voler esaminare i gruppi di utenti che si trovano nella tua zona e iniziare a partecipare alle riunioni. Le opportunità di networking che tale incontro porta il tuo nome là fuori se hai la possibilità di fare una dimostrazione in uno degli incontri.

    
risposta data 10.11.2010 - 16:52
fonte
1

Un grado non è necessario per qualsiasi lavoro di programmazione, ma sicuramente ti aiuta a superare la porta.

Immagino che ci possano essere dei modi per farti strada all'interno di un'azienda o dei modi per ottenere un ruolo basato su cose che hai fatto nel tempo libero, ma immagino che il 95% delle persone nell'IT in tutte le aree hanno gradi. Forse non sono diplomi di laurea in scienze comp. (Io no - il mio è ingegneria elettronica e ho lavorato con storici che erano buoni programmatori), ma gradi in qualcosa.

Ma se per un motivo o per l'altro non vuoi o non puoi andare all'università ci saranno alternative, devi solo capire cosa sono.

    
risposta data 10.11.2010 - 16:57
fonte
0

Per la programmazione di basso livello, è necessario conoscere alcuni componenti elettronici e circuiti e parte della matematica che c'è dietro. Non un ton di per sé, ma abbastanza.

Un grado è sempre bello.

    
risposta data 10.11.2010 - 18:16
fonte
0

Ho iniziato la mia carriera nel 2006 come sviluppatore di software, ho lavorato in molte aziende tra il 2006 e il 2011, ma credetemi nessuno mi ha chiesto delle mie qualifiche (laurea). L'intervistato ha semplicemente fatto domande sul campo senza riguardo al grado.

    
risposta data 14.06.2011 - 08:01
fonte
0

In qualità di gestore delle assunzioni per varie società i cui prodotti principali includono sistemi embedded, posso dire che non assumerei semplicemente nessuno che non avesse una laurea in CS o EE presso un'istituzione accreditata. Il grado dimostra che la persona è impegnata a una profonda comprensione del proprio campo e non si limiterà a confondere i problemi.

In più occasioni ho assunto gruppi in cui un gruppo di ingegneri esperti e non esperti erano presenti nel team ... La mia osservazione è che, di gran lunga, gli ingegneri non laureati erano leggeri ed erano adatti solo per certi tipi di programmazione di tipo "grunt-work" in cui non potevano fare danni reali. Le architetture e il pensiero reale dovevano essere fatti dal ragazzo con gradi.

Ha senso anche, quando ci pensi ... il poster originale di questo thread sta essenzialmente dicendo "Voglio bypassare la curva di apprendimento e saltare semplicemente davanti alla linea". Non sto dicendo che è impossibile, ma quando alla fine atterrerai quel lavoro incorporato che stavi cercando potresti essere sorpreso da tutte le cose che trovi che non conosci.

    
risposta data 05.07.2014 - 09:03
fonte

Leggi altre domande sui tag