Skip to main content

Getting Started

Where to begin?

Bazel is a complex, sophisticated piece of software that grew up in Google's monorepo since 2008. Google's systems are designed to be used by experts without much regard for making them accessible to novices.

When you start working at Google, you get a training course on using Bazel, have many co-workers to gain knowledge from, and are able to escalate to the Bazel (they call it Blaze) team internally when you need to. You never have the experience of installing Bazel in a new codebase - that happened years ago.

Ultimately though, Googlers bring Bazel with them to their next job because they've had first-hand experience through personal observation of how the full developer stack can work. It's hard to express what this looks like.

So, getting started with Bazel is a daunting task, with a positive return later on. We are here to help!

First steps

Aspect offers a training course, see https://aspect.dev/services. We have both an instructor-led and self-led option.

You could start from a self-study tutorial specific for the language you use. As of December 2022, you'll find tutorials at https://bazel.build/start under "First build guides" for C++, Java, Android, and iOS, though the content is dated. A tutorial for Go is now available on the Rules Authors SIG site: https://bazel-contrib.github.io/SIG-rules-authors/

Yet another great option for those people with a "learn-by-doing" personality is to find an open-source project that uses Bazel, and learn from it. Try to build their project, make changes, and experiment to see how things are wired together. If you send useful pull requests, you may be able to gain some knowledge from the project maintainers.

If you like to "learn-by-watching", we've chatted with the person behind https://www.youtube.com/c/KrisFoster1. Give his channel a try.

Finally, look through https://awesomebazel.com for other pointers that can get you started.