Machine Learning Infrastructure and Best Practices for Software Engineers