software engineering for data scientists