That person left, and the Bazel stuff was left unmaintained as no one had the interest nor time to learn it.
Later Bazel decide to kill off rules_docker and replace it with rules_oci, which means we can no longer update our Golang version without a super painful migration where we end up breaking production a bunch of times because of quirks in the super difficult migration.
Eventually we invested the time to rip the whole thing out and replace it with standard Go tooling with a multistage docker build for the container image. Everything from running tests, using Golang tooling, legibility of builds, CI, and deploys is easier.
The best thing we did was remove it and move to standard Golang tooling.
Personally, most cases I have seen are caused by a systematic under-investment into developer toolings and infrastructure at the company. Management layers often don't understand the software development assembly lines are not composed of just workers(software engineers), but also tools and machines that enable faster workflows. This often results in some critical processes in the pipeline from code to prod to be maintained by 1 guy: monitoring, alerting, deployments, builds, git etc... and when that 1 guy left, the system failed and the company suffered.
I think successful Bazel adoption in an org is often a signal that the company has grown in size and values its developer's time and happiness. Failure to adopt often means a lack of investment in dev experience in general.
The reality is, in a post-layoffs world, practically every company is scrimping on these sorts of “back office” things. If people couldn’t even get these complex build systems to work in the pre-layoffs low-interest-rate tech world where labour was more abundant, how can they get it done and maintained now?
I did use bazel long ago for c++ and it was quite good at it, but we didn’t have very many dependencies.
Rob Pike even has a talk about how fast ALGOL compilers used to take, naturally one needs to take into account the additional issue with reading punch cards, but still quite fast for early 1960's hardware.
Or Object Pascal and Modula-2 compilers in the early 1990's.
Eventually we (as in industry) started focusing on the wrong points.
I had to install it last night in DOSBox-X and compile the Breakout example project. The warm fuzzies are justified.
34 000 lines of code per minute!
https://bitsavers.org/pdf/borland/turbo_pascal/Turbo_Pascal_...
Sounds like your company has bigger issues than build system ;)
> It seems like a general increase in complexity
Try to support a really big monorepo with existing go.mod tooling and you’ll see that it really isnt