Wow... I really relate to this. I'm 50 as well, and I started coding in 1985 when I was 10... I remember literally every evolutionary leap forward and my experience with this change has been a bit different.
Steve Yegge recently did an interview on vibe coding (https://www.youtube.com/watch?v=zuJyJP517Uw) where he says, "arch mage engineers who fell out-of-love with the modern complexity of shipping meaningful code are rediscovering the magic that got them involved as engineers in the first place" <-- paraphrased for brevity.
I vividly remember, staying up all night to hand-code assembler primitive rendering libraries, the first time I built a voxel rendering engine and thinking it was like magic what you could do on a 486... I remember the early days at Relic, working on Homeworld and thinking we were casting spells, not writing software. Honestly, that magic faded and died for me. I don't personally think there is magic in building a Docker container. Call me old-fashioned.
These days, I've never been more excited about engineering. The tedium of the background wiring is gone. I'm back to creating new, magical things - I'm up at 2 AM again, sitting at my desk in the dark, surrounded by the soft glow of monitors and casting spells again.
[55yo] My sense is that those problems we worked on in the 80s and 90s were like the perfectly balanced MMORPG. The challenges were tough, but with grit, could be overcome and you felt like you could build something amazing and unique. My voxel moment was passing parameters in my compilers class in college. I sat down to do it and about 12 hours later I got it working, not knowing if I could even do it.
With AI, it is like coding is on GOD mode and sure I can bang out anything I want, but so can anyone else and it just doesn't feel like an accomplishment.
You switch difficulties, like you do in a game. Play on Hard or Survival mode now. Build greater and more amazing things than you ever did before.
We have never, ever, written what the machine executes, even assembly is an abstraction, even in a hex editor. So we all settle for the level of abstraction we like to work at. When we started (those of our age) most of us were assembly (or BASIC) programmers and over time we either increased our level of abstraction or didn't. If you went from assembly -> C -> Java/Python you moved up levels of abstraction. We're not writing in Python or C now, we are writing in natural language and that is compiled to our programming languages. It's just the compiler is still a bit buggy and opinionated!! And yes for some low level coding you still want to check the assembly language, some things need that level of attention.
I learn more in a day coding with AI than I would in a month without it, it's a wonderful two-way exchange, I suggest directions, it teaches me new libraries or techniques that might solve the problem. I lookup those solutions and learn more about my problem space. I feel more like a university student some days than a programmer.
Eventually this will probably be the end of coding and even analytical work. But I think that part is still far off (and possibly longer than we'll still be working for) in the meantime actually this for me is as exciting as the early days of home computing. It won't be fun for ever, the Internet was the coolest thing ever, until it wasn't, but doesn't mean we can't enjoy the summer while it's summer.
>With AI, it is like coding is on GOD mode and sure I can bang out anything I want, but so can anyone else and it just doesn't feel like an accomplishment.
I think it's possible that we'll get to the point where "so can anyone else" becomes true, but it isn't today for most software. There's significant understanding required to ask for the right things and understand whether you're actually getting them.
That said, I think the accomplishment comes more so from the shaping of the idea. Even without the typing of code, I think that's where most of the interesting work lies. It's possible that AI develops "taste" such that it can sufficiently do this work, but I'm skeptical it happens in the near term.
> With AI, it is like coding is on GOD mode and sure I can bang out anything I want, but so can anyone else and it just doesn't feel like an accomplishment.
That's the thing - prompting is lower-skill work than actually writing code.
Now that actually writing code has less value than prompting, and prompting is lower skill than writing code, in what world do you think that the pay will remain the same?
> Now that actually writing code has less value than prompting, and prompting is lower skill than writing code, in what world do you think that the pay will remain the same?
Don't you think people said the same thing C and Python? Isn't Python a lower skill than C for example?
Great! I turn from a creator to a babysitter of creators. I'm not seeing the win here.
FWIW, I use LLMs extensively, but not to write the code, to rubber-duck. I have yet to have any LLM paired with any coding agent give me something that I would have written myself.
All the code is at best average. None of the smart stuff comes from them.
I think there's still quite a chasm out there. Domain knowledge, an informed and opinionated view on how something should function, and overall tech knowledge are still key. Having those three things continues to greatly differentiate people of equal coding skill, as they always have.
That’s something LLMs are also presumably good at. At least I’m seeing more and more push to use LLMs at work for ambitious business requirements instead of learning about the problem we’ve been dealing with. Instead of knowing why you are doing what you’re doing, now people are just asking LLMs for specific answers and move on.
Sure some might use it to learn as well, but it’s not necessary and people just yolo the first answer claude gives to them.
Sure but here OP was left wondering why prompting didn't make them feel like they had done/accomplished anything. And the reason is because they didn't do anything worthy of giving them a feeling of accomplishment.
All the ones I've tried feel like little toddlers that completely miss the point, forget half the requirements mid way, are adamant that they are completely correct then have the gall to act an authority when you point out glaring issues.
I take way less time doing it myself vs coaxing an AI to get a decent solution that catches all edge cases.
AI for me is only useful on subjects I know nothing about, and even then, given I know how bad it is in subjects I know everything about I take everything it says with a megacrystal of salt.
And that's exactly what the person I was replying to seems to be complaining about.
So many people on "Hacker" News could benefit from reading the canonical text on the subject by Steven Levy. A true hacker wants to bring the fire down the mountain. People around here just want to piss on it.
> I don't personally think there is magic in building a Docker container. Call me old-fashioned.
This seems like a false dichotomy. You don't have to do this. It is still possible to build magical things. But agents aren't it, I don't think.
It is honestly extremely depressing to read this coming from a founder of Relic. Relic built magic. Dawn of War and Company of Heroes formed an important part of my teenage years. I formed connections, spent thousands of hours enjoying them together with other people, and pushed myself hard to become one of the top 100 players on the CoH leaderboards. Those competitive multiplayer games taught me everything there was to know about self-improvement, and formed the basis of my growth as an individual - learning that if I put my mind to it, I could be among the best at something, informed my worldview and led me to a life of perpetually pushing myself to further self-improvement, and from there I learned to code, draw, and play music. All of that while being part of amazing communities where I formed friendships that lasted decades.
All of this to say, Relic was magic. The work Relic did profoundly impacted my life. I wonder if you really believe your current role, "building trust infrastructure for AI agents", is actually magic? That it's going to profoundly impact the lives of thousands or millions?
I'm sorry for the jumbled nature of this post. I am on my phone, so I can't organize my thoughts as well as I would like. I am grateful to you for founding Relic, and this post probably comes off stupidly combative and ungrateful. But I would simply like to pose to you, to have a long think if what you're doing now is really where the magic is.
Edit: On further consideration, it's not clear the newly-created account I'm responding to is actually Alex Garden. The idea of potentially relating this personal anecdote to an impersonator is rather embarrassing, but I will nonetheless leave this up in the hope that if there are people who built magical things reading this, regardless of whether they're Alex Garden or someone else, that it might just inspire them to introspection about what building magic means, about the impact software can have on people's lives even if you don't see it, and whether this "agent" stuff is really it.
>The idea of potentially relating this personal anecdote to an impersonator is rather embarrassing
Good news! You've also related it to the roughly ~3-10M monthly HN readers who are not (potentially) impersonating the founder of a beloved game studio.
Also: I think you're probably safe. I'm sure someone at some point has come to HN to LARP as some prominent person in tech that they don't happen, at that specific moment, to actually be... but I can't really think of it happening before, nor would I expect it to take the form of a particularly thoughtful comment if a troll did that. Though with AI these days, who knows? I might myself just be one of a swarm of clawd/molt/claw things. In which case I'd be the last to even know it.
Oh-- as for being depressed about their docker/wiring things up sentiment. Try not to be, and instead, consider: Is it a surprise that someone who founded such a place as relic was occasionally-- even often-- frustrated at the things they had to clear away to build the thing they actually wanted to build? People who want to build amazing experiences may not love having to clear clutter that gets in their way. Other people want to build the tools that clear clutter, or other things that keep the whole system going. Those are beautiful too.
If we've arrived at the point where bots are impersonating me (instead of the billions of other choices), I'm probably at peak Alex. I'll light a candle. So... easy to disambiguate this one.
I got the idea for Homeworld one night when I was about 21. At the time, I was working at EA as a programmer on Triple Play 98 (building FE gfx - not glamorous). In an RTS-ironic twist of fate, my boss and mentor at the time was Chris Taylor - go figure.
Friends of mine had their own game company and had boxed themselves into a technical corner they couldn't get out of, so I agreed to write a bunch of sprite conversion code for them after hours. That night, we were all working in a room, talking about the reasons X-Wing vs. Tie Fighter didn't work on a 2D screen (hold up and left till you turn inside and shoot) and how Battlestar Galactica didn't get the cred it deserved, and BOOM - in my mind I saw ships in 3D with trails behind them. Inside a crystal sphere like Ptolomy's theory of the universe (man inside - god outside), and I saw that the surface of a sphere is 2D, so you could orbit OUTSIDE with a mouse... it looked like spaghetti floating in zero g... that's why Homeworld's working title was "Spaghetti Ball" for months.
Fortunately for me, in this ambiguous thread, I can give you all the proof of life you want. Try me.
Now... is transparent and trustworthy casting spells? Yeah... it is, but not by itself. It's a primitive - a building block. My personal projects (that I do think are magical) kept running into the same problems. Effectively, "how do I give up the keys if I don't really know what the driver is going to do?" I tried coming at this problem 10 different ways, and they all ended up in the same place.
So I decided to go back to the basics - the putpixel(x,y) of agentic workflows, and that led me to transparency and trust. And now, the things I'm building feel magical AND sustainable. Fun. Fast... and getting faster. I love that.
At Relic, our internal design philosophy was "One Revolutionary and Multiple Evolutionary". The idea was that if you tried to do more than one mind-blowing new thing at a time, the game started feeling like work. You can see this in the evolution of design from Homeworld to DoW to CoH (and in IC too, but let's face it, that game had issues <-- my fault).
Now... on the topic of "Is agentic coding better or worse", I feel like that's asking "is coding in assembler better or worse". The answer (at least used to be) "it depends"... You're on a continuum, deciding between traditional engineering (tightly controlled and 100% knowable) and multi-agentic coding (1,000x more productive but taking a lot for granted). I've found meaning here by accepting that full-power multi-agentic harnesses (I rolled my own - it's fucking awesome) turn software engineering into Socratic debate and philosophy.
I don't think it's better. It's just different, and it lets you do different things.
I remember a magazine cover that labeled you a gaming god, hard to peak beyond that! The quote you provided back then resonates perfectly with what you describe here: "If there's one message I like to get across to people, I like them to really and truly embrace [the fact that] anything that your imagination can conceive of is possible."
I started a bit younger and am a bit older, and relate. But only so much. I started programming in 3rd grade (also BASIC) when I found a computer and learned how to play a game on it, then found the source code for the game and randomly started changing it. In 7th grade I was paid to port a BASIC program to C (super new at the time), which I did on paper because I didn't own a computer (I used the money to buy my first). To be clear, I was really bad a programming for a long time and simply kept at it until I wasn't.
I love messing about with computers still. I can work at the byte level on ESP-32s on tiny little devices, and build massive computation engines at the time time on the same laptop. It's amazing.
I feel for those who have lost their love of this space, but I have to be honest: it's not the space that's the problem. Try something new, try something different and difficult or ungainly. Do what you rail against. Explore.
Appeal to identity. Prejucide and bias. Not considering an enthusiast of a technology might actually want to get paid working with that technology. Shameful comment all around.
Disclosing conflicting of interest is standard practice. People writing about economics do disclose when holding relevant shares.
In the end, it's a simple question: Are the opinions stated sincere or does the author have a pecuniary interest which might make things a bit more subjective?
I couldn't agree more. Also, thanks for making Homeworld, it was great!
I was building a 3D space game engine myself as a kid around the time Homeworld came out and realized that rather than using a skybox with texture maps, you had it created out of a bunch of triangles with color interpolation.
IIRC, I had problems reverse engineering your data format in order to incorporate them in my engine. I emailed someone on your team and was very surprised to get a reply with an explanation, which helped me finish that feature.
The skybox with texture maps was our original plan too. The problem was that GPUs didn't have enough RAM to hold anything high-res, so the universe looked like pixel-soup.
Rob Cunningham (lead artist) had the idea of "painting with light" using giant polygons and spicing them up with pixels to create a convincing distant galaxy that you got closer to with each mission. Genius.
In the second half of my 40s now and I'm in the same boat. I started slapping keys on a c64 when I was 2 years old. Really enjoyed software development until 10-15 years ago. With the current LLM tooling available the number of systems I've been able to build that are novel and tackle significant problems has been kind of mind blowing over the past 8 months or so.
Staying up late, hacking away at stuff like I used to, and it's been a blast.
Finally, Homeworld was awesome and it felt magical playing it.
I'm still amazed by how you got ships to usually fly in formation, but also behave independently and rationally when that made sense.
That game was a magnificent piece of art. It set a unique and immersive vibe on par with the original Tron movie. I'm really glad I have a chance now to tell you.
Thanks... It was magical at the time... I've thought a lot about why it was magical over the years... I think if you boil away all the space stuff, Homeworld was a story about people who knew in their hearts that they were special and destined for something greater than the universe was willing to allow. And they went through hell to discover that they were right. Looking back, I think that's a story a lot of us on this thread (inc. me) can relate to.
Amen to this. The optimization the team did blows my mind… whenever I think of it I think of if someone made Crysis run on the NES without compromises.
The soundtrack was stellar, and introduced me to Barber (Adagio for Strings).
I'll join the chorus of praise for Homeworld. It was a big part of that era for me. I must have spent hours just zooming the camera as close as I could get to all the different ships, or just watching the harvesters do their thing. Almost meditative, looking back. Thank you for casting your spells!
First of all, Homeworld was an iconic game for me growing up, so as other people have said, thank you for being apart of its creation.
I could not agree more. It feels like the creativity is back. I grew up building fun little websites in the 90s, building clan websites for Quake 2.
That creativity died somewhere between Node.js, AWS, npm, and GitHub.
Some might say, well, that's growing up and building serious apps.
Maybe. But it doesn't change that I spent the last 15 years doing the same frontend / backend wiring over and over again to churn out a slightly different looking app.
The last 2 years have been amazing for what I do. I'm no longer spending my time wiring up front ends. That's done in minutes now, allowing me to spend my time thinking about solving the real problems.
Wow, Alex Garden on Hackernews. Hello fellow canuck. I'm now getting up there, still a few years shy of y'all but not much. I came up through the 90s and early 2000s, all web/linux stuff, irc servers, bash scripts, python, weird php hacks, whatever, I was a kid. I'd lose track of time, It was Monday night after high school then all of a sudden it was Sunday morning and I was talking on irc about the crazy LAMP stack I'd put together. 2am? pfft, what is sleep?! Sadly with very strong dyslexia and dyscalculia, being a real programmer was never in the cards for me, I understood how everything worked, I can explain the whole thing end to end in great depth, but ask me predictably how to do a table in html or some fairly simple CSS, and I'll be there for hours. I'm grateful the rest of my life allowed me to be programmer adjacent and spend so much time around developers, but always a little frustrated I couldn't pick up the hammer myself.
These days, I've never been more excited about building. The frustration of being slow with the code is gone. I'm back to creating new, magical things - I'm up at 2 AM again, sitting at my desk in the dark, surrounded by the soft glow of monitors and casting spells.
Why is your last paragraph nearly identical to the last paragraph you are replying to? It might have been a strange quirk, but there’s also been the suggestion that the post you’re replying to is an imposter, so it gets weirder that you also did that.
> I don't personally think there is magic in building a Docker container. Call me old-fashioned.
I still vividly remember setting up gcc in a docker container to cross compile custom firmware for my cannon camera and thinking about the amount of pain my local system would have been in if I had to do all the toolchain work in my host OS. Don't know if it felt like magic, but it sure didn't hurt like the alternative!
For sure. Docker is rad (sorry Docker!)... all I'm saying is that I am not proud of the fact that I can do it and I don't think it moves the awesome needle - but it's still hard to get right and a pain in the ass. It's just an example of something I appreciate that I can automate now.
I'm 45 yo. And also started programming quite early around 1988. In my case it was GWBAsic games and then C ModeX and A
Later Allegro based games.
Things got so boring in the last 15 years, I got some joy in doing AI research (ML, agents, Genetic Algorithms, etc).
But now, it's so cool how I can again think about something and build it so easily. I'm really excited of what I can do now. And im ot talking about the next billion dollar startup and whatnot. But the small hacky projects that LLMs made capable.yo build in no time.
I'm nigh on 50 and feel very differently. I honestly loved the 2010s and the adoption of frameworks, SaaS, continuous deployment, cloud and even agile. Delivering software felt a lot more professional and less artisan which I really appreciated. I can fondly recall opening 4 ssh windows and running tail -f on every prod server log, but using New Relic or the like is just way, way better. It feels more satisfying to clearly define a feature and deploy it with certainty. It may also be a product of just moving up the seniority ranks and being more exposed to business.
All that being said, I think a side effect of being this age is not really enjoying anything as much as I used to. Coding is still fun, but the magic faded a while ago. My oldest kid is applying to college and she loves coding, but I'm nudging her to do either math or engineering because just learning CS doesn't seem like it's going to be as rewarding as it was 25 years ago.
I'm in my 40s, and I've been involved with computers since I was old enough to read. I was talking to some customers today about how magical it feels to blast past my own limits of my coding abilities with the help of LLMs. It's not perfect, and I mostly won't generate stuff that's a polished, finished product. But when it works, it sparks the same joy that it did when I was discovering the first bits of what computers can do on my Apple ][+.
I think this works unironically. My mother is an avid gardener and can spend 8 hours a day gardening. When her life circumstances allowed for it, she hired a once a week gardener to do the tasks she didn't like (or had difficulties doing as a small woman), and still gardens the same amount. I've teased her for hiring a gardener, but she swears it's a huge help and boost to her gardening quality of life.
this is a great analogy despite it possibly coming off as snark.
I think it's hard for some people to grasp that programmers are motivated by different things. Some are motivated by shipping products to users, others are motivated to make code that's a giant elegant cathedral, still others love glorious hacks to bend the machine into doing things it was never really intended to do. And I'm sure I'm missing a few other categories.
I think the "AI ain't so bad" crowd are the ones who get the most satisfaction out of shipping product to users as quickly as possible, and that's totally fine. But I really wish they'd allow those of us who don't fall into that category to grieve just a little bit. This future isn't what I signed up for.
It's one thing to design a garden and admire the results, but some people get into their "zen happy place" by pulling up weeds.
I agree and would add that it's not just different people, it can be the same person in different modes. Sometimes I enjoying making the thing, other times I just want to enjoy having the thing.
I don't disagree, but I think it would benefit everyone to be clear, upfront and honest with themselves and others about exactly what's being lost and grieved. The weeds are still growing and our hands are still available to pull them, so it's not that.
I think the people who like shipping quickly probably don't like building products in the first place and are looking for other aspects of entrepreneurship.
A huge benefit I find in AI is that it helps with a lot of things I hated. Merge conflicts, config files, breaking dependency updates... That leaves me more time to focus on the actual functionalities so I end up with better APIs, more detailed UIs, and more thorough tests. I do think it's possible to be relevant/competitive by only delegating parts of the work to AI and not the whole thing. Though it might change if AI gets too good.
I agree with this, I put myself in the "glorious hacks to bend the machine into doing things it was never really intended to do" camp, so the end game is somthing cool, now I can do 3 cool things before lunch instead of 3 cool things a year
But, almost by definition of how LLMs work, if it’s that easy then someone else did it before and the AI is just copying their work for you. This doesn’t fit well with my idea of glorious hacks to bend the machine, personally. I don’t know, maybe it just breaks my self-delusion that I am special and make unique things. At least I get to discover for myself what is possible and how, and hold a sliver of hope that I did something new. Maybe at least my journey there was unique, whereas everyone using an AI basically has the same journey and same destination (modulo random seed I guess.)
This is a valid point, the good news is I think there is some hope in developing the craft of orchestrating many agents into something that is satisfying and rewarding in it's own right.
Your grieving doesn’t have to shit all over my personal enjoyment and contentment. Me enjoying the use of AI in developing software doesn’t take anything away from your ability to grieve or dislike it. I’m not asking you to be excited, I’m asking you not to frame my enjoyment as naive, harmful, or lesser.
Your feelings are yours, mine are mine, and they can coexist just fine. The problem only shows up when your grief turns into value judgments about the people who feel differently.
Where do you draw your line between plagiarism and creativity? I learned in art school this question is more difficult to answer than it appears when taken seriously.
That's a great question, I've never tried to draw a concrete line before. Code is inherently creative. But it's not art, it doesn't map 1:1 like that.
But I wouldn't consider attempting to duplicate a painting, plagiarism if you painted it yourself with your hand (assuming you mention or reference the original author, or it's well know e.g. starry night) . I would consider it plagiarism if you duplicated it via photo, or other automated method.
I'd translate it to code as; if you're looking at stack overflow for the answer, if you understand it, before writing your own implementation, that's learning, and not plagiarism. But if you copy out the whole function without understanding how to implement it yourself, that would be.
The person I replied to said
> Having opencode doesn't preclude me from making elegant code. It just takes away the carpel tunnel.
I assume he's asking the LLM to generate upwards of multiple hundreds of lines of code. Let's assume he's does understand all of it. (Something that defies my understanding around how most LLM users use codegen.) Then you have a sister comment who claims you can write multiples more code/projects using LLMs. At a certain point your ability to understand the code must fall away. And at that point, if you didn't have the majority of the creative input. Why call it your work?
I assume you're an artist, if you have an LLM generate you a picture. Do you feel like it's work you've created? Did the inspiration for where each line should start, and end, come from the contents of your mind? Or was it sampled from a different artist? Given the exact same prompt, would you draw the same lines next week? Next month? Because the LLM would.
There's no doubt it's easy to draw parallels in any creative work, both from art an code. But if you didn't make the decision about where to place the function, about which order you want to call them, if you're gonna do error handling deep down as close to the error as possible, or you're optimizing for something different, and decided long ago that all errors should bubble back up to the main function.
One, or two, or even a half dozen of decisions might seem insignificant, but together, if you didn't really make any of them. How can you claim it's code you wrote? Why do you feel proud of the work of others, sampled and mapped into a training set, and then regenerated into your repo, as if it's work you put forth? All of that should be read as the rhetorical you, I know you're not making that argument. But would you make it? When you share a meme with your friend, do you claim you created the meme? Even if you use a memegen, and change the words to reference your in joke. Do you feel like you've created that art? Or are you using the art of someone else to share the idea you want to share? I assume it's the latter, but
They said "Having opencode doesn't preclude me from making elegant code." They're taking credit for making the elegant code, just as if they were taking credit for inventing the meme. There's a different amount of effort involved, and that effort, or the source of it, is significant when talking about who deserves the credit, and the sense of pride.
Thank you very much for your thoughtful reply and I may come back and comment again as I digest it. I struggled with the same things in film school, I almost dropped out because I was frustrated at the the level of what I considered, very many different names... "unfair", "cheating", "plagiarism", I used to get very worked up about it. "They used full auto here I can tell" - "Those vectors are downloaded" - "That filter is a preset they bought" - especially so when I came second. Our dean would regularly say the most creative people simply do the best job of hiding their source of creativity.
I agree with you code and art are not the same thing, but I do suspect it can get a bit complicated, it still is for me. Even on your question about how I feel - I don't have a good answer for you because I won technical Emmy awards for working on abstractions, lots of people said our work was cheap and gimmicy, cool, we won Emmy's. I go back and forth often on what is "fair" (whatever that means).
Of all you said the last paragraph I can connect with the most, I tried to have someone thrown out of film school for the same type of thing, but as that same dean told me "life is too short man, you gotta chill out".
> But if you didn't make the decision about where to place the function, about which order you want to call them, if you're gonna do error handling deep down as close to the error as possible,
I still make all those decisions. I decide what my error handling structure is, and I have it finally exactly the way I like it in python. I usually discover the "right" way for a piece of software while writing it, then it is a chore to refactor to make it consistent across the code base again. Now I just make a spec (edit: for the refactor which defines this new abstraction and its interfaces), let it run and go grab a coffee. Yes I dont decide anymore exactly which line number the function is in, but that never mattered did it? What matters is how your objects compose and how you handle edge cases. I still do that.
The same reason why using a generator like antlr doesn't feel like plagiarism to me. I don't outsource thinking to these models, only coding. My spec files contain the architecture, and details of intent on each interface. That is the part of the work that actually matters, rest of it is just code monkey stuff. While I am sad I don't get the peace and satisfaction of churning out code, my primary goal is to make cool things not coding.
Plagiarism is claiming someone else’s specific work as your own. Using a generative tool is closer to using a compiler, an IDE, or a library. I’m not copying a person’s code or submitting someone else’s project with the name filed off. I’m directing a system, reviewing the output, editing it, and taking responsibility for the result.
If I paste in a blog post verbatim and pretend I wrote it, that’s plagiarism. If I use a tool to generate a starting point and shape it into what I need, that’s just a different kind of authorship.
> If I paste in a blog post verbatim and pretend I wrote it, that’s plagiarism. If I use a tool to generate a starting point and shape it into what I need, that’s just a different kind of authorship.
If you cloned chapters from multiple books, from multiple different authors, didn't decide on the sentence structure, didn't choose the words yourself, didn't decide which order your going to place these chapters, didn't name the characters. At what point do you no longer get credit for writing the book?
What if it's code? what if you didn't decide which order you should call these functions. Didn't make the decision about if you're gonna write var i, or idx, or index. Didn't make a decision if this should be an u32, or an i64. Didn't read any of the source code from that new dependency you just added. Didn't name the functions, oh but no, you did have to edit that one function because it wouldn't compile, so you just renamed it like the error suggested... At what point does the effort you put in become less significant than the effort duplicated from the training set? How much of the function do you have to write yourself, before you take credit? How many chars have to by typed by your fingers, before you claim. You made this?
What I described was directing, reviewing, and editing. You’ve ignored that entirely to construct a version of me who pastes “write me an app” and ships it unread… then spent three paragraphs righteously tearing that down. I own the intent, the spec, the judgment about what’s correct, and the blame when it breaks. That’s authorship, and that’s why using a generative tool isn’t plagiarism. The rest is breathless gibberish dressed up as moral clarity.
> What I described was directing, reviewing, and editing.
You didn't actually describe any of that though? You asserted that's what you do, but didn't describe any of those steps.
If you do, you'd be the first person I see actually do that when using LLM codegen. Most people who advocate for it, do behave that way. You're mistakenly taking my rhetorical argument against the more common, and substituting your own interpretation of how things are. Which is the very thing you're attempting to chastise me for doing. Just as you're unconvinced by my rejection of your hypothetical, I'm unconvinced by yours.
I might agree if you spend the same amount of time and effort, it wouldn't count as plagiarism. But if it's not faster, then what's the point?
> The rest is breathless gibberish dressed up as moral clarity.
Sure, that's a fair interpretation if you want to feel like a superior asshole. But really I was attempting to describe how I view the way most people interact with LLM codegen, before claiming they did all the work. Which if you recall, was my original question; why is that view wrong? What details would convince me I've misunderstood something?
You've made a straw man of how people use codegen and are not willing to change your opinion even though people are telling you this is not how they use code gen.
*I'm so excited about landscape design. Can't wait to do more. Employing a gardener to do the gardening for me is really making me enjoy landscape design again!
I'm so excited about landscape architecture now that I can tell my gardener to create an equivalent to the gardens at versailles for $5. Sometimes he plants the wrong kind of plant or makes a dead end path, but he fixes his work very quickly.
The proper analogy would be you can now remove all weeds with the swipe of your hand and cut all your hedges with another swipe, you still are gardening you can do it quicker and therefore explore different possibilities.
Maybe this isn't directly related to what you're saying and I'm not attacking it, I'm just thinking out loud: What would it mean to master gardening then? I've never gardened in my life but I grew up in Scotland around estate houses and castles, my friends dads were gardeners and each of them seems to be specialists in their own area, many working on the same estate, so what exactly is this "holistic experience of gardening"?
My point is just that if there are 10 different activities that produce the same resulting object, they aren't necessarily the same activities in the minds of the participants solely because the output is the same.
Are directors frauds because they aren’t the ones doing the acting? Is there no joy in being an architect because they aren’t the one assembling the building at the construction site? Is there no value in product engineering because they aren’t fabricating the products in the factory?
It’s fine to find enjoyment in the actual programming part of software engineering. It’s stupid to assume that is the only aspect of software engineering that is valuable or that is enjoyable for others.
No you didn’t. You lead a team of gardeners to develop your grand vision. Or you directed an epic movie leading a cast of talented actors bringing your vision to life. You can choose an empowering analogy or a negative one it’s your choice.
Yeah... a team of gardeners who might, with no warning, decide to burn down your house to create some extra fertilizer for the rose garden. Sometimes I wonder...
Your comment is interesting because it shows how engineers view their work: through the product, i.e the why, or through the craft, i.e the how.
What you consider "exciting", as a theoretical gardener, is the act of taking care of the plants. What OP finds it exciting is that they may now get a team of gardeners that'll build a Versailles-like garden for free.
By artificially narrowing a multi-faceted issue to just two either/or simplistic options you are no longer describing the issue. If you ackknowledge this, you can comment on it. But not acknowledging it makes your comment hard to parse. Sarcarsm? Overly simplistic? Missing context? Unclear.
If I were the architect of a large building that I designed from the blueprints, the interior, etc, I wouldn’t feel bad that I didn’t install the toilets myself. AI agents are the plumbers, the painters, the electricians, etc
Well, the gardener isn't going to cut down your roses to the ground as they are about to go into bloom because s/he mistook it for the weed they were just working on.
How about hiring a gardener to do some of the stuff and you can focus doing the part of the gardening/landscaping that is important to you and you enjoy?
I think that's a more accurate (and charitable) analogy than yours.
I used to be big into amateur radio. When I was considering to build a tower, I would have paid someone to build the tower for me and do the climbing work to mount stuff on the tower. Your statement is nonsensical, because it assumes that there is a binary choice between "do everything yourself" and "delegate everything".
Imagine though instead of 1 garden you can make 10 or 30 gardens in the same time that are more extravagant than your 1 garden was. At any point in time you can dive back in 1 of them and start plucking away
It's the making, not the having. If I'm selling these gardens, surely it's better to have more. If I enjoy the act of making the garden, then there's no reason I ever need to finish the first one.
This analogy has probably outstayed its usefulness.
Well it's more like employing a gardener makes me enjoy landscaping again. It's not like we ever found writing words on a keyboard all that great, it's fundamentally just about having an idea and turning it into something real.
I guess some people enjoy the process, but you can still do that.
It's like with machinists and 3D printers, you can always spend 10 hours on the lathe to make something but most of the time it's more practical to just get the part so one can get on with what actually needs doing.
that's a good analogy, maybe change 3d printers to CNC. I think there's a group of people that derive joy and satisfaction from using the part they designed and there's another that gets satisfaction from producing the part as designed. Same for software, some people are thrilled because they can get the software they imagine while others dread not producing the software people imagine.
As mosburger says, this is a great analogy. Do you think that the great artists paint, sculpt, and draw everything by hand, by themselves? Of course not... they never did, and they don't today. You're being offered the ability to join their ranks.
It's your studio now. You have a staff of apprentices standing by, eager for instructions and commands. And you act like it's the worst thing that ever happened to you.
Steve Yegge recently did an interview on vibe coding (https://www.youtube.com/watch?v=zuJyJP517Uw) where he says, "arch mage engineers who fell out-of-love with the modern complexity of shipping meaningful code are rediscovering the magic that got them involved as engineers in the first place" <-- paraphrased for brevity.
I vividly remember, staying up all night to hand-code assembler primitive rendering libraries, the first time I built a voxel rendering engine and thinking it was like magic what you could do on a 486... I remember the early days at Relic, working on Homeworld and thinking we were casting spells, not writing software. Honestly, that magic faded and died for me. I don't personally think there is magic in building a Docker container. Call me old-fashioned.
These days, I've never been more excited about engineering. The tedium of the background wiring is gone. I'm back to creating new, magical things - I'm up at 2 AM again, sitting at my desk in the dark, surrounded by the soft glow of monitors and casting spells again.