software engineering for data scientists book