#boeing #amazon Saw the post wining about amazon retail side tech debts. Believed should mostly come from legacy code, rush for new features, adapting new technologies or infrastructures so tons of things are duct taped together. Makes me wonder how's the quality of, saying Boeing flight control, navigation system etc. Those tend to be life critical systems, are they having similar problems? Any insights or dudes from/worked for Boeing?
Not specifically about Boeing, but somewhat related: http://mobile.baselinemag.com/c/a/Projects-Processes/Eight-Fatal-SoftwareRelated-Accidents Also: https://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/ https://arstechnica.com/information-technology/2014/04/bug-can-cause-deadly-failures-when-anesthesia-device-is-connected-to-cell-phones/
6 years ago I worked for a company that builds black boxes for planes. Take some comfort in knowing that it's an absolute bureaucratic nightmare. Practically every line of code needs to have comments documenting the reasoning behind it and which requirement it's for.
Current software engineer at Boeing, adoption of new technology here is extremely slow due to the fact of bureaucracy making things not move along for months at a time. There's a big push in the aerospace industry right now to update outdated software programs to newer technology and iterative design processes like agile, but our leadership won't move forward unless something has been proven to work internally. Lower margins on our programs vs tech companies and a huge focus on safety makes us very slow moving forward since we have less room for experimentation and error. I work in classified R&D which is arguably faster than the rest of the company, but we still have zero tolerance for error in the realm of safety and have to go through many checks before code is put into production on our systems. I don't think there's anything to worry about.
I believe a lot of those systems are contracted out. Companies like Honeywell and Rockwell collins are the ones doing the implementation. I think boeing engineers might just write the spec and then leave it to the contractors. As for the quality of the code in these systems, I tend to think that the "engineering" part of software engineering is heavily emphasized. Look up the history of software engineering for the space shuttle to get a sense of the effort that is put in
I can second this.
The level of ‘review’ before something gets on an in-service aircraft would cause consumer tech companies to come to a screeching halt. For better or worse the systems are inherently less flexible, rely on less ‘libraries or api’s’ and are sometimes closer to assembly than say, JavaScript or anything ‘modern’ There isn’t a culture that supports tinkering or ‘let’s try this’. Instead it’s all incredibly intentional, with a verification/test plan to verify the change acts as intended. Then it’s QA’ed by whoever is the vendor, then in-house, then it goes to lab testing, then maybe even flight testing THEN it goes not to all aircraft but to the engineering departments at airlines or their service providers. Then they run their own QA and then it finally makes it inservice on a passenger aircraft..! If you’re space program... ouch.