5 ms·
Many things go wrong. Monorepos + bazel is an approach that’s well-suited for some use cases but poorly suited for other use cases. The problems usually happen
by mlthoughts2018 8y ago
Many things go wrong. Monorepos + bazel is an approach that’s well-suited for some use cases but poorly suited for other use cases. The problems usually happen when some early engineer “knows it all” because they saw these tools in action in a different use case (such as inside Google) and incorrectly assert they will be good solutions in some other use case (e.g. a start-up with very different reality than Google).
If the company is healthy, there will be a give and take, people will acknowledge that e.g. monorepos are not universally always a good or workable choice, and compromises or trade-offs will be analyzed in earnest.
If the company is not healthy, which happens often in start-ups that are forced to adopt a monoculture or extreme philosophy of the founder or early engineers (and enforcing dogma may even be a main reason why those people left other jobs to be early employees in a start-up), then usually by some argument from authority or poorly conducted confirmation bias blog post competition, the dogmatic choices about monorepos or bazel tooling (just as common examples I’ve seem turn out poorly) will just be mandated and all intellectual integrity about it will be shut down.