Clean Machine Learning Code

Even Bad ML Code Can Function. This course provides solutions to prevent disasters in your ML software product.

Machine Learning (ML) pipelines are software pipelines after all.

What you’ll learn

  • The studens will learn how to apply practical software engineering principles to prevent failures in their machine learning software projects..
  • Fundamental software engineering concepts applied to ML code to boost maintainability, collaboration, and production-readiness..
  • Principles of ML Software Architecture..
  • Test-Driven Machine Learning Concepts..
  • How to optimize ML code for readability and testability..
  • How to protect ML projects from the tyranny of ML frameworks..

Course Content

  • Clean Machine Learning Code Fundamentals –> 14 lectures • 39min.
  • Optimizing Names –> 18 lectures • 23min.
  • Optimizing Functions –> 25 lectures • 38min.
  • Optimizing Style –> 27 lectures • 32min.
  • Clean Machine Learning Classes –> 12 lectures • 41min.
  • ML Software Architecture –> 23 lectures • 51min.
  • Test-Driven Machine Learning –> 31 lectures • 1hr 22min.

Clean Machine Learning Code


  • Basic knowledge of Python.
  • Basic knowledge of ML concepts and business goals.
  • Basic understanding of the Software lifecycle.
  • Basic exposure to business use cases that benefit from ML solutions.

Machine Learning (ML) pipelines are software pipelines after all.

This course will you apply practical software engineering principles to prevent failures in your machine learning software craftsmanship journey.


There is no useful Machine Learning (ML) without extensive software. Building complex software comes with many challenges.

ML software is explicitly full of needless complexity and repetition. Thick opacity, rigidity, and viscosity of design magnify this brew of complexity. With these issues, ML failures are growing in importance at an unprecedented pace.


It does not have to be this way.

As a global data science community, the autonomous systems we build can be costly, dangerous, and even deadly. Adding to the problem is the inexperienced workforce of this 5 to 10 years old craft. As of 2019-2020, 40% of data scientists in the USA have less than 5 years of experience.


The software industry is experiencing a boom in ML development and usage. This is not unlike previous software engineering booms in the early 2000s. The current boom manifests itself with a menagerie of constructs, abstractions, frameworks, and workflows. This multitude of integration challenges remind us of old and classical software problems. Some of the issues present in the ML software engineering practice are new. But the majority of the software engineering concerns have a historical smell. Going back to the early days of software engineering can help with today’s ML problems.


For us, ML engineers, it is time to stop reinventing the wheel, making the same old mistakes, and start using the decades of successful software engineering practices by replacing “Software” with “Machine Learning Software”. This course can help with that.


Get Tutorial