Minor lessons from time at an aerospace company: - When your device is in use in the field, the user will be too hot, too cold, too windy, too dark, too tired, too wet, too rushed, or under fire. Mistakes will be made. Design for that environment. Simplify controls. Make layouts very clear. Military equipment uses connectors which cannot be plugged in wrong, even if you try to force them. That's why. (Former USMC off…
> There are not "bugs". There are "defects". Priceless, I've been trying make that point for years but nobody seems to want to listen.
Trying to become a better developer by learning more about aviation
61–70 of 92 posts
Re: Trying to become a better developer by learning more about aviation
#62Minor lessons from time at an aerospace company: - When your device is in use in the field, the user will be too hot, too cold, too windy, too dark, too tired, too wet, too rushed, or under fire. Mistakes will be made. Design for that environment. Simplify controls. Make layouts very clear. Military equipment uses connectors which cannot be plugged in wrong, even if you try to force them. That's why. (Former USMC off…
> There are not "bugs". There are "defects". Priceless, I've been trying make that point for years but nobody seems to want to listen.
A buggy device is much worse for any critical application - it appears to work under inspection, and even limited testing, but 1% of the time it develops some fatal data race condition that causes it to fail erratically and cause havoc, e.g. the Therac-25.
So buggy is a subset of defective but it's even worse?
Re: Trying to become a better developer by learning more about aviation
#63> NATO Phonetic alphabet (Alpha, Bravo, Charlie…). NIT, A is written as Alfa in the NATO alphabet [0] as it is easier to understand its pronunciation. For the same reason J is written as Juliett (two t), because in some languages t can be silent. [0] https://en.wikipedia.org/wiki/NATO_phonetic_alphabet
Don't forget their cousins "tree" and "fife" — or the overpronunciation of Papa as /papà/.
Re: Trying to become a better developer by learning more about aviation
#64If you want to become a better developer through aviation, I can't recommend anything more highly than reading through NTSB accident reports. Learn from others the many, many ways small problems and misjudgements become accidents. It'll change the way you build things.
for approachable summaries of those accident reports, I'd recommend Admiral Cloudberg's "Plane Crash Series" on Medium [0] and Reddit [1], as well as YouTube videos from Mentour Pilot [2]. the latter's videos tend to have clickbait-y titles to make the YouTube algorithm happy, but the content is excellent. 0: https://admiralcloudberg.medium.com/ 1: https://www.reddit.com/r/AdmiralCloudberg/comments/e6n80m/pl... 2: ht…
Re: Trying to become a better developer by learning more about aviation
#65Earlier quoted context omitted.
There’s a certain level of arrogance that comes from the people who don’t work on safety critical stuff, that we could all do without
I always thought “well, nobody’s gonna die” is a crappy attitude for any professional developer. We should care about quality and getting it right, regardless of the stakes. QA: ”Look, if that integer overflows here, your software is going to fail.” Dev: “Well, it’s a cooking recipe app. Nobody’s gonna die!” How low of an opinion you must have of your own profession if you’re going to excuse yourself this way!
Re: Trying to become a better developer by learning more about aviation
#66Earlier quoted context omitted.
> There are not "bugs". There are "defects". Priceless, I've been trying make that point for years but nobody seems to want to listen.
What's the difference? I'm not sure how this renaming would change my behavior.
Re: Trying to become a better developer by learning more about aviation
#67Minor lessons from time at an aerospace company: - When your device is in use in the field, the user will be too hot, too cold, too windy, too dark, too tired, too wet, too rushed, or under fire. Mistakes will be made. Design for that environment. Simplify controls. Make layouts very clear. Military equipment uses connectors which cannot be plugged in wrong, even if you try to force them. That's why. (Former USMC off…
I like the term "defect" it's more accurate than "bug."
Re: Trying to become a better developer by learning more about aviation
#68Earlier quoted context omitted.
> There are not "bugs". There are "defects". Priceless, I've been trying make that point for years but nobody seems to want to listen.
A defective device in my mind would have some obviously fatal flaw - it wouldn't even start up, parts would be broken and dangling off, etc. QC immediately rejects it and it doesn't get incorporated into more complex systems. A buggy device is much worse for any critical application - it appears to work under inspection, and even limited testing, but 1% of the time it develops some fatal data race condition that caus…
They’re still defects.
Re: Trying to become a better developer by learning more about aviation
#69Fun to consider as both a computer scientist and a CFI. Instrument training in FAA-land requires learners to understand the five hazardous attitudes: anti-authority ("the rules don't apply to me"), impulsivity ("gotta do something now! ), invulnerability ("I can get away with it"), macho ("watch this!"), and resignation ("I can't do anything to stop the inevitable"). Although the stakes are different, they have appli…
WRT development, I wonder if there are attitudes that can be applied to software and hardware design that combat bad systems.
For example, cars with touchscreens instead of individual controls.
Re: Trying to become a better developer by learning more about aviation
#70Earlier quoted context omitted.
I always thought “well, nobody’s gonna die” is a crappy attitude for any professional developer. We should care about quality and getting it right, regardless of the stakes. QA: ”Look, if that integer overflows here, your software is going to fail.” Dev: “Well, it’s a cooking recipe app. Nobody’s gonna die!” How low of an opinion you must have of your own profession if you’re going to excuse yourself this way!
Have you ever written avionics-grade software? If all software had to be written to that standard, we'd have a lot less of it. That might be a good thing I guess, but recipe apps probably wouldn't make the cut.