TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Software Engineering Lessons from Aviation

98 pointsby riceo100about 6 years ago

10 comments

jefffosterabout 6 years ago
I think there&#x27;s a lot to learn from the aviation industry. I did a talk at my companies internal conference on this (turned into words at <a href="https:&#x2F;&#x2F;medium.com&#x2F;ingeniouslysimple&#x2F;why-dont-planes-crash-14a0579a5e2d" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;ingeniouslysimple&#x2F;why-dont-planes-crash-1...</a>).<p>For me it&#x27;s the mindset that differs. Too often as software engineers we find a bug and just fix it. Aviation goes a step deeper and finds the environment that created the bug and stops that.<p>Unfortunately, the recent 737 MAX incidents seem to have changed this. From what I understand the reaction to the problems sounds more like what I&#x27;d expect a software business to do, rather than the airline industry!
评论 #19868963 未加载
评论 #19868523 未加载
评论 #19870144 未加载
评论 #19868685 未加载
评论 #19868808 未加载
评论 #19872202 未加载
snabout 6 years ago
Checklists and written procedures are very important. One of the earlier things I did when coming into my company was create a written procedure for software upgrades until we had time to automate it with ansible.<p>One thing I have not had very good discipline about is I want to use checklists both for code submitted for review and when I&#x27;m doing reviews. Lint checkers etc. can only go so far.<p>If anyone has published checklists for code reviews I&#x27;d be curious to see them. This one seems reasonable: <a href="https:&#x2F;&#x2F;www.liberty.edu&#x2F;media&#x2F;1414&#x2F;%5B6401%5Dcode_review_checklist.pdf" rel="nofollow">https:&#x2F;&#x2F;www.liberty.edu&#x2F;media&#x2F;1414&#x2F;%5B6401%5Dcode_review_che...</a> though I&#x27;d add concurrency to the list.
cjbprimeabout 6 years ago
This was great!<p>&gt; 1. Don’t kill yourself<p>&gt; 2. Don’t kill anyone else<p>Could we reorder these, though? Every once in a while a plane will hit a house and kill its occupants (and the pilot, usually) and it&#x27;s so awful. I think not killing others as a pilot is so much more important than not killing yourself.
评论 #19870685 未加载
评论 #19868789 未加载
评论 #19868794 未加载
mylabout 6 years ago
&quot;...plenty of episodes of Mayday&#x2F;Air Crash Investigation available on Youtube too. (Be warned though, all doomed flights take off from one of the busiest airports in the world .)&quot; Great show. Comment is spot on, and don&#x27;t forget &quot;investigators were under extreme pressure&quot;.
shaminoabout 6 years ago
Nathan Marz talks about this previously, with unique insights: <a href="http:&#x2F;&#x2F;nathanmarz.com&#x2F;blog&#x2F;how-becoming-a-pilot-made-me-a-better-programmer.html" rel="nofollow">http:&#x2F;&#x2F;nathanmarz.com&#x2F;blog&#x2F;how-becoming-a-pilot-made-me-a-be...</a>
billfruitabout 6 years ago
Though article isn&#x27;t about software development in the aviation industry, a few thoughts on that:<p>The industry is really slow to change its practices and tools. Like the use of C for most software, I do feel a more safer language out to be preferred.<p>Use of 1553 bus for inter device communication, the bus and protocol aren&#x27;t general, it is very opinionated&#x2F;rigid about the manner in which communication should happen. And the hardware parts for it are horrendously expensive compared to most ethernet, IP equipment. There is an aviation ethernet standard, but adoption of it has been slow.
评论 #19879220 未加载
评论 #19870592 未加载
starpilotabout 6 years ago
Not killing yourself and a checklist (like we learned in driver&#x27;s ed but apply informally at best) also apply to driving a car.
评论 #19871033 未加载
marcosdumayabout 6 years ago
I still hold my opinion that checklists are for hardware issues. One should not be filling them on software tasks. Instead, software is automated, automatically tested and automatically verified - routine checks are an anti-feature and inversely correlated to quality.
skookumchuckabout 6 years ago
The article talks about pilot procedures, not engineering procedures specific to aviation.
horacio_colbertabout 6 years ago
Thinking of aviation makes me remember the impact of doing things right.