Yes, with one and a half FTEs you should only have a single repo.
My experience with Bazel has been extremely bad, but I don’t think that it should necessarily be avoided completely. It may actually have some value on extremely large multi-team projects. But for less than two FTEs it seems like massive overkill.
I believe that you could do what you need with Kind (and maybe Tilt?), without Bazel.
> We have made this tool layer which means if I run `go` or `kubectl` while in our repo, it's built and provided by Bazel itself. This means that all of us are always on the same version of tools, and we never have to maintain local installations.
Go kind of does that for you already, with go.mod. Since kubectl is a Go program, you could achieve that goal the same way.
> it has been crucial to have an ex Google SRE on the team
I wonder how many additional team members y’all could afford in return for an ex-Googler’s salary expectations.
I sincerely hope that y’all find the maintenance expense of Bazel to be worth it going forward. Hopefully you will!
I don't think you are wrong at all. As we are all founders with an OK salary and this is our area of expertise, so we're able to take advantage of our previous experiences and reap the benefits. We're probably uniquely positioned here.
I had massive issues at my previous employer with Bazel. They did not try to make Bazel work for non-SREs, which as you can imagine didn't work very well. So it's definitely not a silver bullet!
We should probably write a blog post about our setup!
Would you mind elaborating and providing some examples of what was bad?
We have a monorepo built using bazel, and at first when new to bazel, I was pretty frustrated. But now I can't think of any issue I've had with it recently.
Yes, with one and a half FTEs you should only have a single repo.
My experience with Bazel has been extremely bad, but I don’t think that it should necessarily be avoided completely. It may actually have some value on extremely large multi-team projects. But for less than two FTEs it seems like massive overkill.
I believe that you could do what you need with Kind (and maybe Tilt?), without Bazel.
> We have made this tool layer which means if I run `go` or `kubectl` while in our repo, it's built and provided by Bazel itself. This means that all of us are always on the same version of tools, and we never have to maintain local installations.
Go kind of does that for you already, with go.mod. Since kubectl is a Go program, you could achieve that goal the same way.
> it has been crucial to have an ex Google SRE on the team
I wonder how many additional team members y’all could afford in return for an ex-Googler’s salary expectations.
I sincerely hope that y’all find the maintenance expense of Bazel to be worth it going forward. Hopefully you will!