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

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
dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
Joser
Claude Code Plugin for Elixir: Custom Skills and Hooks for Better Code Quality I’ve been experimenting with Claude Code for Elixir devel...
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
AndyL
Elixir has rapidly changing hex packages, both public and private. For people who use AI Coding Tools (Aider, Cursor, Windsurf, etc.), h...
New
Cheezy
I spent the month of January building and refining a tool to help with Team / AI collaboration. Several friends have provided feedback an...
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
DaAnalyst
Been using Claude for over a week now (Opus 4.6 then 4.7, max subscription). Honestly, can’t hide my joy, at some points feeling even ash...
New
DaAnalyst
The new langauge/framework/library.. developers better start writing very exhaustive docs, ..and intent proving tests/examples, ..and int...
New
DaAnalyst
Just saw a link to this on Zerohedge: It’s not AI. It’s a controlled lab-grown HI (Human Intelligence) currently at ~800K ...
New

Other popular topics Top

Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
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
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
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
svb
Hi! Currently I want to submit a form by pressing the Enter key. However, since my input field is of type “textarea” this is just adds a...
New

We're in Beta

About us Mission Statement