Machine learning projects often rely on many different libraries and tools. To manage these dependencies, we need to have a streamlined build process. A fast and effective build process can make or break many projects. If you wait too long on builds, developer productivity suffers and projects get delayed. In this course, you'll learn the fundamentals of building efficient and effective build processes for your Java machine learning applications. You'll explore common build tools like Maven and Gradle, understanding how they can construct a build process. From here, you'll explore different optimizations for build processes, including caching, parallelization, automations, and multi-project builds.
This course is designed for software engineers, data engineers, and developers working with Java-based machine learning applications. If you're building analytics systems, model training pipelines, or large-scale Java projects—and want to optimize build performance—this course will give you the skills to do so confidently.
Learners should have solid experience writing and compiling Java applications, including working with classes, packages, basic build commands, and common development tools.
By the end of this course, you'll have the skills to confidently create build processes for your machine learning applications.
Overview
Syllabus
- Introduction to Java Build Processes
- This module gives an overview of the Java build process, discussing common build tools and some of the tradeoffs between common tools.
- Implementing and Optimizing Build Processes
- This module explores the process of creating build processes with Gradle and Maven, focusing on machine learning based dependencies. We'll also explore optimization of build processes, including caching and parallelization.
- Advanced Build Optimizations and Automations
- In this module, we explore how to further extend builds to be as efficient and automated as possible. We'll focus primarily on dependency resolution, build automation through pipelines and breaking down builds into multiple projects.
Taught by
Starweaver and Scott Cosentino