Im currently working as a web developer, and have knowledge of javascript, python, and Java all with in the context of web development. For the longest time though, I have been really interested in what it would take to become a flight software engineer for NASA or a company like SpaceX, Blue Origin, Boeing, or Planet Labs.
I have no knowledge of what this kind of line of work would look like but it seems like really challenging and rewarding work. I have been in love with aviation ever since I was little and want to know how I can combine my love for writing software and aviation into a career. I know that my experience in web development will help me only a little bit when trying to transition into this line of work.
I wanted to know from you all the following.
What topics should a Flight Software Engineer truly be a master in?
For a complete beginner (who has only web development experience) where can they start to learn these skills?
Are there projects one can complete on their own? Should I make my own automated drone?
Are there any books that one can read to start learning about these topics?
Are there any online youtube channels, tutorials that one can look at to start learning these topics?
Any resource would be highly appreciated! Just am looking to learn as much as I can about this field so that I can eventually try to move over from being a web developer to being a flight software engineer!
You could go the the companies’ websites and do a job search for “software engineer” and get a good idea of the job descriptions and requirements.
There’s a wide range of skills needed at these companies. For example web development skills could be used at SpaceX to build touch screen interfaces their Dragon capsule uses, which runs on web tech.
At the same time you could also be working on low level programming using something like C and actual hardware requirements to build the hardware/software combo that actually manages the craft itself.
You could also be working at a systems level, say in Linux to build software that is used more indirectly with what ends up in space or in the air.
You could also be working on more “business oriented” software that is used to manage all the other things going on with the project.
I think you can be a contributor in any of these areas and learn different things, but all parts are required to accomplish a project’s goals.
If you want to work on the actual code that manages the spacecraft I’d do what is mentioned above and just look at the job requirements. Often-times due to the hardware constraints, you’ll probably need to be working in C or C++, and low level hardware.
You’d also probably want to know some elements of the domain. If your writing software for flight/space flight then you’d want at least a high level understanding of orbital mechanics, aerodynamics and physics.
This is really helpful! Thank you for your reply @bradtaniguchi and @RandellDawson ! I think I will follow what both you and @RandellDawson have mentioned. Really appreciate the thoughtful response.
“Fight Software Engineer” isn’t really a defined profession. It could be a descriptor for any software engineer who works on flight software. Such software is extremely large and complex and has a truly mind-blowing number of teams working on different parts. You can certainly research companies that do a lot of space program work and see what languages and tools they use, but there isn’t a career path you can follow to work on space programs as a developer.
I know a couple of people who work on satellite programs (at Ball Aerospace and DigitalGlobe). Both of them are test engineers and are required to maintain a security clearance. One does more software test and comes from a computer science degree and the other does more systems test and has a computer engineering or electrical engineering degree.
I have a friend at NASA. I’m not sure exactly what they do, but they have a PhD. in math.
I’ve been reached out to repeatedly by companies like Lockheed Martin and Northrup Grumman for stuff related to space - they require a formal degree and a security clearance. I’ve been reached out to about doing contracting for Space Force, but I didn’t bother to get more details. I’ve talked multiple times to a recruiter looking for a senior JavaScript and React developer for Mars mission ground control software - they didn’t require a security clearance.
It’s an industry that has a lot of companies and disciplines contributing to it.