Remix.run Logo
jeremyjh a day ago

It’s amazing how half the developers on earth live on a completely different planet now. There are plenty of new challenges, sure but we are far past the point where we can have a debate about “is it useful?”

And yet we continue to do so. I understand the feeling of loss some people may be facing. And there are definitely some really bad practices - like nakedly spewing claudspeak at your colleagues instead of communicating. Or raising a PR you don’t understand. There are asymmetries we haven’t learned to navigate. But we aren’t returning to a world where it doesn’t dominate our discipline so it’s best to find opportunities.

vermilingua a day ago | parent | next [-]

The question most of us are asking isn’t “is it useful”, but “is it worth it”. Engaging with these tools involves no small amount of self-debasement and long term degradation of skills; do I want to sacrifice myself on the altar of productivity?

For me the answer is still absolutely resolutely “no”.

akerl_ a day ago | parent [-]

You’re already using a computer to automate massive amounts of what used to be manual human effort.

Why is using AI tools self-debasing or degrading?

timacles 21 hours ago | parent | next [-]

I dont know how you can work in this discipline, use AI, and also ask that question.

almost every developer i know is fully aware, we are degrading every aspect of our skills.

The code writing, code reviewing, code understanding.

The more "time" passes and the more the code base grows, the more disconnected we become.

akerl_ 21 hours ago | parent | next [-]

I guess I'm an outlier then.

AI has radically improved my ability to parse and understand new codebases, to validate my hypotheses, and to work in complex systems.

I wish I knew what I was doing differently than almost every developer.

munksbeer 5 hours ago | parent [-]

You're not an outlier. The anti-AI stance is likely to be vocal online. They're quite incentivised to talk about it. Most programmers have adopted AI assisted programming (my own assertion) and most will feel like you and I, that it is useful. I know of a few programmers personally who hate it, but even they use it. There is no going back.

It is pretty obvious that when you come into a large incomprehensible codebase (which most are), AI will be able to reason about it more quickly and guide you through it.

I switched away from my work for a few minutes, but at the very moment I'm using AI to summarise some spaghetti code in a particular area in our codebase, so I can refactor it.

And that is my style of working at the moment. AI coding is useful, sometimes amazing, but sometimes irritating, and from experience I think just telling it to refactor this area would result in something I'm not happy with. So instead I'm getting a handle on it, I'll form the design I want, then tell it to do it. I have a feeling a lot of complaints are from people who won't bother to do that.

jeremyjh 21 hours ago | parent | prev [-]

Our horse riding skills have degraded even more.

akerl_ 21 hours ago | parent [-]

Jokes aside, I think this gets at the core of it.

If you really loved horseback riding, or you really loved breeding and training horses, or you were really good at it, I'm sure that cars fucked up your day, and that it sucked to see cars replace horses.

I'm sure there were plenty of people who said that cars were horrible and that we should stick with horses. I'm equally sure there have been C programmers looking derisively at Python programmers, Python programmers looking derisively at Node programmers, etc etc.

But there's a pretty big gap between the feeling of unhappiness that something you liked is no longer as in-demand / profitable / common / whatever, and saying that cars aren't useful and we're all worse off for letting our horse-riding skills degrade.

timacles 6 hours ago | parent | next [-]

This does not get to the core of it, LLMs are not equivalent to cars.

All of your analogies (in other posts) discount that: - LLMs are not deterministic - they do not produce high quality/expert level output. - They are not easy to control consistently.

Once again, and i mean this in the nicest way possible. You do not sound like you understand how things operate at an expert level of engineering. I do not know of any senior engineer who thinks LLMs can consistently produce quality output.

You are way too invested in your argument and refusing to see other perspectives

akerl_ 2 hours ago | parent [-]

It seems really convenient for you to speculate about my level of expertise so that then you can make claims that no senior engineers think something.

vermilingua 18 hours ago | parent | prev [-]

Lots more people die in car crashes than horse accidents. Good analogy!

akerl_ 18 hours ago | parent [-]

Do they? Horses aren't particularly safe, there's just way fewer of them and they don't travel as many miles.

queenkjuul 3 hours ago | parent [-]

Normal people didn't ride horses everywhere. They weren't used like cars. I'm so sick of this analogy. People walked places. If it was too far to walk you used a horse drawn bus/tram. If you had to much to carry you used a horse drawn truck. Every single person wasn't riding an individual horse ten minutes each way to buy groceries every day like that do now with cars. Cars unquestionably kill drastically more people than horses ever did or even could. Tens of thousands a year in this country alone! The leading cause of death for children and young adults!

akerl_ 2 hours ago | parent [-]

We're pretty off track given that ya'll are nitpicking the metaphor rather than the actual topic, but claiming that horses were never common doesn't really have any connection to the claim that per-mile-moved / per-human-carried, horses are also dangerous.

queenkjuul 29 minutes ago | parent [-]

They are nowhere close to cars

akerl_ 11 minutes ago | parent [-]

https://www.biamo.org/wp-content/uploads/2023/01/HorsesOnly-...

preg_match a day ago | parent | prev [-]

Because AI removes you from analytical thinking, and the brain is a muscle. The less you think, the less you are able to think.

Programming is inherently analytical and logic-driven. It’s a great brain exercise, even if the code has no value. When you use AI, you lose that exercise. What replaces it isn’t the same.

I mean, consider. I can solve a crossword, or I can ask AI to solve the crossword. AI will do it perfectly, and faster too. But which one is better for my brain? What was my goal with solving the crossword, anyway? On the surface it was to find a solution to the crossword. But, maybe, deeper down, the goal was to improve myself in some way.

People conflate the improvement of products with the improvement of self. Maybe it’s a result of our consumerist mindset. But the truth is the product can improve greatly, and you can be making it, while you yourself degrade.

We write better and better code, at a faster rate, but are we better programmers than before? Maybe, maybe not. I’m leaning maybe not.

It’s not new or unique. The assembly line is the same. Sure, I can build better furniture faster at the factory than by hand. But what is the goal here? Is it to make the best furniture, or to become the best carpenter?

If it’s to make the best furniture, the best product, then I’ve won. If it’s to become the best carpenter, then I’ve lost heavily.

akerl_ a day ago | parent | next [-]

The best carpenter obviously doesn't use any power tools. Are they allowed to use hand tools, or do they need to split the wood with their bare hands?

It's not clear to me why programming is inherently analytical and logic-driven but prompting and iterating with an AI is not. What about Applescript, where it's programming but in something closer to natural language?

The core of this seems to be that there are people who assume that users of AI turn their brains off the moment they open a Claude prompt. There are surely some people who are doing that, but there were also plenty of people who were shipping sloppy code before. There are far more people for whom this another tool in their toolbox.

zahlman a day ago | parent | prev [-]

> But, maybe, deeper down, the goal was to improve myself in some way.

Or, you know, to pass some time in an enjoyable way. To have fun.

archagon 19 hours ago | parent | prev | next [-]

Maybe it’s worth actually listening to what these people are saying, or you may find yourself increasingly frustrated and confused as these debates intensify and AI becomes more politically and socially toxic.

jeremyjh 19 hours ago | parent [-]

I've heard what they are saying, and a lot of it is factually untrue and confused. I wasn't happy about all of this when it first began happening, yet wasn't working. But once it was actually working, I realized I wanted to build software more than I wanted to craft software. Some people want to continue practicing their craft, which is a fine thing to want. But don't pretend its anything else.

archagon 18 hours ago | parent [-]

As I see it, "engineers" going all-in on AI are missing two fundamental truths of our profession:

* Writing code is a form of communication, as well as a process through which complex systems are thought through, understood, and formalized.

* Complexity is managed by building on top of robust, deterministic abstractions.

Vibe-coders deny the need to understand complex systems and pretend that AI is a new layer of abstraction. I think that both of these perspectives are dead wrong. This remains the case even if LLMs are marvelously good at generating code.

Put another way, software engineers who mostly deal with code through their agents have switched careers from engineering to some form of management, even if they deny it to themselves. In no way does this deprecate the field of software engineering.

And then there are the externalities which have been discussed ad nauseam at this point, and remain as true as they ever were. (Economic, environmental, political — take your pick.)

jeremyjh 15 hours ago | parent [-]

Not everyone using coding agents is vibe coding. I still review code until I understand it, judge the tests cover it, and that it is the right way to do it. They constantly make mistakes like over building, handling contingencies that can't exist, duplicating code etc. Its still MUCH faster than the alternative. I've been working this way for decades. It is not different from reviewing human code and designs except the loops are much tighter, and refactoring is so much cheaper. There may be a lot of people who can't do this work effectively, but the thing about skill issues is they can be improved if they are recognized for what they are.

archagon 14 hours ago | parent [-]

Almost everyone who uses coding agents extensively describes offloading some degree of understanding to the agents: reviews, tests, documentation, filling in bits "that don't matter," whatever.

As someone with years of FAANG experience, reviewing code competently was actually more strenuous than writing it in the first place. In fact, I'd estimate that truly understanding a codebase required a similar time commitment to writing the amount of code in that codebase. So I don't see how unprecedented speedups are possible with a human in the loop unless the reviews are only being skimmed.

The key to productivity and increasing complexity is inventing solid, thoughtfully designed abstractions and building on top of them, not taking shortcuts by way of a code extruder. If code is constantly getting duplicated or falling into the same patterns, figure out how to abstract or encapsulate it.

jeremyjh 13 hours ago | parent [-]

Reviewing code is more strenuous but it does not take as long - unless you count all the procrastination that happens first. And it goes much faster if you make a comment and get immediate changes because you don't have to rebuild context the next time you look at it. And yes - not every detail needs to be fully understood; sometimes verifying tests cover what they claim to is enough. Knowing which details are important and which can be hand waved is a bit of an art and I can't claim to always do it perfectly and don't always do it well for human authored code review either. And yes, I have to ask for refactorings and suggest abstractions in some cases. But there are now many tasks that coding agents actually do better than me, and they cut fewer corners, handle more edge cases, test more edge cases, research suggested designs, reviewing library docs & code much faster, etc.

anon7000 a day ago | parent | prev | next [-]

The bigger challenge is that the mechanics of the day to day work have entirely changed. Mechanically, using C is similar to using JS. You’re tying and compiling and checking results, whatever. With an Agent what you actually do is completely different. Even as technologies have changed in the past and people have learned more, your mechanical day to day work would look similar, just with different tools. Not so with AI.

So it should be utterly unsurprising that many people are going through a bit of an existential crisis around this. Because what you actually sat down and enjoyed doing, what motivated you, may be entirely gone now.

And on top of that, there’s an extreme amount of pressure to do more in less time, which is by definition stressful. And do much more context switching.

jeremyjh 21 hours ago | parent [-]

I’ve often spent more of my time reviewing code than writing code off and on for decades as my role and team size changes. So, none of this is new to me except that the loops are much tighter and I don’t have to debate the social cost of pointing out what is workable but not acceptable after the 4th review cycle when I suddenly notice something new in code that had been there all along.

The truth is a lot of developers are terrible at reviewing design specifications and code. They rarely - if ever - find any real correctness issues and more than half believe it’s mostly a status / dominance game. Many can’t force themselves to deeply think about the code if they aren’t writing it.

bigstrat2003 a day ago | parent | prev [-]

[dead]