sergio

sergio

Engineering leads, what are you doing to stop the slop?

As more and more code is written by agents, driven by humans, what strategies are you employing to keep the slop at bay?

Managing a team of 2 engineers, it’s become quite difficult to review and keep the slop out at the rate of features being built. I can’t imagine what it’s like with a team of 20 engineers. I know the status quo will not work period.

I’m hiring a third engineer soon, and want to make sure I do my best to mitigate this new reality.

Most Liked

thiagomajesk

thiagomajesk

As someone already pointed out, everyone is trying to navigate this at the same time, but I think core fundamentals still apply. Everything that makes it easier for a human to contribute to a codebase also applies to agents:

  1. Rely more on automation (linters, rules, CI checks, tests, etc). Writing custom credo rules is especially powerful to enforce conventions.
  2. Writing down non-obvious conventions and patterns (or preferences), which would also make it easier for an agent to pick those up (something has been historically difficult for teams that rely more on “taste” and “gut feeling”).
  3. Apply the progressive disclosure pattern when organizing code so it’s easier to discover and ensure that things are properly documented (and Elixir makes this really easy, especially if you have documentation with good examples)
  4. Doubling down on accountability. You are still responsible for the code you generate, not the LLM (if something breaks, you should be able to fix it).

In other words, give people (or agents) the best tools for them to do their best work. But all of the above also speaks to creating a better harness for the LLM to generate code for you, which goes from properly architecting your solution to everything that comes to maintain that (fighting entropy basically).

People often describe the human work now as being the “quality gate” for LLMs; however, I think the correct mindset is being the “quality road”, meaning you don’t defer making good decisions to the end of the process. So in practice, nothing really changed, except that you iterate much faster than before.

Also, it’s useful to remember that the 10x multiplier in the right hands can also be used to refactor and tidy things, so you have to keep your team accountable as before. All that being said, it’s also important to mention that discovery happens so much faster now that sometimes it might be better to optimize for that instead.

PS.: The only point from my list that really concerns me is the 4th one. Now that some companies are pushing for PMs and other non-technical functions to produce code, it creates an inbalance on the trust dynamic because they can’t verify it, which hurts accountability on many levels.

adamu

adamu

I think I’ve identified the core reason I instinctively dislike LLMs.

I strongly value competence. This applies institutionally as well as societally, not just individually. In a competent society, things just work.

You can take a hot shower because there is clean water and flammable gas piped into your home, a device on premise that burns the gas in a safe, controlled way to heat the water, and a sewerage system to carry the dirty water away to be disposed of cleanly. Not to mention the electricity being used to light your home and power the water heater, and the technology that went into building the home in the first place.

Almost none of this you could achieve alone. But you enjoy the benefits of a shared competence. There is an institutional knowledge at work that ensures you can take the benefits of our technological inventions for granted as part of your daily life.

LLMs replace this hard-earned institutional competence with statistical guesses - a literally incompetent imitation.

Of course, nobody can use an LLM to build a hot shower. But what if the people at the water company stopped knowing authoritatively how to purify water, and instead relied on an LLM? What if they stopped caring about fluid mechanics to get the water safely pumped to your house? What if the producers of the water heater stopped caring about controlled combustion, the sewage company about not dumping sewage into streets and rivers, the electricity company about electrical fundamentals or the builders of your home about solid architectural principles and following through with proven construction practices?

These are the institutional competencies we rely on. LLMs incite individuals to turn not to the institutional knowledge that we have collectively built, but instead to settle for a statistical approximation, eroding the forces that built the shoulders we stand on.

(also blogged a few hours ago)

sodapopcan

sodapopcan

I only just recently hit the acceptance stage for agentic coding, so I don’t have a lot of experience (and I’m not a manager). One thing I have not been letting it do is commit for me. This probably ruins some workflows where one person has a bunch of agents working on several features at once, though I haven’t reached the level of acceptance where I think that is in any way even a remotely good idea for production apps :sweat_smile: In any event, manually committing forces me to work in a more careful way, reviewing each step of the output along the way (the commit message itself can still be generated, of course).

Where Next?

Popular in AI / LLMs Top

jswny
Has anyone managed to get Codex (the cloud version, as seen here) to work for Elixir? I tried to setup the dependencies but mix deps.get...
New
jtippett
Hey all, have just published an elixir wrapper for rust’s https://bashkit.sh/, a virtual bash sandbox for LLMs. Cool things you can do in...
New
sergio
As more and more code is written by agents, driven by humans, what strategies are you employing to keep the slop at bay? Managing a team...
New
AndyL
For development and prototyping, I’d like to retain a basic ability to perform LLM inference on my own hardware, using open source models...
#ai
New
New
FedericoAlcantara
Hi guys, I’ve been running Qwen locally for the last two weeks using an opencode + Ollama + qwen3.6:35b-A3B setup with q4_k_m quantizati...
New
AstonJ
What kind of impact do you think AI will have on programming/tech jobs? Have you or anyone you know been impacted directly? Does it conce...
New
benja123
I just wanted to say that I recently got back into Elixir after many years of barely touching it (not really by choice). Funnily enough, ...
New
Vidar
I’ve been trying to come up with a fairly real life representative way of evaluating code quality from AI, and by extension the functiona...
New
onnimonni
Hey, I’ve been extensively using claude code for backend development and data wrangling in the last 6 months and it has worked very well...
New

Other popular topics Top

Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement