Most software positions at SpaceX, even those working on critical flight code, do not require aerospace knowledge. And SpaceX is not a great example as they hire a lot of interns and junior people willing to grind.
Overworking, but probably not underpaying. I remember hearing about how much a SpaceX intern was payed and being shocked (it was several X my scientist pay)... Then she told me how many hours she was working, and it made some more sense (but it still seemed high -- scientists often also work 80+ hours)
I work in the same industry as SpaceX. They are in fact well known for pay that would be average-at-best in a sane work environment coupled with an absolutely insane work environment. When I was in college, my only goal was to get a job at SpaceX. After getting a few internships and talking to some people in the industry, my only goal now is to never be so desperate for work that I accept a job at SpaceX.
Their intern pay was also in line with this. I got paid a little bit less as an intern at NASA, but much more as an intern at a non-aerospace (also non-FAANG) tech company.
Getting paid what seems like a lot is not the same as getting paid what the work you're doing is worth.
i.e., did it seem like a lot "for an intern"? Did it seem like a lot when you take into account what was expected of them? I mean, if interns get hired to jobs that seniors (for the sake of argument) should be doing, and the interns are getting sub-senior pay, then they are underpaid.
When I worked at SpaceX I had one of the saddest comp packages I've ever had in a long career. I left for a competitor and got 35% more just walking in the door, plus I don't have to deal with an inhumane company culture. I honestly don't know what Elon is going to do when he runs out of people to chew up and spit out.
This is pretty standard in all industries. Most people who work at a bank aren't financial experts. Most people who work at a hospital aren't medical experts.
Thats because most roles aren't the core of the business. Most are supporting the core. You don't need to be a flight engineer to build the system that tracks parts during manufacturing. You don't need to know how swaps work to build an order management system for traders. You don't need to know how to do surgery to build a scheduling system for the surgeons.
What do you work on, and how much prior domain experience did you have? (And if you did have some, was it necessary?)
I currently work for an agtech company, the domain-specific stuff is just context for the generic numbers and equations, or a reason to choose one over the other, to the extent that I need it it suffices to have a colleague who's a domain (but not software) expert.
You might say that's the other extreme, aerospace is different, but I don't really see that it is. I don't think anybody's claiming SpaceX doesn't have or need aerospace engineers, but once they've, idk, specified a formula for a parabola representing a flight path say (yes, I don't know what I'm talking about!) then the domain doesn't (needn't) matter to the software engineer implementing it.
Flight paths and what not are crafted by GNC engineers who hand them over to software engineers to implement. Really the only domain expertise needed in software is for space-grade fault tolerance, which is a couple people per vehicle.
Iv'e worked with aerospace sims, grid-level protection products, financial products for banks and safety-certified industrial control software (even nuclear in some cases) that will result in great property damage and even death upon failure.
Basically nobody in any of those places had any domain knowledge outside that which was learnt during the act of developing and, in some rare cases, some "familiarization" courses during a day or so.
Is this a euphemism for an employer overworking and underpaying their talent?