About Alex Eagle:
Alex Eagle worked at Google on Bazel-adjacent systems from 2008-2020. He is a leader of the Bazel OSS community, and the Co-Founder of Aspect, a Bazel services and product company whose mission is to bring Bazel's promised benefits to all developers.
Alex on LinkedIn and Aspect.Build
Chapters
00:00 Introduction to Bazel and Its Origins
02:05 Current State and Ownership of Bazel
03:16 Unique Features of Bazel
04:50 When Bazel is the Right Choice
06:36 Identifying the Need for Bazel
09:44 Getting Started with Bazel
12:39 Justifying the Investment in Bazel
15:24 Estimating Time and Effort for Migration
17:28 Onboarding Developers to Bazel
21:36 Training Developers on New Concepts
22:42 Improving Modularity in Bazel
24:48 Ongoing Maintenance of Bazel
26:52 Backward Compatibility and Upgrades
28:25 Measuring the Health of Bazel Systems
Summary
In this episode of the Hangar DX Podcast, Ankit Jain and Alex Eagle discuss Bazel, a powerful build system that supports multiple programming languages. They explore the unique features of Bazel, when it’s appropriate to use, and how to get started with implementation. They also cover challenges of migrating to Bazel, quantifying its value, and maintaining a healthy build system. Alex shares insights on improving modularity, managing dependencies, and the importance of standardization in enhancing developer experience.
Keywords
Bazel, developer experience, build systems, software engineering, migration, modularity, dependency management, CI/CD, performance, open source
Takeaways
Bazel is unique as it supports all languages and frameworks.
For small projects, traditional build systems may be more suitable than Bazel.
Build times over 20 minutes indicate a need for a more efficient system.
Bazel's learning curve can be steep, but resources are available to help.
Management support is crucial for successful Bazel adoption.
Proof of concepts can help justify the investment in Bazel.
Ongoing maintenance is necessary, especially with new language integrations.
Modularity in code is essential for Bazel's incremental builds.
Regular updates to Bazel can require migration efforts.
Monitoring cache hit rates can indicate the health of the build system.
Share this post