This article looks like a must-read for software developers.
“The flight management computer is a computer. What that means is that it’s full not of aluminum bits, cables, fuel lines and all the other accoutrements of aviation. It’s full of lines of code. And that’s where things get dangerous.”
Also published here
https://spectrum.ieee.org/how-the-boeing-737-max-disaster-looks-to-a-software-developer