Be a part of the first Bazel eXchange conference!
Bazel is a build automation tool originally developed by Google. Since being open-sourced in 2015, a unique community of Bazel enthusiasts has grown around the world.
Bazel is quickly becoming the go-to tool for teams who are looking to reliably speed up their builds and tests.
Bazel eXchange is a new, community-focused conference designed to offer Bazel practitioners a space to learn and share knowledge with one another. Join us to discover why companies like Salesforce, Ticketmaster, Stripe, Twitter, Spotify and more include Bazel in their tech stack.
PLUS
If you're in London, you're invited to join us at our office for the Bazel eXchange Watch Party on Day 1 of the conference.

Get Involved
As this is the first year of the conference, we encourage you to get involved by submitting a proposal to our Call for Speakers.
Who should attend?
Bazel can help scale your organization and your codebase — no matter how large it is, and Bazel eXchange is the best place to connect with other Bazel users from around the globe to share strategies and knowledge.
You'll get the most out of Bazel eXchange if you are a:
Build Engineer
Site Reliability Engineer (SRE)
Senior Software Engineer
FullStack Developer
DevOps Engineer
BackEnd Engineer
FrontEnd Engineer
iOS/Android Developer
Team Lead/Engineering Manager
or
Part of a team currently using Java, C, C++, Go, Python, Objective-C and Bourne shell scripts.
Will it be online or in-person?
Bazel eXchange will be hosted as an Online conference with both speakers and attendees joining virtually.
We are also hosting the Bazel eXchange Watch Party at the Skills Matter offices in Shoreditch, London.
Learn more about the Party here.
Bazel eXchange Online Tickets
Learn from thought leaders and developers as you connect with like-minded people to share skills, insights, and lessons from the comfort of your own device.
Online Tickets include access to our virtual events platform, where you'll be able to watch live sessions, participate in live Q&As from the event, and network with attendees from around the globe.
You'll also gain access to the talk recordings within 48 hours of the event's conclusion.
Online tickets do not include access to the Watch Party.
Book Today and Save!
Bazel eXchange Watch Party Tickets
Join us in-person for a casual get-together to watch the Bazel eXchange conference!
Connect with the London Bazel Build community at the Skills Matter offices in London, where we'll be live-streaming Day 1 of the conference on the big screen in an informal setting.
The Watch Party will not included any live speakers. It is a casual hangout for Bazel enthusiasts.
To attend the Watch Party you must be a Bazel eXchange ticket-holder.
The Bazel eXchange Watch Party will follow protocols set out in UK government guidelines for COVID-19 .
Excited? Share it!
Day 1: BazelX Online
Livestream
Track | Main Track | |||
10:45
Invalid Time
Invalid Time
|
Opening Remarks |
|||
11:00
Invalid Time
Invalid Time
|
Why did the Selenium project switch to Bazel? What things have gone well, and what are the rough edges? What contributions have the Selenium team made to the Bazel community? Come and find out! Getting started with Bazel can be really hard. Getting started with Bazel in an existing repository with multiple different languages and a franken-build of its own can be harder. Doing that on a large and established OSS project can be harder still. In this talk, I'll cover why the Selenium team moved to using Bazel, what challenges we ran into along the way, our struggles to move towards a completely hermetic build, and how we overcame (most) of these obstacles. In this talk, you'll find how we work with Java, JS, Python, Ruby, and .Net in the same project, with end-to-end tests using a range of browsers on a range of OSs. Not all our challenges were technical, some were social, and I'll be discussing those too. On the course of this journey, members of the Selenium team have also contributed back to the Bazel community, and I'll be walking through some of these contributions, and how you could use them in your own projects.
software-development
bazel
About the speaker...Simon StewartSimon was the Selenium Project’s lead from 2009 until the end of 2021, the creator of WebDriver, and the co-editor of the W3C WebDriver and WebDriver Bidi specifications. In the Bazel world, he holds the commit bit for "rulesjvmexternal", and "contribrulesjvm", and is one of the developers of "appleruleslint". His career has lead him through ThoughtWorks, Google, and Facebook, amongst others. He speaks regularly at conferences, and lives in London with his family. |
|||
11:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
11:50
Invalid Time
Invalid Time
|
Break |
|||
12:00
Invalid Time
Invalid Time
|
Rust isn't supported by Bazel out of the box, but has thriving community support, making it a great example of the ecosystem's extensibility. Using a Rust project, Alexei will will demonstrate how the individual strengths of Bazel and Nix can be used to create even more reliable and reproducible build systems. Bazel is a powerful and extensible build system, and Nix is a hermetic and transparent package manager. In this talk I will demonstrate how their individual strengths can be used in concert to create even more reliable and reproducible build systems; the kind we love most at Tweag. We will be building a Rust project and compare the benefits of our approach to Cargo, Rust's canonical build and dependency management tool. Rust is not supported by Bazel out of the box, but has thriving community support, making it an interesting example of the ecosystem's extensibility.
software-development
build-automation
rust
nix
bazel
About the speaker...Alexei DrakeComing from a diverse background of full-stack web applications and nuclear accelerator control systems, Alexei has a wide overview of the state of affairs in the tech world. Displeased with this state, often tripping over problems long solved, he found his way to Haskell, Rust, Nix, and NixOS, which re-ignited his love for technology, especially open-source software. In addition to tackling technical challenges, he is equally at home with the sometimes even trickier challenge of building and maintaining happy teams, with a focus on good communication and empathy. He feels happiest in companies that value people above all else; and Tweag is such a company! When not on the clock, Alexei enjoys applying his collaborative problem solving skills in the kitchen, likes to pester people with a camera, and is a notorious board game hoarder. |
|||
12:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
12:50
Invalid Time
Invalid Time
|
Midday Break |
|||
14:00
Invalid Time
Invalid Time
|
In this talk, Google's Jason Dobies breaks down the results of the 2021 Developer Satisfaction Survey and provides some insight into the future of Bazel: What languages are most popular with our developers? What new features are they most interested in? How can we improve the user experience? The tagline “{ Fast, Correct } — Choose two” is missing something: flexible. With dozens of rulesets spanning everything from shell scripting to programming languages, the possible use cases with Bazel are endless. What languages are most popular with our developers? What new features are they most interested in? How can we improve the user experience? In this talk, Jason Dobies, a Developer Relations Engineer at Google, breaks down the results of the 2021 Developer Satisfaction Survey and provides some additional insight into the future of Bazel.
software-development
survey
developer-satisfaction
bazel
About the speaker...Jason DobiesJason is a Developer Relations Engineer at Google. For over 20 years, Jason has worked in the software industry developing in a variety of languages, including Python, Java, and Go. He is currently working as an advocate for the Bazel open source project. In addition to his career as an engineer, he is also an Adjunct Professor at Villanova University, currently teaching Software Engineering and Senior Projects. When not sitting at a computer, Jason enjoys spending time with his wife and two children, playing video games, and working out. |
|||
14:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
14:50
Invalid Time
Invalid Time
|
Networking Break |
|||
16:00
Invalid Time
Invalid Time
|
In this session, Zach Gray, Founder of Flare.Build will be joined by Mahdri Yechuri, Founder of Elotl, for an exploration of how they've used kubernetes to tame the complexity of managing distributed macOS build & test pipelines, with Bazel remote build infrastructure to scale performance and reduce costs.
software-development
remote-builds
kubernetes
nodeless
flare
buildkite
bazel
About the speaker...Madhuri YechuriMadhuri is a systems engineer with 19 years experience in database server technologies (Oracle), virtualization (VMware), and container technologies (ClusterHQ) before founding Elotl. Madhuri received her Masters in Computer Science from Indiana University Bloomington, and Bachelors in Computer Science from Indian Institute of Technology Kharagpur. |
|||
16:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
16:50
Invalid Time
Invalid Time
|
Break |
|||
17:00
Invalid Time
Invalid Time
|
The maintainers of bazelbuild/rulesnodejs have gone back to the drawing board. We studied RushJS and the package manager it uses, pnpm, and found this is a much better fit under Bazel. And we learned from our workaround for some node tools required running Bazel actions inside the output tree. We present aspectrulesjs, a new Bazel ruleset that replaces most of rulesnodejs with a radically simpler and more node-idiomatic way to fetch minimal npm packages and lay them out for runtime resolution.
software-development
aspect-rules-js
nodejs
bazel
About the speaker...Alex EagleHaving worked on Bazel-adjacent systems at Google for 10 years, Alex is passionate about maximizing developer productivity via toolchain ergonomics, refined developer experience, and expert tooling. As a world-class Bazel expert, Alex is well known throughout the Bazel community. He has presented on Bazel, Angular, and Google Cloud Platform at conferences such as AngularMIX, ng-conf, and BazelCon. Since graduating magna cum laude in computer science from Harvard in 2001, Alex has made important contributions to open source and Bazel, including:
|
|||
17:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
17:50
Invalid Time
Invalid Time
|
Break |
|||
18:00
Invalid Time
Invalid Time
|
Join us at the end of Day 1 of Bazel eXchange for this panel hosted by Andreas Herrmann from TWEAG. Andreas will be joined by a selection of the days speakers for a virtual panel exploring a variety of topics that are front of mind for teams working within the Bazel build community.
software-development
bazel
About the speakers...Alexei DrakeComing from a diverse background of full-stack web applications and nuclear accelerator control systems, Alexei has a wide overview of the state of affairs in the tech world. Displeased with this state, often tripping over problems long solved, he found his way to Haskell, Rust, Nix, and NixOS, which re-ignited his love for technology, especially open-source software. In addition to tackling technical challenges, he is equally at home with the sometimes even trickier challenge of building and maintaining happy teams, with a focus on good communication and empathy. He feels happiest in companies that value people above all else; and Tweag is such a company! When not on the clock, Alexei enjoys applying his collaborative problem solving skills in the kitchen, likes to pester people with a camera, and is a notorious board game hoarder. Jason DobiesJason is a Developer Relations Engineer at Google. For over 20 years, Jason has worked in the software industry developing in a variety of languages, including Python, Java, and Go. He is currently working as an advocate for the Bazel open source project. In addition to his career as an engineer, he is also an Adjunct Professor at Villanova University, currently teaching Software Engineering and Senior Projects. When not sitting at a computer, Jason enjoys spending time with his wife and two children, playing video games, and working out. Alex EagleHaving worked on Bazel-adjacent systems at Google for 10 years, Alex is passionate about maximizing developer productivity via toolchain ergonomics, refined developer experience, and expert tooling. As a world-class Bazel expert, Alex is well known throughout the Bazel community. He has presented on Bazel, Angular, and Google Cloud Platform at conferences such as AngularMIX, ng-conf, and BazelCon. Since graduating magna cum laude in computer science from Harvard in 2001, Alex has made important contributions to open source and Bazel, including:
Andreas HerrmannWhile computational physics is heavy on C++, Fortran, and Python, it was this time where he found his passion for Haskell and Nix. Software has been a strong interest for Andreas from early on and after his time in academia he decided to work in the industry as a software engineer. At Tweag Andreas has worked as a software engineer on various projects involving Haskell, Scala, Nix, Bazel, and more. He now leads the Bazel team and maintains several of Tweag's open source projects including its Bazel rule sets. Outside of work Andreas contributes to the Haskell community in Zurich, right now as the president of the Zurich Friends of Haskell which organizes ZuriHac. He enjoys learning about programming languages, travelling, hiking, and spending time with his family. Other Tweagers appreciate Andreas as an excellent, friendly engineer with a sense of diligence and great attention to detail. Talking to Andreas will likely solve your problems but also lift your mood! |
|||
19:00
Invalid Time
Invalid Time
|
End of Day |
Day 2: BazelX Online
Livestream
Track | Main Track | |||
10:50
Invalid Time
Invalid Time
|
Opening Remarks |
|||
11:00
Invalid Time
Invalid Time
|
Supercharging Bazel with nix package manager allows for performing a rapid switch towards full build hermeticity and achieving flexibility which is hard to match at scale (even when compared with containerized approach). However, it comes with the burden of painful, tedious, manual upkeep of mappings that expose nix derivations as Bazel packages. We present gazelle_nix, a new gazelle extension that automatically generates (and updates) all the definitions required for nix packages to interact with Bazel. In our talk we will showcase the tool, as well as common patterns of using Nix and Bazel in tandem.
software-development
bazel
About the speakers...Artur StacheckiJack of all trades, quite good at some - passionate software engineer focused on developer productivity. He learns and implements whatever it takes to enable others to excel at their work. Artur embraces flexible and generic tools and languages, which he uses to produce elegant, reproducible solutions. After spending years learning about different fields of computer science, and software engineering, he finally discovered his favorite one - Build Engineering. Nowadays, he seeks new ways to implement his knowledge of Bazel, Nix, and distributed systems for personal and professional projects. Aleksander GondekJack of all trades, master of at least one - having a broad software development experience and deep passion for work, Alex seeks to bring state-of-art solutions to any endeavour he has currently embarked upon. He has extensive experience in introducing automation, composability, immutability and horizontal scalability to any Kubernetes-related solution. Alex is a long time Nix enthusiast, functional-programming aficionado and has a weak spot for chasing bugs in complex, distributed systems. In his spare time, he likes to play {role playing, video, board}-games, read speculative fiction and to develop side-projects. |
|||
11:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
11:50
Invalid Time
Invalid Time
|
Break |
|||
12:00
Invalid Time
Invalid Time
|
Hang tight, more information will be coming soon!
software-development
bazel
About the speaker...Guillaume MaudouxGuillaume has a background in computer science, engineering and applied mathematics. Regarding software systems, his main concern is correctness, reliability, and trustworthiness. He is passionate about understanding complex systems and untangling intricate issues. In academia, Guillaume built a solid knowledge of build systems, with a focus on understanding their peculiarities and what motivated their authors to start umpteenth implementation. He still hopes to find a way to combine great ideas and make implementations converge to interoperable standards. Guillaume is a long-time Nix enthusiast and member of its community. He also enjoys fixing tricky bugs in the software he uses. He likes to say that he prefers reading code than writing it. |
|||
12:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
12:50
Invalid Time
Invalid Time
|
Break |
|||
13:00
Invalid Time
Invalid Time
|
Focus time is a precious commodity, especially for developers. What if you could reduce build and test cycles from hours to minutes, and get time back in your diary. Here’s how we did just that using Bazel and Clojure. Where can we find more time to focus on the work that matters? At Griffin, this question is ingrained in our culture. The technology we use and how we use it plays a crucial role in helping us claw back precious time to focus on building an API-first bank. Bazel’s mechanics have helped us work more efficiently by pinpointing what we need to test and what we don’t need to test. However, there were some challenges in using Bazel with our programming language, Clojure. I set my mind to extending Bazel so it could support our engineering needs, and as a result, we are now able to use these technologies together to reduce unnecessary distractions. In this session, I will share my learnings with the Bazel community, including:
software-development
bazel
About the speaker...Allen RohnerAllen Rohner is the co-founder and CTO of Griffin. He is also a founder of unicorn code verification platform CircleCI. He has developed critical products and infrastructure for leading fintech companies, including Funding Circle. Allen has been a core Clojure contributor since the earliest days of the language. Software written by Allen has been downloaded over 200,000 times. He wrote and published Learning ClojureScript with co-founder David Jarvis in 2016. |
|||
13:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
13:50
Invalid Time
Invalid Time
|
Break |
|||
14:00
Invalid Time
Invalid Time
|
Running Bazel on a CI worker is easy, but making it perform well requires care. We'll discuss techniques like Auto-Scaling the agent pool elastically with demand, avoiding slow builds on cold agents, and other performance tricks. We also show how Buildkite's annotation feature allows you to show some Bazel results directly on Buildkite's UI rather than clicking out to a third-party results UI service.
software-development
bazel
About the speaker...Matt MackayPrior to joining Aspect, Matt held software engineering roles including Technical Lead, where he led DevEx teams in building large, enterprise-scale codebases with CI / CD processes, using technologies such as Bazel, Jenkins, and Gradle. |
|||
14:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
14:50
Invalid Time
Invalid Time
|
Midday Break |
|||
16:00
Invalid Time
Invalid Time
|
Day 2, 22 Jun starts 16:00 (Main Track)
OBazl: A Bazel Ruleset for OCaml
|
|||
16:40
Invalid Time
Invalid Time
|
Live Q&A |
|||
16:50
Invalid Time
Invalid Time
|
Break |
|||
17:00
Invalid Time
Invalid Time
|
Join us as we wrap up Bazel eXchange with this panel hosted by Andreas Herrmann from TWEAG. Andreas will be joined by a selection of the days speakers for a virtual panel exploring a variety of topics that are front of mind for teams working within the Bazel build community.
software-development
bazel
About the speakers...Gregg ReynoldsGregg Reynolds is a freelance software developer with decades of development experience in multiple languages on everything from IBM mainframes to various flavors of Unix, PC operating systems (remember OS/2?) and embedded systems. His academic training was in Comparative Religion and Arabic Philology. Guillaume MaudouxGuillaume has a background in computer science, engineering and applied mathematics. Regarding software systems, his main concern is correctness, reliability, and trustworthiness. He is passionate about understanding complex systems and untangling intricate issues. In academia, Guillaume built a solid knowledge of build systems, with a focus on understanding their peculiarities and what motivated their authors to start umpteenth implementation. He still hopes to find a way to combine great ideas and make implementations converge to interoperable standards. Guillaume is a long-time Nix enthusiast and member of its community. He also enjoys fixing tricky bugs in the software he uses. He likes to say that he prefers reading code than writing it. Matt MackayPrior to joining Aspect, Matt held software engineering roles including Technical Lead, where he led DevEx teams in building large, enterprise-scale codebases with CI / CD processes, using technologies such as Bazel, Jenkins, and Gradle. Aleksander GondekJack of all trades, master of at least one - having a broad software development experience and deep passion for work, Alex seeks to bring state-of-art solutions to any endeavour he has currently embarked upon. He has extensive experience in introducing automation, composability, immutability and horizontal scalability to any Kubernetes-related solution. Alex is a long time Nix enthusiast, functional-programming aficionado and has a weak spot for chasing bugs in complex, distributed systems. In his spare time, he likes to play {role playing, video, board}-games, read speculative fiction and to develop side-projects. Artur StacheckiJack of all trades, quite good at some - passionate software engineer focused on developer productivity. He learns and implements whatever it takes to enable others to excel at their work. Artur embraces flexible and generic tools and languages, which he uses to produce elegant, reproducible solutions. After spending years learning about different fields of computer science, and software engineering, he finally discovered his favorite one - Build Engineering. Nowadays, he seeks new ways to implement his knowledge of Bazel, Nix, and distributed systems for personal and professional projects. Andreas HerrmannWhile computational physics is heavy on C++, Fortran, and Python, it was this time where he found his passion for Haskell and Nix. Software has been a strong interest for Andreas from early on and after his time in academia he decided to work in the industry as a software engineer. At Tweag Andreas has worked as a software engineer on various projects involving Haskell, Scala, Nix, Bazel, and more. He now leads the Bazel team and maintains several of Tweag's open source projects including its Bazel rule sets. Outside of work Andreas contributes to the Haskell community in Zurich, right now as the president of the Zurich Friends of Haskell which organizes ZuriHac. He enjoys learning about programming languages, travelling, hiking, and spending time with his family. Other Tweagers appreciate Andreas as an excellent, friendly engineer with a sense of diligence and great attention to detail. Talking to Andreas will likely solve your problems but also lift your mood! |
|||
18:00
Invalid Time
Invalid Time
|
End of Day |
-
CI with Bazel (Why Selenium is using it and you should too)
Featuring Simon Stewart
Why did the Selenium project switch to Bazel? What things have gone well, and what are the rough edges? What contributions have the Selenium team made to the Bazel community? Come and find out!
Getting started with Bazel can be really hard. Getting started with Bazel in an existing repository...
software-development bazel -
Building Rust Projects with Nix and Bazel
Featuring Alexei Drake
Rust isn't supported by Bazel out of the box, but has thriving community support, making it a great example of the ecosystem's extensibility. Using a Rust project, Alexei will will demonstrate how the individual strengths of Bazel and Nix can be used to create even more reliable and...
software-development build-automation rust nix bazel -
State of Developer Satisfaction with Bazel
Featuring Jason Dobies
In this talk, Google's Jason Dobies breaks down the results of the 2021 Developer Satisfaction Survey and provides some insight into the future of Bazel: What languages are most popular with our developers? What new features are they most interested in? How can we improve the user experience?...
software-development survey developer-satisfaction bazel -
Autoscaling Bazel Remote Builds and EC2 Mac with Buildkite, Flare and Nodeless Kubernetes
Featuring Madhuri Yechuri
In this session, Zach Gray will be joined by Mahdri Yechuri for an exploration of how they've used kubernetes to tame the complexity of managing distributed macOS build & test pipelines, with Bazel remote build infrastructure to scale performance and reduce costs.
software-development remote-builds kubernetes nodeless flare buildkite bazel -
A Simpler JavaScript Rule Set for Bazel
Featuring Alex Eagle
During this session, Alex will be talking about aspectrulesjs, a new Bazel rule set that replaces most of rules_nodejs with a radically simpler and more node-idiomatic way to fetch minimal npm packages and lay them out for runtime resolution.
software-development aspect-rules-js nodejs bazel -
4
Bazel eXchange Panel: Day 1
Featuring Alexei Drake, Jason Dobies, Alex Eagle and Andreas Herrmann
Join us at the end of Day 1 of Bazel eXchange for this panel hosted by Andreas Herrmann from TWEAG.
Andreas will be joined by a selection of the days speakers for a virtual panel exploring a variety of topics that are front of mind for teams working within the Bazel build community.
software-development bazel -
Bazel meets Clojure: How to move fast and not break things
Featuring Allen Rohner
Focus time is a precious commodity, especially for developers. What if you could reduce build and test cycles from hours to minutes, and get time back in your diary. Here’s how we did just that using Bazel and Clojure.
software-development bazel -
Fast, Green — Choose Two: A Buildkite Case Study
Featuring Matt Mackay
Running Bazel on a CI worker is easy, but making it perform well requires care. We'll discuss techniques like Auto-Scaling the agent pool elastically with demand, avoiding slow builds on cold agents, and other performance tricks.
software-development bazel -
6
Bazel eXchange Panel: Day 2
Featuring Gregg Reynolds, Guillaume Maudoux, Matt Mackay, Aleksander Gondek, Artur Stachecki and Andreas Herrmann
Join us as we wrap up Bazel eXchange with this panel hosted by Andreas Herrmann from TWEAG. Andreas will be joined by a selection of the days speakers for a virtual panel exploring a variety of topics that are front of mind for teams working within the Bazel build community.
software-development bazel