If someone is a programmer, but without any kind of knowledge or know-how about engineering and would want to work in space industry, what would be his chances to find a job anywhere? (NASA or other space agencies)
If you were trained as a computer scientist with a reasonable amount of math and science classes, yes. If you are a self taught programmer, or if you majored in computer science so that you only had to take a token number of pre-calculus math and Physics for Poets type classes, not so likely.
There are plenty of places in the aerospace industry where computer science skills dominate over engineering. Some examples:
Flight software is oftentimes tested in a simulation environment. Somebody has to write the simulation engine. There's a physics engine part that you won't write, but there's a huge computer science part as well.
The flight software itself has to receive data from sensors and other computers, send data to effectors and other computers. How those inputs are converted to outputs, that's going to be directed by engineers. But those input / output processes themselves: That's a computer science problem.
The flight software runs on computers, sometimes multiple computers for redundancy purposes. How do you know if one of those computers has failed, has a rogue I/O card, has had it's memory messed up by a single event upset? That once again is a computer science problem.
Modern flight software is multithreaded. Do aerospace engineers know about threads? Maybe, maybe enough to be dangerous. Making that right, getting the scheduling algorithm right, that's yet another computer science problem.
Getting stuff into space is a huge logistics problem. That means databases galore. Once again, this is a problem for computer science majors to tackle rather than aerospace engineers.
In addition to David's answer, there's a few other key fields where programmers are often needed. The biggest need is usually in managing the data from the spacecraft. For instance, at my company, there's around 8 programmers that I'm aware of working on stuff related to the spacecraft. Of those:
- Two work on the spacecraft themselves.
- 1.5 work on building tools to simplify the process of command processing and data analysis.
- The rest work on programming the ground network to talk with the satellites, and optimize the comm schedule, etc.
From my work with the HiRISE camera, here's the approximate breakdown of programmers at that time:
- An unknown number programmed the flight software. I didn't have many dealings with them.
- One programmed a bunch of web tools used to assist with planning upcoming passes, and a lot of other misc. tasks.
- One programmed a PR tool to look at images.
- One programmed a Java application to do the short term planning and commanding.
- One managed the databases.
- One did the image process programming.
Of these, all of them were computer science types. I'm not as familiar with those writing the Flight Software, however.
As a non-engineering oriented programmer, you are less likely to be writing the spacecraft code itself, but there's plenty of work outside of that realm. I as a self taught programmer ended up programming a significant part of a simulation used by a aerospace company.