Fair criticism of Jupyter Notebooks, and how hard it is to apply good software engineering: https://medium.com/@alexander.mueller/5-reasons-why-jupyter-notebooks-suck-4dc201e27086 It's hard to transition from code in a notebook to standalone program or reusable library in my experience. I think a less stateful design would really help.