I’m currently on the beach at Google (since mid July), so I’m looking internally and externally for a new role. But I’m exhausted, so I’m playing around with local LLMs and DeepSeek more as well. I’m currently trying to get an agent harness going where orchestration happens via bazel, and agents are completely isolated beyond what context you give them access to as expressed in starlark. Agent executions are organized as a DAG like a build would be, where the output of one agent can serve as context for another (there is also a feedback mechanism which is needed for arbiter nodes).
I’ve mentioned it before, but we can get some pretty good results for developing implementation and tests with this setup. The context isolation makes it easy to separate test and code writing using a specification as a source of truth. Tests are then run by an arbiter that feedback to tests or implementation depending on who it blames for test failures. The tests are then treated as an independent implementation, and through the math of coincident errors, the arbiter feedback loop ensures that both are eventually correct (N-versions and clean room research did this with humans in the 80s). This then allows us to use less reliable LLMs to develop code, like Qwen on a MacBook Pro.
I hope to have something out on GitHub before my beach period ends (well, if I’m unsuccessful in getting a new role, then I’ll have a lot more time to play at least).
Lot of people are building agent runtime platforms right now. Look at LiteLLM's play into the space, for example. It's the new hot space for innovation. IMO the main play here is going to be on the self hosted/provenance aspect, because every major provider is now branching into services now to try and entrap you into their hosted platform ecosystem with all of these integrations
I actually considered lite LLM to get Qwen to work with codex. It mostly works without lite LLM but MCP servers aren’t available, lite LLM tricks into think Qwen is an OpenAI model.
No, it could be python or a DSL or whatever. Using Bazel and starlark is just a shortcut given a lack of any good ideas yet for a purpose built orchestration language.
Ya, it means my role at Google is gone and I have to find a new role or be laid off. I think “on the beach” sounds better than gardening leave, the term comes from the American consulting firms.
That’s weird. Isn’t that kind of on the employer to decide whether they have different work for you? Are you expected to be actively doing something during this period?
No, it is exactly like gardening leave, except you have a chance of switching to a new role at the company by applying for internal job transfers. I'm abusing the term also, for American consulting firms "on the beach" means they don't have a new client lined up for you and you are in danger of losing your job (vs. needing to do an internal transfer). Gardening leave I think is more of a UK term that they use when they want to lay you off but have to pay your salary for a certain amount of time before then, but its been a while since I heard that term and I don't want to cheat using Gemini.
Edit: ok I cheated using Gemini. Gardening leave is you are leaving or were terminated, and they have to pay your salary but don't want you near company assets. On the Beach is you are waiting for your next assignment and have access to training and such, you aren't consider a security breach.
I'm in both worlds right now: I wasn't technically terminated, so I can look for a new position (like being on the beach), BUT they think I'm a potential security breach so my access to corporate resources is really nerfed (like on gardening leave).
Gemini calls it being a "displaced employee". I like to think I'm just on the beach in Bali working on my own projects.
I’ve heard the term “on the bench”, which means you have no project to work on and you are lined up for firing if the situation doesn’t change soon enough.
I learned the term at ThoughtWorks (consulting company), where it was a play on the phrase "on the bench", which itself meant "not working on a billable project". The "bench" version comes from sports like (American) football, where "on the bench" means "sidelined" or "out of action", which has a mildly negative connotation compared to the "beach", which sounds pleasant and fun.
I’ve mentioned it before, but we can get some pretty good results for developing implementation and tests with this setup. The context isolation makes it easy to separate test and code writing using a specification as a source of truth. Tests are then run by an arbiter that feedback to tests or implementation depending on who it blames for test failures. The tests are then treated as an independent implementation, and through the math of coincident errors, the arbiter feedback loop ensures that both are eventually correct (N-versions and clean room research did this with humans in the 80s). This then allows us to use less reliable LLMs to develop code, like Qwen on a MacBook Pro.
I hope to have something out on GitHub before my beach period ends (well, if I’m unsuccessful in getting a new role, then I’ll have a lot more time to play at least).