I came from a software engineering background and I find it difficult to organize the code that way I was used to. i.e reusable functions, abstractions, inheritance. It's impossible to achieve the same cleanliness in Jupyter Notebook than in a traditional compiled software.