10 answers
Asked
1710 views
I think I would like to be a software engineer one day in the aerospace industry, maybe writing programs for autopilot systems in spaceships. Should I major in Computer Science or Aerospace/Mechanical Engineering?
#aerospace #computerscience #aerospace-engineering #majors #college #engineering #mechanical-engineering #technology #space #software
Login to comment
10 answers
Updated
Stephen’s Answer
Hi Ryan,
If your interest is in writing software I'd recommend a degree in Software/Computer Engineering or Computer Science. The Software/Computer Engineering will go into more of the theory behind how things work and then get into learning different coding languages where Computer Science will focus more on coding. You mention Aerospace/Mechanical engineering, so I wonder if you are interested in writing software to control mechanical systems? If yes, I would definitely investigate different Software/Computer Engineering curriculums at different colleges to see if you learn about any mechanical engineering topics.
Best of luck!
If your interest is in writing software I'd recommend a degree in Software/Computer Engineering or Computer Science. The Software/Computer Engineering will go into more of the theory behind how things work and then get into learning different coding languages where Computer Science will focus more on coding. You mention Aerospace/Mechanical engineering, so I wonder if you are interested in writing software to control mechanical systems? If yes, I would definitely investigate different Software/Computer Engineering curriculums at different colleges to see if you learn about any mechanical engineering topics.
Best of luck!
Thank you! This answer was very helpful.
Ryan
Updated
Jon’s Answer
Hi Ryan,
If you'd like to be a software engineer, I recommend majoring in Computer Science or Computer Engineering. At most major aerospace companies, you will be working as a developer who programs according to the requirements passed onto you from the product manager.
Source: I am a project manager at US-based aerospace company
If you'd like to be a software engineer, I recommend majoring in Computer Science or Computer Engineering. At most major aerospace companies, you will be working as a developer who programs according to the requirements passed onto you from the product manager.
Source: I am a project manager at US-based aerospace company
Hi Mr. Choi,
This answer was extremely helpful! I think I am going to major in computer science.
Thank you,
Ryan
Ryan
Updated
Naseer’s Answer
"writing programs for autopilot systems in spaceships"
There are two aspects to this:
1) In-depth knowledge of aerospace systems and manoeuvring.
This would require engineering degree in aerospace.
2) Knowledge of relevant programming language used in those systems.
This can be obtained by taking up a master's degree in computer engineering.
There are two aspects to this:
1) In-depth knowledge of aerospace systems and manoeuvring.
This would require engineering degree in aerospace.
2) Knowledge of relevant programming language used in those systems.
This can be obtained by taking up a master's degree in computer engineering.
Thank you! This answer was very helpful.
Ryan
Updated
Gunajit’s Answer
Hi Ryan,
I did my Bachelors degree in Aeronautical Engineering in the early nineties. Although that was a long time ago, there was a lot of software programming (Fortran, C) involved during the degree program. There was almost a symbiotic relationship between the software programming aspects and the structural, computational fluid dynamics and/or the propulsion systems on an aircraft/spaceship. The point I am trying to make is that you will need to learn programming in any aspect of Aeronautical/Aerospace Engineering curriculum as most aircraft/spaceship, over the last few decades have become 'fly by wire' with the software aspects of the aircraft/spaceship driving the mechanical components which keep the aircraft/spaceship in the atmosphere, not to mention the terabytes/petabytes of telemetry that is generated and processed during flight.
If your interest is in Aerospace/Mechanical engineering, I would recommend that you do a degree in either of those areas with a deeper focus in software engineering courses during your degree curriculum, meaning take a few more software engineering courses than what it prescribed in your curriculum, perhaps if possible, major in either one of those areas and minor in computer science or a software engineering area. That way you can stay focused on your core interests and also have some depth in software engineering which could be applied to aircrafts/spaceships and even to cars, trucks or any mechanical device in the future which have potential for an Autopilot.
Best of luck!
Gunajit
I did my Bachelors degree in Aeronautical Engineering in the early nineties. Although that was a long time ago, there was a lot of software programming (Fortran, C) involved during the degree program. There was almost a symbiotic relationship between the software programming aspects and the structural, computational fluid dynamics and/or the propulsion systems on an aircraft/spaceship. The point I am trying to make is that you will need to learn programming in any aspect of Aeronautical/Aerospace Engineering curriculum as most aircraft/spaceship, over the last few decades have become 'fly by wire' with the software aspects of the aircraft/spaceship driving the mechanical components which keep the aircraft/spaceship in the atmosphere, not to mention the terabytes/petabytes of telemetry that is generated and processed during flight.
If your interest is in Aerospace/Mechanical engineering, I would recommend that you do a degree in either of those areas with a deeper focus in software engineering courses during your degree curriculum, meaning take a few more software engineering courses than what it prescribed in your curriculum, perhaps if possible, major in either one of those areas and minor in computer science or a software engineering area. That way you can stay focused on your core interests and also have some depth in software engineering which could be applied to aircrafts/spaceships and even to cars, trucks or any mechanical device in the future which have potential for an Autopilot.
Best of luck!
Gunajit
Thank you! This in-depth answer was very helpful.
Ryan
Updated
Vladimir’s Answer
This is a perfect carrier choice, one of the most interesting and challenging one, as it is a joint point where the virtual universe of programming language code lines touches the real world of sensors and actuators. That’s amazing when you could see the result of your program execution not as some symbols or picture on the screen, but as some motor RPM change or rudder movement.
As you stated you would like to be a software engineer writing programs - you should major in Computer Science or Software Engineering. But programs you will be developing are not intended for the common-purpose desktop/server computers or for mobile devices. These programs are named embedded software, as they are executed on multiple microprocessors/microcontrollers embedded deeply into vehicle or plane/spacecraft. Most common software engineering principles are also applicable for such kind of software; however, there are a lot of specifics you need to consider. So studying Computer Science it would be worth to track and elaborate such specifics wherever possible; “embedded” is the keyword. And to advance your capabilities to apply your software engineering skills for embedded applications you may try to get minors in Microelectronics/Mechatronics or Communication Protocols. Sometimes program development or debugging would require even to take an oscilloscope and probe signals on the circuit board. And as Aerospace is all about safety/reliability/security, it would be great, for example, to narrow some of your course assignment projects to software reliability area.
It seems to be easier to pick-up industry-specific knowledge being a Software Engineer rather than to pick-up programming skills being an industry engineer. I know several success stories, including myself, when people with major in Software Engineering worked well in automotive industry, developing and testing software for engine control, vehicle stability control, etc. Working on industries intersection is twice as interesting as it would be in each of them separately. With Aerospace it would be even triple. Good luck!
As you stated you would like to be a software engineer writing programs - you should major in Computer Science or Software Engineering. But programs you will be developing are not intended for the common-purpose desktop/server computers or for mobile devices. These programs are named embedded software, as they are executed on multiple microprocessors/microcontrollers embedded deeply into vehicle or plane/spacecraft. Most common software engineering principles are also applicable for such kind of software; however, there are a lot of specifics you need to consider. So studying Computer Science it would be worth to track and elaborate such specifics wherever possible; “embedded” is the keyword. And to advance your capabilities to apply your software engineering skills for embedded applications you may try to get minors in Microelectronics/Mechatronics or Communication Protocols. Sometimes program development or debugging would require even to take an oscilloscope and probe signals on the circuit board. And as Aerospace is all about safety/reliability/security, it would be great, for example, to narrow some of your course assignment projects to software reliability area.
It seems to be easier to pick-up industry-specific knowledge being a Software Engineer rather than to pick-up programming skills being an industry engineer. I know several success stories, including myself, when people with major in Software Engineering worked well in automotive industry, developing and testing software for engine control, vehicle stability control, etc. Working on industries intersection is twice as interesting as it would be in each of them separately. With Aerospace it would be even triple. Good luck!
Updated
George’s Answer
Hey Ryan,
This is a tough one because in the future, I'd imagine that most jobs would require a level of programming expertise. In addition to this, I feel that Aerospace engineering is little less generic and more specialized compared to the extremely broad field of computer science. However, the difference between good and great programmers is the theory and 'science' that only a good computer science program in college can provide. So with that said, if being an expert programmer is a big goal of yours, I'd find a good computer science program to Major in.
This is a tough one because in the future, I'd imagine that most jobs would require a level of programming expertise. In addition to this, I feel that Aerospace engineering is little less generic and more specialized compared to the extremely broad field of computer science. However, the difference between good and great programmers is the theory and 'science' that only a good computer science program in college can provide. So with that said, if being an expert programmer is a big goal of yours, I'd find a good computer science program to Major in.
Thank you! This answer was very helpful.
Ryan
Updated
Mickael’s Answer
Hi Ryan,
If your goal is to write software, especially embedded autopilot software, I would recommend to have a Master Degree in Computer Science. There will be mechanical and aeronautical engineers to help you understand the physics. But you will need to know how to properly write the program and that requires good knowledge in computer science.
If your goal is to write software, especially embedded autopilot software, I would recommend to have a Master Degree in Computer Science. There will be mechanical and aeronautical engineers to help you understand the physics. But you will need to know how to properly write the program and that requires good knowledge in computer science.
Thank you! This answer was very helpful.
Ryan
Also writing embedded real time software is not the same as writing software for computer or smart phones. It requires some knowledge of the architecture you are working on.
Mickael Rosenberg
Updated
Neha’s Answer
Since your goal is clear - a software engineer in aerospace industry, you should pursue computer science to hone you skillset for the same. If you college allows, or if time allows, you can always take up a minor in aerospace or mechanical, or take up extra subjects in those fields if you are truly passionate to learn about those fields as well. However, to be a software engineer, and a good one, you should pursue computer science.
Thank you! This answer was very helpful.
Ryan
Updated
Rohit’s Answer
If your goal is to write a software program, I would recommend you to have a degree in Computer Science. Along with this, there are other dimensions which are required to look into aerospace industry. It's good to have basic knowledge of some disciplines including aerodynamics, propulsion, avionics, how plane fly, etc.
There are some courses which would be help you to get aerospace related jobs like certification in DO178B and DO178C ( Guidelines ).
There are some courses which would be help you to get aerospace related jobs like certification in DO178B and DO178C ( Guidelines ).
Thank you! This answer was very helpful.
Ryan
Updated
Anil’s Answer
Hi Ryan,
I would recommend you to have a degree in Computer Science. You will learn the domain quickly, there will be experts who can define and pass on the requirements. Having a strong core Computer Science knowledge will help you to write quality code for the autopilot systems.
I would recommend you to have a degree in Computer Science. You will learn the domain quickly, there will be experts who can define and pass on the requirements. Having a strong core Computer Science knowledge will help you to write quality code for the autopilot systems.
Thank you! This answer was very helpful.
Ryan