Skip to main content

Bazel Training

These training courses are instructed by Alex Eagle, Aspect's co-founder and Bazel community expert.

To sign up for a live training, see https://www.aspect.dev/services#training.

At each step, you'll try some exercises to get a hands-on experience. You can pick whether you're most comfortable in Java, Python, Go, Swift, or JavaScript.

Paid Content

Our training courses are available for Aspect Pro and Enterprise customers.

If you don't have a login, you can register for Aspect Pro. Email hello@aspect.dev to learn more.

Bazel 101 for Product Engineers

This three-hour training course is intended for product engineers.

You care about developing product features on-schedule. The build system is a necessary evil, which you rely on for quick iteration time.

Our Bazel 101 training course provides the missing Bazel foundation for product engineers to keep their build and test loops fast, without getting bogged down in Build Systems details.

Topics include:

  • What is Bazel, its essential properties and mental model. Why would we use it?
  • Introduction to the codelab we'll use to experiment with Bazel.
  • The phases of Bazel's evaluation model.
  • Configuring BUILD files.
  • Composing rules using simple Macros.
  • Running tests with Bazel.

Aspect customers: access the training materials at https://aspect-pro.netlify.app/category/101-product-engineers

Bazel 201 for DevInfra Engineers

This three-hour training course is intended for "Developer Infrastructure" or "Engineering Productivity" Engineers.

Unlike product engineers, your job responsibility requires a deep knowledge of how Bazel works, how you can configure it to maximize your developers productivity and avoid common "footguns".

You may want to take the 101 course prior to 201, as the knowledge from it is assumed here as a pre-requisite.

Topics include:

  • How to approach a Bazel Migration.
  • Introduction to the codelab for setting up Bazel from scratch.
  • Deep dive into how Bazel manages dependencies.
  • Deep dive into the Dependency graph and Action graph.
  • Performance: details about caches, watch mode, and profiling.
  • Writing custom rules.
  • Running Bazel on a CI/CD platform.
  • Monitoring and Operating a Bazel rollout.

Aspect customers: access the training materials at https://aspect-pro.netlify.app/category/201-devinfra-engineers