- large codebases
- business critical software for clients that don't tolerate downtime
- agentic and classical features
We still collaborate well, we still care about quality, we still have good knowledge of the codebase, but I haven't written a single line of code myself in over a year.
We have not had a single incident that I'm aware of where we shipped a slop and it created downtime.
We're building a "software factory" that is currently handling low-level chore tickets and merging about 1/3rd of our PRs. A year from now I imagine it will be doing significantly more, and I don't think anyone is going to get fired because of it (if anything we'll keep hiring more).
I don't see this as an either/or thing. If there is some hidden ocean of slop that we're bound to fall into I don't see it anywhere. Where is the disparity?
If it's possible I would highly encourage your company to publish something about how you work and what you think you're doing right.
But I dont know if they matter to the employers who can only see LLMs as "free milk", and developers as the "milking machine".
Line Must Go Up.
If treating employees with dignity and giving them intellectually challenging and satisfying tasks make Line Go Up, then that's what employers will do. If making us push "Allow Claude To Do This" hundreds of times over and over makes Line Go Up more, then that's what they'll make us do. If sitting us in a factory and giving only our finger freedom of movement makes Line Go Up, that's what they'll do. If strapping us into pods like in The Matrix makes Line Go Up, that's what they'll do. If feeding us into wood chippers makes Line Go Up, that's what they'll do.
Like we can say "this sucks" twenty thousand times, but what's the plan? Maybe some of the senior people who can be productive because of our knowledge who may cease to exist as a class resulting in a century of slop should get together and talk praxis. Otherwise all these articles are just training data
- AI should accelerate your understanding of the codebase and technical concepts. - Skills should ensure a higher quality of code than you could create without AI - Engineers should stay responsible for the code they product. - The available time freed up should be used for communication, product and marketing research. The definition of an engineer who just writes code is something that's going away.
Unless something is so simple that the AI can run it autonomously. There are actually many projects like that these days. And in those cases not looking at the code like DHH does is also a viable strategy.
seeing AI as an individualized tool for single people to labormax with just means throwing spaghetti at a wall and seeing a lot of failures and incidents (much like my old workplace). it's very different from having a driven and iterative system in place with new processes and checks with clear leadership direction
I miss the days when the engineering Slack channels had long threads of new and interesting ways to do things, discussions of something we could do next to make work easier or fix long-standing issues. We used to build up our own knowledge of who was good at specific things, what they'd be interested in working on. Now everyone just has their slop-machine spit out every piece of a change for the entire stack without paying any attention to the details.
Also one more thing I started noticing is unnecessarily detailed comments in code, complete with issue numbers. And some of that belong in version control commit (IMHO).
No point crying about it or coping that some bubble will pop and the genie will go back in the bottle. I’m pretty confident that’s not happening, though in the distant future some society will recognize that everything that can be automated should not be automated, that society will look very different and probably won’t happen in my lifetime (it will for one, I predict bring back tailors too).
So here’s my solution, leave the field. If what you enjoyed most was creative problem solving then moving to a field that enables that is the best solution. Yes the next Ruby on Rails app will involve even lesser creativity than before, but is that the situation for the next good aeroplane? Flying car? Small modular nuclear reactor. I suspect just button pushing for that won’t work nearly as well and that’s my plan anyway.
I don't think anyone would care about "hand made software", arguably no one ever did. You need a tool to do X. The enjoyment of the person producing that tool is entirely incidental. You don't care if the corn you're eating was hand picked by a person who loved manual farm labor or by a combine harvester. Just like you wouldn't care if someone enjoys driving a combine vs a self-driving combine nor if someone enjoys directing self-driving harvesters or if they are self-directing.
Outside of that it’s hard to envision handmade anything in software in this everything mass produced cheap consumerist society.
No, everything that can be automated SHOULD be automated, but the automation should benefit everyone instead of just the 0.1% (actually this percentile keeps getting smaller and smaller, so the percentage of people outside of the "permanent underclass" is probably even less than that now).
The problem about AI (at its current level, barring AI2027 type scenarios) is not about AI, but about the way we've organized society as a whole.
I've brought this up before, if the USSR existed today how would Soviet mathematicians react to AI? Would they be dismayed or overjoyed? You never see mathematicians acknowledge this point, but it's the crux of the issue. In our society employment justifies existence, in a society where existence is inherently justified AI would mean freedom to people instead of causing existential dread.
Yeah, but even once we've achieved a society in which existence is inherently justified, some things are about the destination and some things are about the journey. We need to organize society around producing people and lives, good lives, as the final economic output. A person we "produce" under such a system will probably be highly skilled and want to participate in society's productive processes, because mastery and participation are real human needs for living a good life.
The question is how we distinguish between processes that are important to the people participating in them, and those that are not. Factory work was and is a massive improvement over subsistence farming, but no population in world history has been permanently satisfied spending their lives on the assembly line, so either we can take advantage of highly automated manufacturing to just have machines do the work or we can redirect automation towards re-involving human craftspeople into producing less interchangeable, higher-quality products (the market has been moving towards customizable commodities anyway).
I'm not arguing in favor of a human existence that is completely based on consumption, but one that maximizes automation as much as possible for the benefit of society as a whole so that all human labor becomes voluntary. At that point people will decide which processes are important for them to participate in on their own.
I have a feeling that this is true and it's a bit sad.
I think there's something deeper than that, too. Almost a feeling of betrayal? I cared in part because I thought everyone else cared, too, like we were working towards a common goal. Asking a question in search of shared understanding only to be passed the modern equivalent of a LMGTFY link hurts in a very particular way. I thought they cared about this, too, but they're only trying to get the bag. I get it, times are difficult right now, but it doesn't make it hurt less.
Apt analogy, because if you are asking questions that can be answered with the AI equivalent of a Google search, you are wasting someone else’s time.
I wonder if this toxic "Why are you talking to me? Just RTFM or ATFLLM (ask the fucking llm)" attitude can be filtered out during interviewing.
In some cases, it may even be the appropriate response. Interrupting somebody to ask something that could be cleared up by an AI is in the same ballpark as asking them something that could be cleared up if you read the docs.
It seems LLM usage has eroded whatever facades existed and made some of us believe we were part of teams or organizations that shared these values, or culture, I'm seeing expressed in the article and comments. Perhaps _we_ were the ones hallucinating the values existed in the first place?
I don't begrudge folks who want to solve problems by any means, and not worry about the alienation or deskilling. That's their right. However, it's now clear to me that I have to make a conscious effort to express what my own values are and to build/join and organization that shares them.
If you aren’t having these, then your team is using these tools wrong. AI assisted coding should open you up to more of precisely these conversations. Then use them to implement that.
AI coding has taken away those conversations.
I feel like I’m learning at a faster rate than ever with LLMs. Do you specifically mean curiosity and learning as a social phenomenon?
So real. There’s still something fundamentally embarrassing about saying you used AI to do something. This leads to a pet theory of mine that most people use AI far more than they say they do.
If you cant do that. Destroy the PR and blame the pilot.
And insert some hidden random jokes for me to keep focus»
"Oh, I'm sorry, the bug was introduced by the AI and it made such a good case for it. Damn you claude, we'll do better next time. I'll add a code-review agent to find regressions."
its a major reason why military use of AI is so chilling - "look, I explicity ASKED the murderbot not to kill babies when I authorized the napalm strike on the maternity ward! BAD BOT"
The problem arises when it hallucinates answers. That results in colleagues operating based on invalid information, leading to bigger issues. I've seen this many times at my own company, and I simply do not know how to tell folks to be more discerning of the LLM responses while leadership is simultaneously saying do more, faster, with AI.
When your work process depends on SAAS you depend on the vendor of that SAAS.
"Everyone" tells me that "noone" wants to use LLM-based code generators that you can run locally because they're so much worse than the newest ones provided by the major LLM manufacturers. If the gossip is true, then it seems like -for the foreseeable future- you're absolutely dependent on one or both of those two SAAS vendors.
The other 3 points made in article make sense though.
Like anything else, it depends on what you're working on. For small personal projects I agree, but in maintaining large scale business applications with millions of lines of code, I am still having to guide the models to reuse existing code and to be more flexible with their data structures to accommodate changing business requirements in the future.
They only see a snapshot of the world the application exists in due to their ephemeral nature, and until that is overcome, they will only be able to learn general principles and not the particular nuances of your codebase that only arise from observing how the users use it on a daily basis.
That said, I think we need to be prepared for how a simple prompt like "make it faster" will work in a relatively short timeframe - and where the AI is able to adequately refactor/re-platform/be done in a way where even the architecture becomes obscure to us.
Perhaps I could set up a workflow to handle this without reading the code. I’ve seen people who make Claude fill out arcane templates, and then spend their time reviewing reports and tinkering with loops or whatever. But why would I want to read a TPS report about the code rather than just reading the code?
AI build me a cost overview of xyz: works perfectly without ever looking at the code
AI build me unreal engine 5 level graphics, or a database, or infra at high scale: this will need some active steering for now :)
Wow, what a simplistic, uncalled for view of the world. This is just so ignorantly and offensively incorrect.
This in particular is a really silly hill to die on, because literally every debate about software development, from AI to language choice to tabs vs. spaces, eventually settles into a gravity well of asserting that all the good developers agree with your take.
Stating that people can't love software development or solving problems because they are resistant to AI taking over their entire job is a silly hill to die on?
I really enjoy what I do, and have done, for the past 20 years. When I first wrote code I literally thought I discovered magic. In many ways, AI has re-triggered some of those feelings!
I also really care about building quality software for our customers.
And it infuriates me to no end when I see huge amounts of objectively incorrect code being written by AI, and the developer behind it stating they have no idea what it's doing, or when people say they can't solve a problem because they are out of AI tokens, etc.
But supposedly these are the people who care about solving problems? Not just that - they are the only people who care about solving problems.
---
Yeah, it's offensive.
A LLM seems like a powerful but dangerous tool. It's dangerous even in problem solving terms since one day can output something that advances your project significantly and the next day is can output vacuous verbiage that seems like a solution but is nothing.
They deserve a critical view but they make it hard to maintain that critical view.