3 ms·
This is such a powerful frame of mind. Bugs, software architecture, tooling choices, etc. all happen within organizational, social, political, and market machin
by xelxebar 2y ago
This is such a powerful frame of mind. Bugs, software architecture, tooling choices, etc. all happen within organizational, social, political, and market machinery. A bug isn't just a technical failure, but a potential issue with the meta-structures in which the software is embedded.
Code review is one example of addressing the engineering process, but I also find it very helpful to consider business and political processes as well. Granted, NASA's concerns are very different than that of most companies, but as engineers and consultants, we have leeway to choose where and how to address bugs, beyond just the technical and immediate dev habits.
Soft skills matter hard.
- asdff 2y agoIt makes you wonder if there's been work designing software that is resilient to bugs. Maybe you can test this by writing a given function in a variety of different ways, simulate some type of bug (fat fingering is probably easiest), and compare outputs. Some of these functions might not work at all. Some might spit out the wrong result. But then there will probably be a few that are written in such a way to get very close to the true result, and maybe that variance is acceptable for your purposes. Given how we currently write code (in english in a way a human can read it) maybe its not so realistic. But if we get to the point with our generative code where you can generate good quality machine code without having it transmuted to human readable code for human verification, then this is how we would be operating: looking at distributions of results from a billion putative functions.