Hacker News new | ask | show | jobs
by ryandrake 25 days ago
Ever since I started experimenting with AI coding, I've totally lost that feeling of accomplishment. For projects I actually developed by typing in the code, it feels like I actually did something--like here's something I built and am responsible for bringing into the world. When I finish an AI-built project, I feel...nothing. Just that empty: "Code now exists where it didn't exist before, but I didn't really do anything." Without any sense of ownership or attachment whatsoever. If someone DMCA'ed one of my GitHub projects and made me take it down, I'd be pissed. But if someone DMCA'ed an AI-coded thinggy, I'd probably delete the repo and never think about it again in my life.
4 comments

If your project contained original thought does it matter if the IFs and the ELSEs were generated?

I sometimes wonder if people get into this to create an actual working something or they just enjoy sorting colored blocks for the heck of it.

I am on the other extreme end: I don’t give a rat’s ass about the code itself. The spec, the intent, the architecture, the contracts are what I find interesting. All the “file handling” and “logging” and syntax wrangling and caring if some “variable” is on the “stack” or the “heap” I can live without very happily. It’s not that they are uninteresting in and of themselves but I find it hard to justify keeping my focus on these microscopic issues again and again and again and again.

I have landed here myself. I have always enjoyed writing code, but I find lately that I am getting so much more satisfaction from the process of exploring and designing systems more, and code is simply the substrate.

I am becoming a better architect with AI, because I am spending more mental energy in that lane, getting less embroiled in the nitty-gritty of the code.

I had that the first few months, but that feeling doesnt stay forever. I think a difficulty with that discussion is that some are still in the honeymoon stage, while others are at the “wtf is the point” stage of the relationship with coding harnesses. In my case that took ~1y from using tools like Claude code daily to the point where I lost interest and motivation once I understood the technology contributed negatively to my personal growth.
> I understood the technology contributed negatively to my personal growth.

If your goal is to become better at writing code, it almost certainly is a net negative.

If you define growth as shipping stuff and getting things done that you previously wouldn’t have had the time for, then it might be a positive.

Hell, it’s probably both at the same time and what each person cares more about is the deciding factor.

Programming/software engineering isn't writing code. It's understanding and designing systems. The code is the way we encode the logic. The runtime/compiler of your language is one system among many engineers have to understand and develop expertise in. When working yourself on problems you learn about the various protocols, interfaces, past design decisions and their trade offs, tooling, and develop your general system thinking. When you delegate to AI you get the resulting artifact but none of the personal growth that comes with developing it.

Think of the recent bun rewrite from zig to rust, around 1M lines of code. If you would have a team do that migration they would very likely have to become close to Rust expert, and develop an intimate knowledge of the codebase, its tradeoffs, have ideas for future improvements, good understanding of the technical debt they accepted, reliability of tests, etc. That's A LOT of expertise you can then apply to other things in your professional life.

Instead they went the AI way. The got the artifact (the migration) in ~1 week. But that's pretty much it? What did they learn from that project, other than the fact the AI can do that work? My guess would be pretty much nothing. And pretty much any other software engineer could have done the same migration. There is zero personal growth here.

How is bun going to progress from here, though? Is it feature complete, never to need another update? No. So are they just going to vibe code in Rust now? Keep developing in zig and convert each merge to Rust? Or hire/become the Rust experts they need to maintain the project?
There was a thread[1] about this the other day! People have different goals, motivations, and reasons for developing. I guess I just like sorting colored blocks. I'll agonize over the code... I really will go back to a class I wrote months ago and ask "Do I really need this member variable?" and "Does this really need to go on the heap or can it live on the stack and be automatically cleaned up?" "Can I use a pImpl C++ pattern here and reduce the number of headers that this header file includes?"

1: https://news.ycombinator.com/item?id=48316056

> I am becoming a better architect with AI, because I am spending more mental energy in that lane, getting less embroiled in the nitty-gritty of the code.

I don't believe this, every architect ive ever worked with that was not regularly in the weeds on various things in the codebase were universally terrible and out of touch.

That's probably all true. But I wonder if brains are just wired differently. I was never the developer that cared much about the particular shapes of any concrete IF/ELSE blocks in the code, so initially I was very bullish on using Claude Code a year ago. I realized that I'm the kind of guy who discovers the high-level architecture by writing the low-level code though. I'm not always sure what that architecture is up front, but the sheer act of writing code into a specific module sets off an internal background task probing the specific invariants of the module with respect to the architecture I have in mind, allowing me to revise and improve the design. That is all lost. All my agentically engineered projects look crude from an architectural perspective.
> I am becoming a better architect with AI

Be careful with that claim. Abstractions more or less leak especially in CE where the OS and hardware you built on are already full of leaky abstractions, e.g. performance traits. It is still important to look through and comprehend code.

I agree. I use the grill me skill and superpowers brainstorming to learn different methods of building stuff as far as architecture goes. Stuff I wouldn't normally think of if I just continued being "just a FE engineer"
ai can do architecture too.
On the one hand, this feels very pragmatic.

On the other hand, it feels like what people who weren't great software engineers say.

It's kind of a craft. I can't imagine an exceptional artist saying "screw the craft, I just want the painting that vaguely resembles what I requested".

I _can_ imagine artists that were not exceptional saying "it's so great that I can just prompt and get the damn painting, who care about how it's put together".

Up next, an architect who doesn't understand how concrete pours or how steel bends under stress? Hope the AI gets it perfect?

Interesting times we live in - and I realize this is an elitist take.

I think you are right, but I still care. I want to write software that is immortal. My dream is to write code that people would be happy to read and easy to understand. It is also some kind of meditation. I can zone into something and "get my hand dirty".

> I sometimes wonder if people get into this to create an actual working something or they just enjoy sorting colored blocks for the heck of it.

So yes, to be honest, some people write software for the "heck of it". Will my implementation of Lisp interpreter matter at all in the grand scheme of things? No. It is in fact a waste of time, because you _could_ have learnt how it works and implement it in less than an hour with LLM.

> The spec, the intent, the architecture, the contracts are what I find interesting.

To me, this is like saying the financial of the company is what determines the company's success, not whatever the engineering team is doing. So instead of thinking about the "The spec, the intent, the architecture, the contracts", just give the right monetary incentives and you will come up with a successful project.

From this perspective, can you empathize with the "low level" developers?

If a photo has strong composition and symbolism, does it matter if the photographer took the photo as opposed to prompting it into existence?
The entire purpose of a photo is to capture a moment. What 'moment' is AI capturing? Do the books in the background represent the 'moment'? The adverts? The furniture? The clothing? The hairstyle? These are all 'parts of the moment'. When we look at old pictures, these details are the parts people LOVE going over. None of that is there in AI, and in 20 years, no one will care go look it over, because it's meaningless, unintentional slop. Not a haircut someone picked out. Funny hiphugger/mom waist/tight/loose/bellbottoms. Not currated books in the background that represent thought of the time in which the picture was taken.

There is nothing in the AI photo worth re-looking at later, because there is nothing there. There is nothing to take from any of the 'details' in the image.

Does it matter if the moment is real? What makes you think that all of the photos that have been taken thus far are real? What makes you think that the photographer chose a certain angle to craft a story? Is that moment real? When people say "cheese" in photos to make them smile, are those real?

I am not a proponent of AI images, believe me, but I find it interesting to think that people would not like AI images. People don't really care if something is real or not. They just want to be told a good story.

i.e. we are fucked, but we have already been fucked for years without knowing. Call me a luddite but selfies is the fakest shit ever. I would rather take pictures of plants, rocks and animals than people.

That's a purpose of a photo, not the purpose. As an art form, there's a lot more to it, and much of it happens after the shutter closes.
If the realism is important, it does matter. If realism is not important("strong symbolism"), then it is not important.
An interesting question because photos are mostly machine-generated to begin with. The photographer just hits a button.
"Just hits a button" is an incredibly reductive way to look at photography
The work of a photographer is to put something interesting in front of the lens before pressing the button.
Your comment captures the most objectionable mentality behind AI zealotry so well. So much display of hubris, no appreciation of science, engineering, art, or anything at all.
to many, it does not.
"original thoughts" are not accessible to 99 percent of ppl. doenst mean they have to live a life of zero fulfillment.
I enjoyed writing code because it felt like playing Lego. Just putting stuff together. Now I do let AI code, and it's like putting together different Lego.

That said, I wouldn't let AI build my Lego sets for me because the point of that is the building. But for work? As long as my boss is happy enough to keep funding my Lego hobby, I'm happy.

You should try a higher level language. Go has no concept of stack or heap neither does Java.
To me, English is just another programming language. Some of us will always be better at it than others, and the ones that know other programming languages well will always have an advantage over those who do not.

When you are good at it there can be craft in it still.

English is not a programming language though. I don’t understand how such an obviously false sentence can be so persistent.
I'm not even sure what you mean. Of course it is.

A programming language is a formal intermediate language for turning human comprehensible instructions into machine instructions by means of an interpreter or compiler. We've now allowed that intermediate language to be English, because that's preferable to most people, and the "compiler" has become very complicated indeed as a result of that.

You still have to be able to express what it is you want in a way the machine can understand, it's just both simpler and less deterministic now.

This. Just because an llm can translate any language into a programming language doesn’t suddenly make all languages programming languages. Until I can ‘brew install englishc’ and so on, it’s not a f**ing programming language.
Can you define programing language in a way that includes all the current programming languages and excludes English? I kind of doubt it unless you just define it as "anything that isn't a human language", which would be silly.
Natural language is full of ambiguities and redundancies which makes it a poor fit for a programming language, which is why it is never used as such.

You don’t need a precise definition of a term to know what a thing is and isn’t (Wittgenstein has taught us that much at least). We just need to know that programming languages are used to express an executable computer programs (usually by translating to simple machine instructions) and that a natural language has never been used in this way in a significant manner.

A case in point. I bet you can‘t find a definition for a fish which includes cods and sting-rays, but excludes dolphins and shrimp. And similarly the IAU were unable to come up with a definition of a planet which included Pluto and Mercury but excluded Ceres and Sedna.

That’s why fully AI written projects are only interesting to those who care only about productivity (i.e. business use cases) rather than the developer’s enjoyment and satisfaction.

For my own sanity, I never allow AI to do everything. Either I write some code and turn to AI for debugging help and code review, or I let AI write the initial draft and I debug the AI-written code.

I think this is completely dependent on the person building it and why they love building software.

Some people got into software development because they love to code. Others got into it because they love bringing ideas to life and coding was the only means to do so.

I am of the latter. I love software development because it allows me to bring my idea to life. Yes, I love to code but it's a means to get to my ultimate goal. I don't have a lot of time outside of work and family to work on my ideas. They usually just sit in my head until I forget about them.

Being able to use AI to assist in feature planning while I'm on the go, break everything down into organize phases, put those phases into the structured tickets, work on architecture design, and have things come to life around my requirements and within my constraints has been a complete game changer.

It's also not an either/or, You can love both. I still love coding for the challenge, but I also love the productivity benefits AI brings me when producing things that benefit people.

At the end of the day I do not put my skills on a pedestal either, I can learn from AI the same way I learn from reading open source code.

You are absolutely right! Sorry, I couldn't resist that one (thanks Claude).

I agree with you completely.

I started at a new company in February and was able to use AI to get fully on boarded 3 months faster than their typical onboarding cycle.

I use it to learn new things all the time and to enhance my existing decades of experience. Very humbling when it shows you how much you don't know.

I feel AI is interesting if the purpose is utilitarian, but not if the purpose is artistic or expressive. I've thought to myself: If AI could create a bicycle, would I ride it? Probably, yes. If AI could create a bed frame and matching bedside cabinets, would I outfit my bedroom with them? Maybe, maybe not. If AI could paint a picture on canvas (it probably can), would I hang the output in my house? Hell no!
Welcone to Management - AI Edition: everything bad about technical management except for the people problems.
The current state of humanity, not only AI.
Meaning, purpose, essence.

Instead of void shit, empty pleasure.

AI is like cheap void calories. Writing by hand is calories from a good home cooked meal with all the nutrients and love, AI code (unless maybe you worked on putting together an AI system and the harness is your build), feels like calories from a Sprite.

Also I’ve been thinking that ai code is like cheap amazon furniture and hand crafted is well… hand crafted.

Your analogy is apt. The challenge is that most of the world runs on cheap calories and cheap furniture and that seems to be growing more and more.
Will there be a point where hand crafted does end you somewhere like the Toaster Project [1]

[1]https://www.thomasthwaites.com/the-toaster-project/

Wr are already there, in a sense: the amount of basic software in a box that is required to produce more software is already huge. And so is the supply chains behind it.
The idea of having all of those steps generated so unreliably is haunting.
Learning some schmuck's framework, IDE, language or OS never felt rewarding to me. It was always like playing with broken toys. Hear me out.

There was always some subtle quirk, a bug that irks me once every so often, something I'd never want to unleash upon masses and although these people made their work available through various channels, paid or unpaid, for some reason I felt more of a grudge than gratitude.

And I tried to fix things I did. It was a breathless, thankless exercise of working through someone else's code line by line for decades while hardly being able to lift my head because of actual work I had to do to support my life. And thus a villain was born.

I am so glad it is over. It is all ingested into neural network weights and high-pressure sprayed to the masses through RNG. I am finally free. I don't have to learn your stupid aws commands, your helm configs, your systemd antics, your http api. I don't have to care about your life times, your gc params. I tell the computer and it clinks and clanks and eventually gets the job done like gene rodenberry intended.