I think it’s the latter. Aerospace engineers do have fads like the aerospike rocket engine. Nobody’s launched one (that I know of) because it simply doesn’t work yet. The cost of failure is just too catastrophic. Instead, there’s a focus on the tradeoffs and lots of experimentation to get it right.
In software, if the prototype didn’t work, you tweak it and try again or even deploy with known issues and fix in prod later (looking at you game companies). If you had to throw away all your code and start over completely with each iteration like you do with rockets, you’d see more discussion and testing out earlier (in fact, you tend to see this more in critical software —- eg, the software that controls those rockets).
Finally, very few companies throw as much money behind business software as they do at rockets. I’d bet heavily that v8, .net, hotspot, or even gcc (metaphorical engines for your code) have only a fraction of the resources spent on a new rocket design.
Yes. Real engineers are responsible for life and death decisions in their designs. Software developers for the most part are not, and where they are, you don't see fads you see them using very long-proven and careful approaches.
In software, if the prototype didn’t work, you tweak it and try again or even deploy with known issues and fix in prod later (looking at you game companies). If you had to throw away all your code and start over completely with each iteration like you do with rockets, you’d see more discussion and testing out earlier (in fact, you tend to see this more in critical software —- eg, the software that controls those rockets).
Finally, very few companies throw as much money behind business software as they do at rockets. I’d bet heavily that v8, .net, hotspot, or even gcc (metaphorical engines for your code) have only a fraction of the resources spent on a new rocket design.