Mi stavo chiedendo ... Ci sono persone là fuori che codificano cose che vanno su Marte, sistemi di controllo satellitare, impianti nucleari. Che tipo di allenamento hanno fatto? Qual è il loro percorso di carriera?Come si diventa sviluppatori software per satelliti e altri sw mission critical?
risposta
Ci sono dozzine o forse molte dozzine di diversi tipi di lavori coinvolti. Alcuni fanno più fisica, simulazione, GUI, comando e controllo e così via. Questa domanda è: "Come posso iniziare questa carriera?" o "Sono curioso, chi sono queste persone?"
... è entrambi :) –
Questi tipi di campi richiedono un'educazione (probabilmente attraverso almeno i maestri) in Fisica e Matematica, dove la programmazione è un'abilità secondaria.
Questo spiegherebbe sicuramente molti di questi fallimenti di missione. Chiunque pensi che la Fisica e la Matematica sia un sostituto della disciplina ingegneristica merita di perdere il proprio satellite da $ 500 milioni. – MusiGenesis
Che i programmatori stiano codificando roba con cui non hanno competenze tecniche o che matematici e fisici non possono tenere traccia dei puntatori? –
Sono d'accordo con @MusiGenesis. Se studi la fisica, e poi ti metti a programmare per un lavoro mission-critical senza addestramento addizionale e specifico, è probabile che tu faccia saltare in aria le cose. –
Il percorso tipico probabilmente assomiglia:
- ottenere un lavoro degli studenti in un laboratorio di ricerca dell'Università
- imparare dai "vecchi" studenti laureati e dipendenti
- farsi assumere come un dipendente temporaneo in detto laboratorio di ricerca
- Insegnare al "nuovo" laureato s tudents
- Fare qualcosa di buono per farsi notare
- prendere contatti con la gente in agenzia concessione
- farsi assumere dall'agenzia appaltante o uno dei loro appaltatori
Ho un amico che, dopo essersi laureato in ingegneria ottica, è andato a lavorare per Perkin-Elmer, macinando tra le altre cose lo specchio Hubbel. Nel suo tempo libero, ha scritto un software per calcolare le traiettorie dei proiettili terrestri e insegnare a se stesso la meccanica orbitale. Il suo interesse e le sue conquiste hanno così impressionato le persone della NASA che lo hanno ingaggiato e la sua carriera ha incluso la gestione dello sviluppo di SW per il simulatore dello space shuttle e il ruolo di specialista di missione in una coppia di missioni shuttle.
Ho avuto discussioni con persone che lavorano al Los Alamos National Laboratory e dicono che per lavorare lì, si trova qualcuno che già fa e poi li chiama ogni settimana per almeno due anni e questo può portare a un colloquio . In altre parole, sii interessato e persistente.
ok, ma come ha imparato queste cose? solo da solo? –
Per quanto ne so, da solo. Tuttavia, immagino ci fossero alcune persone intelligenti al lavoro con cui ha parlato. I professionisti universitari sono anche brave persone da conoscere. – Bruce
+1 Questo è simile alla mia risposta: inizi a specializzarti in un determinato campo e poi passa all'ingegneria del software nel corso della tua carriera. –
Una domanda contraria: stai parlando di R & D o del codice di produzione?
Un sacco di risposte sopra riportati R & D team di sviluppo di nuove idee per migliorare le invenzioni già esistenti, o per abilitare nuove avventure scientifiche che non erano precedentemente possibili - in questi casi sono d'accordo.
Ma c'è ancora un gran numero di persone che scrivono il codice che viene effettivamente distribuito con l'hardware. Come in ogni impresa importante, non vuoi che i sognatori visionari che hanno escogitato la soluzione radicale siano i ragazzi che implementano effettivamente la cosa che potrebbe rischiare la vita umana. Sono due diversi focus e due diverse carriere.
Sono d'accordo con l'Accademico, approcci di ricerca si sta parlando delle squadre R & D.
Ma se si vuole scrivere il codice di produzione, acquisire familiarità con le procedure e controllo di qualità e pratiche di garanzia. Tutti i campi menzionati implicano contratti di sviluppo con il governo che richiedono il massimo grado di diligenza e diligenza, dal momento che costano enormi somme di denaro, possono rischiare almeno un paio di vite umane e, nel caso di un impianto nucleare, potrebbero distruggere intere popolazioni. Vuoi assicurarti che il codice sia passato attraverso un sacco di recensioni e test !!
a salire sul team di sviluppo, imparare alcuni dei processi di sviluppo di fascia alta e le pratiche - CMMI, Six Sigma. Impara il più possibile sui test e sui cicli di vita. Lavora in uno stage vicino a questo campo, in particolare se lo stage ti sottoporrà a uno sdoganamento - gran parte del lavoro che hai menzionato potrebbe richiedere uno spazio di difesa, ed è un enorme vantaggio se ti diplomi all'università con una liquidazione in mano.
Richiesta alla http://careeroverflow.com/ –
@Neil: probabilmente, ma io non sono davvero in cerca di consigli per la carriera nella programmazione, sto cercando di competenze di programmazione necessarie per una carriera in quella direzione. È il contrario, per così dire. –
Non ho mai lavorato in un posto del genere ma vorrei. Penso che la passione per i test e l'ossessione per il controllo degli errori contribuisca, dato che devono testare cose del genere. Giocatori di scacchi che preferiscono gli scacchi per corrispondenza ai giochi blitz. Di solito si può andare via con errori nel software, ma non lì. Solo la mia ipotesi :) –