Tweag
Technical groups
Dropdown arrow
Open source
Careers
Research
Blog
Contact
Consulting services
Technical groups
Dropdown arrow
Open source
Careers
Research
Blog
Contact
Consulting services

Bazel workshop made public

3 July 2025 — by Mark Karpov, Johan Herland

As part of our consulting business we are often invited to solve problems that our clients cannot tackle on their own. It is not uncommon for us to collaborate with a client for extended periods of time; during which, many opportunities for knowledge transfer present themselves, be it in the form of documentation, discussions, or indeed, when the client finds it desirable, in the form of specialized workshops.

In this post we’d like to talk about a workshop that we developed and delivered (so far) five times to different groups of people at the same client. We received positive feedback for it and we believe it was helpful for those who attended it.

The workshop intends to give a principled introduction to the Bazel build system for people who have little or no knowledge of Bazel, but who are software developers and have used a build system before. It is definitely a workshop for a technical audience, and as such it was presented to (among others) dedicated DevOps and DevX teams of the client.

We are happy to announce that the materials of this workshop are now publicly available in the form of:

The original intended duration of the workshop was three days. However, one of these days was dedicated almost entirely to a case study that we cannot share publicly; therefore, the public version is shorter and should amount to approximately two days.

Here are a couple of the introductory slides to give you an impression of the scope, structure, and expected knowledge in this workshop:

Slides with the workshop's outline, and our expectations of the participants

It must be pointed out that the workshop was developed in 2024, when the WORKSPACE-based approach to dependency management was still the default choice and so, given that we were time-constrained both at the authoring and presentation stages, we chose not to cover Bzlmod. We are still convinced that familiarity with WORKSPACE and simple repository rules is a prerequisite for understanding Bzlmod. Some newer features like symbolic macros are also not covered. Learning materials for Bazel go out of date quickly, but even so, we believe that the workshop, now public, is still relevant and can be of use for people who are about to embark on their Bazel journey.

Behind the scenes

Mark Karpov

Mark is a build system expert with a particular focus on Bazel. As a consultant at Tweag he has worked with a number of large and well-known companies that use Bazel or decided to migrate to it. Other than build systems, Mark's background is in functional programming and in particular Haskell. His personal projects include high-profile Haskell libraries, tutorials, and a technical blog.

Johan Herland

Johan is a Developer Productivity Engineer at Tweag. Originally from Western Norway, he is currently based in Delft, NL, and enjoys this opportunity to discover the Netherlands and the rest of continental Europe. Johan has almost twenty years of industry experience, mostly working with Linux and open source software within the embedded realm. He has a passion for designing and implementing elegant and useful solutions to challenging problems, and is always looking for underlying root causes to the problems that face software developers today. Outside of work, he enjoys playing jazz piano and cycling.

Tech Group
Scalable Builds

If you enjoyed this article, you might be interested in joining the Tweag team.

This article is licensed under a Creative Commons Attribution 4.0 International license.

Company

AboutOpen SourceCareersContact Us

Connect with us

© 2025 Modus Create, LLC

Privacy PolicySitemap