Then there's the technical debt!
Shipping is frankly the easy part. It's the operating overhead that often breaks you.
I liken it to free puppies.
I have always prided myself on writing concise, high-Quality code, because it tends to be quite debt-free.
So far, LLMs seem to deliver code with "Louie Da Loan Shark"-levels of tech debt.
It seems like the cost of changing hardware code is high enough to still insist on building it high quality, is that accurate?
Hardware people insist on treating software the same as firmware.
Bad firmware can cause real-world, physical damage, and be impossible to fix without a hardware recall. A firmware bug can wipe out a hardware company. A software bug can be embarassing, but can also be corrected a lot more easily (as long as it is being treated differently from firmware).
That describes my last week. What made it most annoying, was the need to release through TestFlight, because the memory issues would not appear, when tethered. Also, I was checking in constantly, because I had to revert and reset the context, several times.
I remember a .sig that went something along the lines of:
I hate code, and want as little as possible in my software.