How do you become software developer for satellites and other mission critical sw? [closed]
Asked Answered
I

5

6

I was wondering... There are people out there who code stuff going to mars, satellite control systems, nuclear facilities. What kind of training did they do ? What is their career path ?

Ironsmith answered 17/4, 2010 at 14:56 Comment(3)
Ask on careeroverflow.comTympanites
@Neil : probably, but I'm not really looking for career advice in programming, I'm looking for programming skills required for a career in that direction. It's the other way around, so to speak.Ironsmith
I never worked at a place like that but would like to. I think passion for testing and obsession with error checking helps, as they must test that stuff like crazy. Chess players who prefer correspondence chess to blitz games. Usually one can get away with bugs in software, but not there. Just my guess :)Wakerife
A
4

I have a friend who, after graduating with a BS in optical engineering, went to work for Perkin-Elmer, grinding among other things, the Hubbel mirror. In his free time, he wrote software to calculate the trajectories of earth projectiles and teaching himself orbital mechanics. His interest and accomplishments so impressed people at NASA that they hired him and his career included managing SW development for the space shuttle simulator and acting as mission specialist on a couple shuttle missions.

I have had discussions with people working at Los Alamos National Laboratory and they say that in order to work there, you find someone who already does and then call them every week for at least two years and that may lead to an interview. In other words, be interested and persistent.

Anthracene answered 17/4, 2010 at 15:21 Comment(3)
ok, but how did he learn these things? just by himself ?Ironsmith
As far as I know, by himself. However, I imagine there were some smart people at work that he talked to. University profs are also good people to get to know.Anthracene
+1 This is akin to my answer: you start out specialized in a given field, and then move to software engineering in the course of your career.Wilfredowilfrid
N
3

A counter question - are you talking about R&D or production code?

Alot of the answers above apply to the R&D teams developing new ideas to enhance existing inventions, or to enable new scientific adventures that were not previously possible - in those cases I agree.

But there's still a slew of people writing the code that actually gets deployed with the hardware. As with any major endeavor - you don't want the visionary dreamers who came up with the radical solution to be the guys actually implementing the thing that could risk human life. It's two different focuses and two different careers.

I agree with the Academic, research approaches you're talking about the R&D teams.

But if you want to write the production code, get familiar with process and quality control and assurance practices. All of the fields mentioned involve development contracts with the government which will require the highest degree of due diligence and care, since they cost huge money, may risk at least a few human lives, and in the case of a nuclear facility - they could destroy entire populations. You want to make sure that code went through plenty of review and testing!!

To get on the development teams, learn some of the high end development processes and practices - CMMI, Six Sigma. Learn as much as you can about testing and lifecycles. Work in an internship close to this field, particularly if the internship will submit you for a clearance - a lot of the work you mentioned may require defense clearances, and it's a huge leg up if you graduate college with a clearance in hand.

Nonary answered 22/4, 2010 at 15:39 Comment(0)
J
0

There are dozens or perhaps many dozens of different types of jobs involved. Some do more physics, simulation, GUIs, command and control, and so on. Is this question "How do I get started down this career path?" or "I'm curious, who are these people?"

Johnathon answered 17/4, 2010 at 14:59 Comment(0)
W
0

Those type of fields require an education (probably through at least masters) in Physics and Mathematics, where programming is a secondary skill.

Wilfredowilfrid answered 17/4, 2010 at 15:1 Comment(6)
That would certainly explain a lot of these mission failures. Anyone who thinks Physics and Mathematics is a substitute for engineering discipline deserves to lose their $500 million satellite.Fitted
That programmers are coding stuff they don't have technical expertise with, or that mathematicians and physicist can't keep track of pointers?Wilfredowilfrid
I agree with @MusiGenesis. If you study physics, and then you are put on programming for mission critical sw withouth additional and specific training, you are likely to blow things up.Ironsmith
Ideally, you'd have your main focus of education in math or physics, with a minor in computer science, and then a career in software engineering (you don't just "put" them on a mission critical programming task, anymore than you put a junior cs major on a mission critical programming task).Wilfredowilfrid
I would be prone to think you have a math/physics primary engineer working together with a software primary engineer. They both have cross training skills but they both have expertise in their field. I really doubt they have one-man-shows doing this stuff.Review
I'm reminded of my father-in-law, who has a masters in electrical engineering, but at some point moved to programming embedded devices because the job market was better. 20 years later he is still doing the same thing, and you can bet he's become an accomplished software engineer, but in such a specialized discipline, you really need the proper background to begin with.Wilfredowilfrid
D
0

The typical path probably looks like:

  1. Get a student job in a University research lab
    • Learn from the "old" graduate students and employees
  2. Get hired as a temporary employee in said research lab
    • Teach the "new" graduate students
  3. Do something good to get noticed
  4. Make contacts with people in the granting agency
  5. Get hired by the contracting agency or one of their contractors
Dulce answered 17/4, 2010 at 15:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.