During her recent visit to Bucknell, Carolyn Mooney from nextmv made an excellent case for rethinking the software used for automating decisions.
Her talk is now available online in the following link:
Decisions as Code: Systems Thinking, Optimization, and Computer Science
Here are some of my takeaways from her talk:
- Current tools require a long development cycle with a multi-disciplinary team including experts, which may not be among the first hires of a startup.
- These tools may be difficult to integrate due to the misalignment with contemporary software engineering practices.
- The outcomes of these tools may be hard to interpret and test, in particular if they are not fully reproducible.
- It is perhaps oblivious to optimization experts that the word “constraint” carries a very negative connotation for non-experts.
- Representing optimization problems using the conventional matricial notation creates yet another barrier to developers who are not experts; whereas it is more intuitive to model instead states and transitions through decision diagrams.
- I love the idea of using “decision engineer” as the role of a software engineer who understands optimization. In fact, Matt Turck claims that a single trend is encapsulated by big data (2013), machine learning and artificial intelligence (2017), and automation (2020).
- All of the points above are even more crucial given that most data science projects never make it into production, which means that they are developed but end up not being used in practice by the companies.
The following Twitter thread contains my notes during the talk: