My take on AI really comes down to this:
Debugging your own code was an adventure and finally getting something work was a major rush. You had a sense of achievement.
Debugging LLM generated code is hell - it's basically debugging someone else code. There's no sense of achievement and no jump out of your chair and bounce around the room moments.
Sure, the code comes out fast, and maybe I'll find joy in finishing some side projects I've been tinkering with on and off since I first started programming, or it may just end up feeling like it's not mine any more.
Yeah. It's not that it wasn't 'professionalized' back in the day, it's that everything has changed--the attitude, the people involved, the kinds of businesses there are, the philosophy. There was a...mystery about it, a feeling like you were entering a different world and that world was a place where you were close the the machine and...I just can't describe it. It was more visceral.
I made my first BASIC program in the late 70s on a Decwriter, which was basically a wide-carriage printer with a keyboard, attached via acoustic modem to a time-sharing system. And it was the best thing ever.
I'm about ten years ahead of the author. I felt this a long time before AI arrived. I went from solving problems for people to everything I tried to ending up in an endless grind of yak-shaving.
I worked my way through it, though. It made me both give up programming, at least in the commercial sense, and appreciate the journey he and I have gone through. It's truly an amazing time to be alive.
Now, however, I'm feeling sucked back into the vortex. I'm excited about solving problems in a way I haven't been in a long time. I was just telling somebody that I spent 4-6 hours last night watching Claude code. I watched TV. I scratched my butt. I played HexaCrush. All the time it was just chugging along, solving a problem in code that I have wanted to solve for a decade or more. I told him that it wasn't watching the code go by. That would be too easy to do. It was paying attention to what Claude was doing and _feeling that pain_. OMG, I would see it hit a wall, I would recognize the wall, and then it'd just keep chugging along until it fixed it. It was the kind of thing that didn't have damned thing to do with the problem but would have held me up for hours. Instead, I watched Pitt with my wife. Every now I then I'd see a prompt, pop up, and guide/direct/orchestrate/consult/? with Claude.
It ain't coding. But, frankly, coding ain't coding. It hasn't been in a long, long time.
If a lot of your job seems like senseless bullshit, I'm sad to say you're on the way out. If it doesn't, stick around.
I view AI as an extinction level threat. That hasn't changed, mainly because of how humans are using it. It has nothing to do with the tech. But I'm a bit perplexed now as to what to do with my new-found superpowers. I feel like that kid on the first Spiderman movie. The world is amazing. I've got half-a-dozen projects I'm doing right now. I'm publishing my own daily newspaper, just for me to read, and dang if it's not pretty good! No matter how this plays out, it is truly an amazing time to be alive, and old codgers like us have had a hella ride.
There was a brief period when I discovered BeOS 4.5 which brought the wonder back in September 1999. That was short lived. I occassionally get the bug with Haiku but sadly dont have the spare time during this last decade.
Enthusiast on small platforms still chase the bug, in these smaller communities you can actually make a difference, and there is still passion to be found there. There is also some innovation since experimental concepts can be tried out.
It lines up a lot with what I've been thinking as well and this is what I wrote today on my blog. https://www.immaculateconstellation.info/why-ai-challenges-u...
But you would not be able to make anything anywhere near as complex as you can with modern tools.
Last year I found out that I always was a creator, not a coder.
I think there may be a counterpoint hiding in plain sight here: back in 1983 the washing machine didn't have a chip in it. Now there are more low-level embedded CPUs and microcontrollers to develop for than before, but maybe it's all the same now. Unfathomable levels of abstraction, uniformly applied by language models?
Archived blog here incase the original source becomes inaccessible: https://archive.is/3rsQu
New concepts came out all along.
They became standardized all along and came down market to smaller and smaller projects.
Source control.
Cloud.
Agile/Scrum.
Code completion IDEs.
Higher Level languages.
These were not LLMs but did represent a shift that had to be kept up with.
LLMs are no different, just a bigger jump.
There is just as much opportunity here.
Software development and software developers are not going away.
More software that never could be built will now be built.
For the forseeable future there will always be software that needs to be overseen by a human.
People used to talk about "getting into the zone" or "being in the flow" and how open offices disrupt that ability to focus or concentrate.
Now the only flow is management of agentic AI which I imagine is hard for people to get into the same mindfulness state.
If you program as labor, consider what you might build with no boss. You’re better equipped to start your own farm than you think.
Bad times to be a programmer. Start learning business.
40+ years later, been through many BASICs, C, C++ (CFront on onwards) and now NodeJS, and I still love writing code.
Tinkering with RPi, getting used to having a coding assistant, looking forward to having some time to work on other fun projects and getting back into C++ sooooon.
What's not to love?
Harsh take: nobody's stopping you from doing that. You can dust off an old computer right now and write software for it. All of that joy still exists. It's just that nobody's going to pay you for it and it's no longer mainstream relevant - the world's moved on from those times, in many cases for good reasons.
So I think what the person really wants is to have their cake and eat it too. They want to be mainstream relevant and employable... whilst having fun.
That's a luxury. More specifically it's a first world luxury. Most people don't get to have that. True, many programmers did get to have it for a time - but that doesn't mean we're entitled to it forever - not unless it's somehow directly tied to producing valuable results.
But you know it's strange to me that programmers lose sight of this. I became a programmer because I saw Wolfenstein 3D on a 386, and was inspired by there being a "world in the box". I wanted to make worlds too. That's an important distinction: I didn't become a programmer because I wanted to write code, I became a programmer because I wanted to create worlds. The programming is a means to an end, it's not the end unto itself - at least I never looked at it that way. And that's in spite of the fact that I genuinely enjoy programming in and of itself. But I still value the outcome more.
And in fact I actually went through a related transition some years ago on a personal level, when I shifted from always trying to write game engines from the ground up to being willing to use engines like Unity or Unreal. It felt like a betrayal - I no longer had a deep understanding of every layer, I could no longer bespoke craft everything to my personal whims. But you know what? It was absolutely the right choice because it put me on track to actually finishing the games I was working on, which was the entire point of the exercise in the first place.
So I don't bemoan or regret it for a second.
Anyway hope that didn't sound too blunt - it's just my way of speaking - I can sympathize with the author but I just think it's on the self-indulgent side.
Programming just doesn't feel enjoyable anymore. It has become less a craft and more just a way of putting bread on the table.
Surveillance and Extraction
"We were promised flying cars", and what we got was "investors" running the industry off the cliff into cheap ways to extract money from people instead of real innovation.
Working in AI startups strangely enough I see a lot of the same spirit of play and creativity applied to LLM based tools - I mean what is OpenClaw but a fun experiment
Those kids these days are going to reminisce about the early days of AI when prompts would be handwritten and LLMs would hallucinate
I’m not really sure 1983, 1993 or 2003 really was that gold of age but we look at it with rose colored glasses
*I'm picking that era because it seems to be when most electronic machines' business logic moved from hardware to software.
Oh, and I’m 57 and was programming the Commodore Pet when I was 11. I’m relieved to be (mostly) free of syntactic shackles.
Vote me down, but also prove me wrong.
The computing the author enjoyed/enjoys is still out there, they are just looking for it in all the wrong places. Forget about (typical) web development (with its front and backend stacks). Forget about windows and macOS, and probably even mobile (though maybe not).
Hobby projects. C++/Rust/C/Go/some-current-Lisp. Maybe even Zig! Unix/Linux. Some sort of hardware interaction. GPL, so you can share and participate in a world of software created by people a lot more like you and a lot less like Gates and Jobs and Zuckerberg and ...
Sure, corporate programming generally tends to suck, but it always did. You can still easily do what you always loved, but probably not as a job.
At 62, as a native desktop C++ app developer doing realtime audio, my programming is as engrossing, cool, varied and awesome as it has ever been (probably even more so, since the GPL really has won in the world I live in). It hasn't been consumed by next-new-thing-ism, it hasn't been consumed by walled platforms, it hasn't been taken over by massive corporations, and it still very much involves Cool Stuff (TM).
Stop whining and start doing stuff you love.
> Stop whining and start doing stuff you love.
You have to understand that it's hard to do stuff that you love when you have to feed your family and pay mortgage or rent. Not everyone can be or want to be entrepreneur.
You are just talking from perspective of someone who already paid all debts raised all kids and now enjoying or soon will be enjoying retirement - at least meaning you can retire even if maybe don't want to.
> But for me it's annoying some late 50s+ people telling what you just did.
The author of TFA is at least 50!
> You are just talking from perspective of someone who already paid all debts raised all kids
That part is true. But that was more or less true when I was 50, too.
Finally, the article wasn't about the shitty economic world that we've created for so many people, it was about how programming has changed. Those two are inter-related but they are not the same.
Welcome to the human condition, my friend. The good news is that a plurality of novels, TV shows, country songs, etc. can provide empathy for and insight into your experience.
maybe that just means it's a maturing field and we gotta adapt?
yes, the promise has changed, but you still gotta do it for the love of the game. anything else doesnt work.
Yours Truly Captain Obvious
I'm 49.... Started at 12... In the same boat
First 286 machine had a CMOS battery that was loose so I had to figure that out to make it boot into ms-dos
This time it does feel different and while I'm using them ai more than ever, it feels soulless and empty even when I 'ship' something
Even if you can achieve awesome things with LLMs you give up the control over tiny details, it's just faster to generate and regenerate until it fits the spec.
But you never quite know how long it takes or how much you have to shave that square peg.
But sure. AI is the moment they lost track of what’s happening.
I feel this is conflating different things. Yes, the abstraction tower was massive already before, but at least the abstractions were mostly well-defined and understandable through interfaces: even if you don't understand the intricacies of your storage device, driver and kernel, you can usually get a quite reliable and predictable mental representation how files work. Same goes for network protocols, higher-level programming languages or the web platform.
Sure, there are edge cases where the abstraction breaks down and you have to get into the lower levels, but those situations are the exception, not the norm.
With AI, there is no clearly defined interface, and no one really knows what (precise) input a given output will produce. Or maybe to put it better, the interface is human language and your mental representation is the one you have talking to a human - which is far more vague than previous technical abstractions.
On the bright side, at least we (still) have the intermediate layer of generated code to reason about, which offsets the unpredictability a bit.
As an artisan, everything’s automated now.
You can’t just stay in the kitchen anymore.
you now have to focus on leverage. sales, growth, hiring, affiliating, etc.
To make more people’s lives better (with faster pace).
I feel like I turned around and there seem to be no jobs now (500+ applications deep is a lot when you've always been given the first role you'd applied to) unless you have 2+ years commercial AI experience, which I don't, or perhaps want to sit in a SOC, which I don't. It's like a whole industry just disappeared while I had my back turned.
I looked at Java in Google Trends the other day, it doesn't feel like it was that long ago that people were bemoaning how abstracted that was, but it was everywhere. It doesn't seem to be anymore. I've tried telling myself that maybe it's because people are using LLMs to code, so it's not being searched for, but I think the game's probably up, we're in a different era now.
Not sure what I'm going to do for the next 20 years. I'm looking at getting a motorbike licence just to keep busy, but that won't pay the bills.
Try making music, creating videos, making interactive LED art, building robots, or fabricating toys.
The tools we have today suddenly make it far easier and more fun to experiment with a new craft. What was once daunting is now approachable.
Start by using an AI-powered tool—without shame—to make something superficially 'cool'. Yes, we all know you used a 'cheat code' but that's okay! Now you get to dive in and deconstruct what you created. Tear it apart and learn how and why it works. Go as deep as your motivation carries you. Experiment, hack, and modify.
Just as in software, there will be many many layers of abstraction that you can work through and learn about. Many of them are overflowing with magic and sources of inspiration, I promise.
The gears of capitalism will likely continue to aggressively maximize efficiency wherever possible, and this comes with both benefits and very real costs (some of which are described James's post).. but outside the professional sphere, it appears to me that we are entering a new hobbyist / hacker / creative renaissance. If you can find a way to release enough anxiety and let the curious and creative energy back in, opportunities start showing up everywhere.
But everybody on this site lived through the first half of a logistic curve so that perspective seems strange to us.
I think it'd be pretty incredible if we hit on the best way to write software 40 years ago when people had only been doing it seriously for a couple of decades. It's no more surprising that we find better approaches to coding than farming improving when the tractor replaced a horse.
This claim is frequently made about that era yet ignores the fact it was almost certainly running proprietary software.
That's exactly what it is.
But I'm still having a great time, it really just depends on what you're working on.
At this point I entered surviving mode, and curious to see where we will be 6 months, 2 years from now. I am pessimistic.
I want to tinker with my beloved Z80 again.
Doom does not use mode-X :P ! It uses mode-Y.
That being said as a 47 years old having given 40 years to this thing as well, I can relate to the feeling.
I had my first paid programming job when I was 11, writing a database for the guy that we rented our pirate VHS tapes from.
AI is great.
What a poetic ending. So beautiful! And true, in my experience.
As model costs come down that $20,000 will become a viable number for doing entirely AI-generate coding. So more than ever you don't want to be doing work that the AI is good enough at. Either jobs where performance matters or being able to code the stack of agents needed to produce high quality code in an application context.
Another commentor mentioned embedded, and after a brief phase of dabbling in that, mainly with nRF5x micros, I tend to agree. Less training data and obtuse tooling.
I don’t get the impression that the majority particularly cares about correctness. In fact, it’s one of the weak points of AI.
And I fell in love with it again. I'm learning how to work in this new world and it's fun as hell.
I like coding with AI both vibe and assisted, since as soon as the question enters my head I can create a prototype or a test or a xyz to verify my thoughts. The whole time I'm writing in my notebook or whiteboard or any other thing I would have gotten up to. This is enabling tech, the trouble for me is there is a small thread that leads out of the room into the pockets of billion dollar companies.
It is no longer you vs the machine.
I have spent tons of time debugging weird undocumented hardware with throwaway code, or sat in a debugger doing hex math.
I think one wire that is crossed right now in this world is that computing is more corporate than ever, with what seems like ever growing platforms and wealth extraction at scale. Don't let them get you down, host your own shit and ignore them. YES IT WILL COST MORE -> YOUR FREEDOM HAS A PRICE.
Another observation is that people that got into the game for pure money are big mad right now. I didn't make money in the 00s, I did in the end of the 10s, and we're back at job desolation. In my groups, the most annoyed are code boot campers who have faked it until they made it and have just managed to survive this cycle with javascript.
Cycles come and go, the tech changes, but problem solving is always there.
I observe that the way we taught math was not oriented on the idea that everyone would need to know trigonometric functions or how to do derivatives. I like to believe math curricula was centered around standardizing a system of thinking about maths and those of us who were serious about our educational development would all speak the same language. It was about learning a language and laying down processes that everyone else could understand. And that shaped us, and it's foolish to challenge or complain about that or, God forbid, radically change the way we teach math subjects because it damages our ability to think alike. (I know the above is probably completely idealistic verging on personal myth, but that's how I choose to look at it.)
In my opinion, we never approached software engineering the same way. We were so focused on the compiler and the type calculus, and we never taught people about what makes code valuable and robust. If I had FU money to burn today, I'd start a Mathnasium company focused around making kids into systems integrators with great soft skills and the ability to produce high quality software. I would pitch this business under the assumption that the jenga tower is going to be collapsing pretty much continuously for the next 25-50 years and civilization needs absolute unit super developers coming out of nowhere who will be able to make a small fortune helping companies dig their way out of 75 years of tech debt.
Why reinvent the wheel.
Yes, there might be less room for the Wild Wild West approach, as mentioned in the article: But that is the structure of compounded knowledge/tooling/code available to developers/others to create more enriched software, in the sense that it runs on what is available now and provides value in today's age of computing.
I also had a 486DX2-66. And I recall coding in Assembly, Pascal, C etc.
I do not miss it. These days I can create experiences that reach so many more people (a matured Interneet with realtime possibilities - to simplify) and with so much more potential for Good. Good in the sense of usefulness for users, good in the sense of making money (yeah, that aspect still exists).
I do understand your sentiment and the despairing tone. There have been times when I was struck by the same.
But I do not miss 1995 and struggling with a low-level formatted HD and Assembly that screwed up my floppy disks, or the worms that reached my box, or the awful web sites in terms of UX that were around, or pulling coaxial cables around for LAN parties.
It's just a different world now. But I get what you are saying, and respect it. Stay optimistic. :)
Every generation of engineers believes they experienced the "real" era when things were understandable / meaningful. The people who mastered punch cards probably felt the same way when keyboards took over. The people who wrote in assembly probably felt the same way when C came around.
Abstraction didn't start with AI. It's been a defining feature of computing since the beginning.
For most developers, writing code has never been the point. Rather, it's been a tool: a means to build something useful, solve a problem, support a family, etc. The craft evolves and so must we.
Posts like this expose the risk in tying one's identity to a specific version of the game. When the rules change, it's a loss. That's human! But the deeper skill - judgment, taste, style, etc. — hasn’t gone anywhere. If anything, it matters more when raw output becomes cheap.
We can mourn the loss of forced difficulty, or we can choose new challenges. No doubt that's harder when one has spent decades mastering a specific skill, but it's still a choice.
The magic was never the machine. Rather, it's the _agency_.
And that’s still available!
Such education is COMPLETELY different from the one they offered in school, but closer to those offered in premium schools (MIT/Berkeley). Basically, I'd call it "Software engineering archaeology". Students are supposed to take on ancient software, compile them, and figure out how to add new features.
For example, for the OS kernel branch:
- Course 0: MIT xv6 lab, then figure out which subsystem you are interested in (fs? scheduler? drivers?)
- Course 0.5: System programming for modern Linux and NT, mostly to get familiar with user space development and syscalls
- Course 1: Build Linux 0.95, run all of your toolchains in a docker container. Move it to 64-bit. Say you are interested in fs -- figure out the VFS code and write a couple of fs for it. Linux 0.95 only has Minix fs so there are a lot of simpler options to choose from.
- Course 2: Maybe build a modern Linux, like 5.9, and then do the same thing. This time the student is supposed to implement a much more sophiscated fs, maybe something from the SunOS or WinNT that was not there.
- Course 3 & 4: Do the same thing with leaked NT 3.5 and NT 4.0 kernel. It's just for personal use so I wouldn't worry about the lawyers.
For reading, there are a lot of books about Linux kernels and NT kernels.
it's the LLMs that are spitting out fake photos and videos and generating lots of shitty graphics for local businesses, that's where I'm still wielding a pitchfork...
The author is right. The magic has faded. It's sad. I'm still excited about what's possible, but it'll never create that same sense of awe, that knowledge that you can own the entire system from the power coming from the wall to the pixels on your screen.
I use it every day lately (for text-related work and hobbyst-level assembly learning -- my intent is to write a small application to do paid work which involves chopping audio files). And -- I say a single-tasking system is a complete, true bliss in our days. Paired with a 4:3 Thinkpad screen, that DOS environment gives me instant focus for a long time -- which, to me, has been almost impossible to accomplish on a multi-tasking, contemporary-web-browser-equipped system recently.
Apparently, though, there seems to be AI for DOS, too [2]. :) I prefer my DOS machine to be completely offline, though. Peace and harmony for the soul!
0: https://freedos.org/ | http://svardos.org/ | https://forum.vcfed.org/index.php?threads/minidos-2026-relea... | https://bttr-software.de/forum/board.php
My recent experience is the opposite. With LLMs, I'm able to delve into the deepest parts of code and systems I never had time to learn. LLMs will get you to the 80% pretty quick - compiles and sometimes even runs.
Of course society should be a lot of things but that’s not a reality. Like, imagine a world exists soon where not every person (or even the majority of people) are useful, even formerly useful people - we already live in this world! If raw intellectual output is the value generator in the world we live in, and is a meritocracy, the simple fact by statistics is most will be left behind. what society already does to the disabled, and the sick is proof of this already. These people take professions to suit their circumstances. I am one, and I am fine with it. but by the parameters of the game, this is how to best maximize my passion output. Many people have many ideas how to change “society” I personally think is a waste of time, society adapts to circumstances most of the time. Except the people at the bottom usually get a raw deal.
Claude and it's kin remind me of junior "just out of university" developers with piles of knowledge but no appreciation of the real world impact of anything. Of long conversations about edge cases and why they matter, extensive error-checking and logging.
The last place I worked had (some) users eager to be their own developer to get things done that much quicker. These are often the same users unable to accurately define what they really want, assuming that the nearby BA will understand and the magic will happen. They haven't worked out, and may not be interested in learning that they will be their own BA and that the uncertainties in their vision will be baked into the final offering.
In reality, I'm glad to be out, the fossil suffering the effects of the tools whilst unable to influence anything.
Here’s the part that makes me laugh, darkly.
I saw someone on LinkedIn recently — early twenties, a few years into their career — lamenting that with AI they “didn’t really know what was going on anymore.” And I thought: mate, you were already so far up the abstraction chain you didn’t even realise you were teetering on top of a wobbly Jenga tower.
They’re writing TypeScript that compiles to JavaScript that runs in a V8 engine written in C++ that’s making system calls to an OS kernel that’s scheduling threads across cores they’ve never thought about, hitting RAM through a memory controller with caching layers they couldn’t diagram, all while npm pulls in 400 packages they’ve never read a line of.
But sure. AI is the moment they lost track of what’s happening.
The abstraction ship sailed decades ago. We just didn’t notice because each layer arrived gradually enough that we could pretend we still understood the whole stack.
AI is just the layer that made the pretence impossible to maintain."
Absolutely brilliant writing!
Heck -- absolutely brilliant communicating! (Which is really what great writing is all about!)
You definitely get it!
Some other people here on HN do too, yours truly included in that bunch...
Anyway, stellar writing!
Related:
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...
https://en.wikipedia.org/wiki/Tower_of_Babel
https://en.wikipedia.org/wiki/Abstraction_(computer_science)
https://en.wikipedia.org/wiki/Abstraction
https://ecommons.cornell.edu/entities/publication/3e2850f6-c...
yup.
Whether it's ROM programming, writing assembly, or C, or Rust, or JS-with-stdlib, at no point was anyone "teetering". Stacks have always existed, and whether your stack was small because it just had not much under it, or huge because it's 2026, they've by and large always been stable. That's the point of a stack: you can trust the parts below the layer you're working on, and the problems you solve are still real problems that for the most part don't require knowing the lower parts of the stack but are still real problem sin programming.
It's like making fun of people who drive a company rental because they don't want to own one themselves, and can't name any part of their engine: you're just being an ass.
Even the good TS programmers understand classic programming concepts like using the right data structures, paying attention to runtime complexity, and knowing when to go "maybe it's the step below me". They can work out difficult problems just fine.
You were writing an article about how fundamentally different AI has made things: why dunk on people who got into programming more recently than you and started higher on the ladder of abstraction, mocking them for "you were already about to fall". No, they weren't. They understood the core concepts just fine, and we collectively gave them stacks that they could trust. And they would have transitioned to "the next thing" just like you've been doing.
And then "AI" showed up, and it doesn't care about silly things like "how high up the ladder you are", it just went "your skills about how to schedule, structure, plan, describe, and manage projects is the thing that matters. Those other skills are nice to haves, and will make you better at being a PM, but they're not the main focus anymore". It doesn't matter where on the ladder you are, that affects everyone.
And the part of programming that wasn't your projects, whether back in the days of TPS reports and test coverage meetings, or in the age of generative AI, that bit was always kinda soul draining.
It’s literally the same argument over and over and it’s the same comments over and over and over
HN will either get back to interesting stuff or simply turn into a support group for aging “coders” that refuse to adapt
I’m going to start flagging these as spam
I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhäuser Gate. All those moments will be lost in time, like tears in rain. Time to die.
where we came from and where we're going this whole time in my career those things are kind of hard to pinpoint. Abstraction is killing us for sure. Time to market above all else. It's no wonder why software in cars, appliances and medical equipment is a factor that is killing people.
* "Then it professionalised. Plug and Play arrived. Windows abstracted everything. The Wild West closed. Computers stopped being fascinating, cantankerous machines that demanded respect and understanding, and became appliances. The craft became invisible."
* "The machines I fell in love with became instruments of surveillance and extraction. The platforms that promised to connect us were really built to monetise us. The tinkerer spirit didn’t die of natural causes — it was bought out and put to work optimising ad clicks."
* "Previous technology shifts were “learn the new thing, apply existing skills.” AI isn’t that. It’s not a new platform or a new language or a new paradigm. It’s a shift in what it means to be good at this."
* "They’re writing TypeScript that compiles to JavaScript that runs in a V8 engine written in C++ that’s making system calls to an OS kernel that’s scheduling threads across cores they’ve never thought about, hitting RAM through a memory controller with caching layers they couldn’t diagram, all while npm pulls in 400 packages they’ve never read a line of... But sure. AI is the moment they lost track of what’s happening."
* "Typing was never the hard part."
* "I don’t have a neat conclusion. I’m not going to tell you that experienced developers just need to “push themselves up the stack” or “embrace the tools” or “focus on what AI can’t do.” All of that is probably right, and none of it addresses the feeling."
To relate to the author, I think with a lot of whats going on I feel the same about, but other parts I feel differently than they do. There appears to be a shallowness with this... yes we can build faster than ever, but so much of what we are building we should really be asking ourselves why do we have to build this at all? Its like sitting through the meeting that could have been an email, or using hand tools for 3 hours because the power tool purchase/rental is just obscenely expensive for the ~20min you need it.1. I shouldn't be so tied to what other people think of me (craftsman, programmer, low level developer)
2. I shouldn't measure my satisfaction by comparing my work to others'. Quality still matters especially in shared systems, but my responsibility is to the standards I choose to hold, not to whether others meet them. Plus there are still community of people that still care about this (handmade network, openbsd devs, languages like Odin) that I can be part of it I want to
3. If my values are not being met either in my work or personal life I need to take ownership of that myself. The magic is still there, I just have to go looking for it
not sure how that relates to llms but it does become an unblocker to regain some of that "magic", but also i know to deep dive requires an investment i cannot shortcut.
the new generation of devs are already playing with things few dinosaurs will get to experience fully, having sunk decades into the systems built and afraid to let it go. some of that is good (to lean on experience) and some of it holding us back.
A lot of people started building projects like mine when the EVM was newer. Some managed to get a little bit of popularity, like Dark Forest. But most were never noticed. The crypto scene has distracted everyone from the work of tinkerers and artists who just wanted to play with a new paradigm. The whole thing became increasingly toxic.
It was like one last breath of fresh cool air before the pollution of AI tools arrived on the scene. It's a bitter sweet feeling.
Given the bazillions poured into it I have yet to see this proven to be cheaper.
Claude is a godsend to me, but fuck, it is sometimes dumb as door, loves to create regressions, is a fucking terrible designer. Small, tiny changes? Those are actually the worse, it is easy for claude, on the first setback, decides to burn the whole world and start from zero again. Not to mention when it gets stuck in an eternal loop where it increasingly degenerates the code.
If I care about what I deliver, I have to actively participate in coding.
> Why do people use the
> ' — ' all the time now?
> It's not a proper English
> separator.
Care to take a wild guess where LLMs got it from? > LLMs love using them
> for whatever reason
Would you care to take a wild guess where LLMs got them from?For example, the author has coded for their entire career on silicon-based CPUs but never had to deal with the shittiness of wire-wrapped memory, where a bit-flip might happen in one place because of a manufacturing defect and good luck tracking that down. Ever since lithography and CPU packaging, the CPU is protected from the elements and its thermal limits are well known and computed ahead of time and those limits baked into thermal management so it doesn’t melt but still goes as fast as we understand to be possible for its size, and we make billions of these every day and have done for over 50 years.
Moving up the stack you can move your mouse “just so” and click, no need to bit-twiddle the USB port (and we can talk about USB negotiation or many other things that happen on the way) and your click gets translated into an action and you can do this hundreds of times a day without disturbing your flow.
Or javascript jit compilation, where the js engine watches code run and emits faster versions of it that make assumptions about types of variables - with escape hatches if the code stops behaving predictably so you don’t get confusing bugs that only happen if the browser jitted some code. Python has something similar. Thanks to these jit engines you can write ergonomic code that in the typical scenario is fast enough for your users and gets faster with each new language release, with no code changes.
Lets talk about the decades of research that went into autoregressive transformer models, instruction tuning, and RLHF, and then chat harnesses. Type to a model and get a response back, because behind the scenes your message is prefixed with “User: “, triggering latent capabilities in the model to hold its end of a conversation. Scale that up and call it a “low key research preview” and you have ChatGPT. Wildly simple idea, massive implications.
These abstractions take you further from the machine and yet despite that they were adopted en masse. You have to account for the ruthless competition out there - each one would’ve been eliminated if they hadn’t proven to be worth something.
You’ll never understand the whole machine so just work at the level you’re comfortable with and peer behind the curtain if and when you need (eg. when optimizing or debugging).
Or to take a moment to marvel.
and they still call themselves 'full stack developers' :eyeroll:
> …Not burnout…
Than meybe wadeAfay? ;)* dial-up being replaced by DSL
* CAT being replaced with fiber for companies
* VOIP replacing bulk BPX
* Cloud replacing on-prem to an extent
* Cloud services plague now called SaaS
* License for life being replaced by subscription
* AI driving everything to shit literally
The technology is no longer helping anything, it is actually tearing our society apart. Up to 2000s, things were indeed evolution, improvements, better life style be it personal or professional. Since 2000s, Enshitification started, everything gets worse, from services, to workflows, to processes, to products, to laws.
Gen-Z does not realize how bad things are, and how we are no longer becoming smarter but dumber, kids cannot even read but have every single social media account.
If they could spend one day back in early 2000s, the current generation would start a civil war in every single city across the globe.
All the magic was in those magazines, where people shared code, optimizations, explanations, and new programs and games. In each of those magazines people were writing letters to the publisher team with their modifications. It was pretty awesome how the community spirit worked and shared the creative enthusiasm through "paper channels" before the online age.
Then came github. Github was amazing, the /explore page was my new tab page for at least the first 5 years. I loved the exploration part of what other humans built, what kind of ideas they had, and where they wanted to go with their projects. I just loved reading code and learning from it.
Now, post github and post LLM, I don't know what this means anymore. Doxxing communities rule the internet, people are abusing hate and misinformation to enforce their political views. The remaining ones try to shield themselves from information overload syndrome.
But what does it mean to contribute now? Are humans now something like Christoph Waltz in Zero Theorem? Algorithm monkeys training the AI at an input console? Is that what humanity envisions as its future these days?
I still build software, but my approach has changed. I am scared for future generations that will have forgotten how to read books, and where the knowledge and hacking spirit has been lost completely. So I am spending the time I have left optimizing for that future, because the trend of short lived media excessively emotionalizing every topic is clearly going there.
Maybe, some day in the future, a kid will read my wiki and be amazed on what you can do with a computer. That's enough motivation for me to keep going.
My goals are pretty clear for now:
- make knowledge decentralizable
- write down all the basics I need to know to exercise my craft
- write tools to combat surveillance, censorship, and cyber warfare
- write tools to share knowledge
Bullshit. While abstraction has increased over time, AI is no mere incremental change. And the almost natural language interaction with an agent is not the same as Typescript over assembly (not to mention you could very well right C or Rust and the like, and know most of the details of the machine by heart, and no, microcode and low level abstractions are not a real counter-argument to that). Even less so if agents turn autonomous and you just herd them onto completion.
I'm significantly younger than OP, but this was it for me too. I'm autistic and found the world around me confusing growing up. Computers were wonderful because they were the only thing that really made sense to me.
I was obsessed with computers since I was 5. I started programming probably around age 10. Then in my early teens I started creating Flash applications, writing PHP, Java, etc...
When I look back on my early career now it was almost magical. This in the mid to late 00s (late to some I know), but this was before the era of package managers, before resources like Stackoverflow, before modern IDEs. You had some fairly basic frameworks to work with, but that was really about it. Everything else had to be done fully by hand.
This was also before agile was really a thing too. The places I worked at the time didn't have stand-ups or retrospectives. There were no product managers.
It was also before the iPhone and the mass adoption of the internet.
Back then no one went into software engineering as a profession. It was just some thing weird computer kids did, and sometimes businesses would pay us to build them things. Everyone who coded back then I got along with great, now everyone is so normal it's hard for me to relate with me. The industry today is also so money focused.
The thing and bothers me the most though is that computers increasingly act like humans that I need to talk to to get things done, and if that wasn't bad enough I also have to talk with people constantly.
Even the stuff I build sucks. All the useful stuff has been build so in the last decade or so stuff I've built feels increasingly detached from reality. When I started I felt like I was solving real practical problems for companies, now I'm building chatbots and internal dashboards. It's all bollocks.
There was a post recently about builders vs coders (I can't remember exactly). But I'm definitely a coder. I miss coding. There was something rewarding about pouring hours into a HTML design, getting things pixel perfect. Sometimes it felt laborious, but that was part of the craft. Claude Code does a great job and it does it 50x faster than I could, but it doesn't give me the same satisfaction.
I do hope this is my last job in tech. Unfortunately I'm not old enough to retire, but I think I need to find something better suited to my programatic way of thinking. I quite like the idea of doing construction or some other manual labour job. Seems like they're still building things by hand and don't have so many stupid meetings all the time.
What are you talking about? You don't know how 99% of the systems in your own body work yet they don't confront you similarly. As if this "knowledge" is a switch that can be on or off.
> I gave 42 years to this thing, and the thing changed into something I’m not sure I recognise anymore.
Stop doing it for a paycheck. You'll get your brain back.
>The real AI risk isn't job loss — it's epistemic
>This morning I had a ChatGPT conversation that started about engagement metrics and ended up with a systematic destruction of my identity.
https://www.jamesdrandall.com/posts/real-ai-risk-isnt-job-lo...
But snark away. It’s lazy. And yes it is so damn tedious.
> Finally, LLM-generated prose undermines a social contract of sorts: absent LLMs, it is presumed that of the reader and the writer, it is the writer that has undertaken the greater intellectual exertion. (That is, it is more work to write than to read!) For the reader, this is important: should they struggle with an idea, they can reasonably assume that the writer themselves understands it — and it is the least a reader can do to labor to make sense of it.
https://rfd.shared.oxide.computer/rfd/0576#_llms_as_writers
The heavy use of LLMs in writing makes people rightfully distrustful that they should put the time in to try to read what's written there.
Using LLMs for coding is different in many ways from writing, because the proof is more there in the pudding - you can run it, you can test it, etc. But the writing _is_ the writing, and the only way to know it's correct is to put in the work.
That doesn't mean you didn't put in the work! But I think it's why people are distrustful and have a bit of an allergic reaction to LLM-generated writing.
People put out AI text, primarily, to run hustles.
So its writing style is a kind of internet version of "talking like a used car salesman".
With some people that's fine, but anyone with a healthy epistemic immune system is not going to listen to you.
If you want to save a few minutes, you'll just have to accept that.
Looks like this comment is embracing the tools too?
I'd take cheap snark over something somebody didn't bother to write, but expect us to read.
Yes it's fast, it's more efficient, it's cheap - the only things we as a society care about. But it doesn't convey any degree of care about what you put out, which is probably desirable for a personal, emotionally-charged piece of writing.
I'd wish people would stop doing that. AI writing isn't even particularly good. Its not like it makes you into Dostoevsky, it just sloppifies your writing with the same lame mannerisms ("wasn't just X — it was Y"), the same short paragraphs, the same ems.
"Upgrading your CPU wasn’t a spec sheet exercise — it was transformative."
"You weren’t just a user. You were a systems engineer by necessity."
"The tinkerer spirit didn’t die of natural causes — it was bought out and put to work optimising ad clicks."
And in general a lot of "It's not <alternative>, it's <something else>", with or without an em dash:
"But it wasn’t just the craft that changed. The promise changed."
it's really verbose. One of those in a piece might be eye-catching and make someone think, but an entire blog post made up of them is _tiresome_.
(2) Phrasing like this seems to come out of LLMs a lot, particularly ChatGPT:
"I don’t want to be dishonest about this. "
(3) Lots of use of very short catch sentences / almost sentence fragments to try to "punch up" the writing. Look at all of the paragraphs after the first in the section "The era that made me":
"These weren’t just products. " (start of a paragraph)
"And the software side matched." (next P)
"Then it professionalised."
"But it wasn’t just the craft that changed."
"But I adapted." (a few paragraphs after the previous one)
And .. more. It's like the LLM latched on to things that were locally "interesting" writing, but applies them globally, turning the entire thing into a soup of "ah-ha! hey! here!" completely ignorant of the terrible harm it does to the narrative structure and global readability of the piece.
I can hate LLMs for killing my craft while simultaneously using it to write a "happy birthday" message for a relative I hate or some corpo speak.
The post in the same vain, "We mourn our craft", did a much better job at this communicating the point without the AI influence.
Exactly how I feel. Mainstream tech has become increasingly frustrating for me to deal with, I can only assume because of its mass adoption and catering towards the average person.
I'm seeing processes that were difficult and involved humans in the past now be replaced not by better technical solutions, but by LLMs masquerading as the humans, making it even more difficult. Ex: a customer service phone call but now with a bot.
I used to hope that I would one day be able to make appointments using an online calendar, but now I'm expecting I'll still need to call, but "talk" to an AI, still during business hours.
It's like YouTube-style engagement maximization. Make it more punchy, more rapid, more impactful, more dramatic - regardless of how the outcome as a whole ends up looking.
I wonder if this writing style is only relevant to ChatGPT on default settings, because that's the model that I've heard people accuse the most of doing this. Do other models have different repetitive patterns?
(An explanation for the emoji spam in GitHub READMEs is also welcome. Who did that before LLMs?)
I mean, obviously you can't know your actual error rates, but it seems useful to estimate a number for this and to have a rough intuition for what your target rate is.
Did chatGPT write this response?
It feels as though a window is closing upon the feeling that software can be a powerful voice for the true needs of humanity. Those of us who can sense the deepest problems and implications well in advance are already rare. We are no more immune to the atrophy of forgetting than anyone.
But there is a third option beyond embrace or self-extinguish. The author even uses the word, implying that consumers wanted computers to be nothing more than an appliance.
The third option is to follow in the steps of fiction, the Butlerians of Dune, to transform general computation into bounded execution. We can go back to the metal and create a new kind of computer; one that does have a kind of permanence.
From that foundation, we can build a new kind of software, one that forces users to treat the machine as appliance.
It has never been done. Maybe it won't even work. But, I need to know. It feels meaningful and it has me writing my first compiler after 39 years of software development. It feels like fighting back.
I mean "permanence" in the same vague senses that I think the OP was hinting upon. A belief that regardless of change, the primitives remain. This is about having total confidence that abstractions haven't removed you the light-cone of comprehension.
Re: Appliance
I believe turing-completeness is over-powered, and the reason that AGI/ASI is a threat at all. My hypothesis is that we can build a machine that delivers most of the same experiences as existing software can. By constraint, some tasks would impossible and others just too hard to scale. By analogy, even a Swiss-army knife is like an appliance in that it only has a limited number of potential uses.
Re: Users
The machine I'm proposing is basically just eBPF for rich applications. It will have relevance for medical, aviation, and AI research. I don't suppose that end-users won't be looking for it until the bad times really start ramping up. But, I suppose we'll need to port Doom over to it before we can know for sure.
it's kind of strange to think about but i guess now there's a new incentive to do something truly new and innovative. The llms won't be able to do it for you.
My goal is to make training (especially self-training) impossible; while making inference deterministic by design and highly interpretable.
The idea is to build a sanctuary substrate where humans are the only beneficiaries of all possible technical advancements.
Generally, I get that feeling from work projects that I've self-initiated to solve a problem. Fortunately, I get the chance to do this a lot. With the advent of agentic coding, I am able to solve problems at a much higher rate.
Quite often, I'll still "raw dog" a solution without AI (except for doc lookups) for fun, kind of as a way to prove to myself I can still do it when the power's out.
I feel like the conversation does a good job of couching the situation we find ourselves in.
I feel that LLMs have finally put the ball in MY court. I feel sorry for the others, but you can always find puzzles in the toy section of the bookstore.
also coz of llms no more puzzle questions in interviews for those that have to go through them.
for some of us - we drink, eat, sleep - something called shipping - v1 might be shitty but it has to get out - no puzzles
I feel very fortunate that I was able to start out writing machine code and can now watch a machine write code on its own. I'm not even remotely claiming SOTA models can do what we do, but they are closer than ever before.
It's time to accept that the world has changed again.
Modern coding has become more complex than I would have ever thought possible. The number of technologies an individual would have to master to actually be a expert "full stack" coder is ludicrous. It is virtually impossible for an individual to prototype a complex Web based app by themselves. I think AI will lower that barrier.
In return we will get a lot more software - probably of dubious quality in many cases - as people with "ideas" but little knowledge start making apps. Not a totally bad thing but no utopia either. I also think it will likely reduce the amount of open source software. Content producers are already hoarding info to prevent AI bots from scraping it. I see no reason to believe this will not extend to code as more programmers find themselves in a situation more akin to musicians than engineers.
Maybe if you work in the world of web and apps, AI will come for you. If you don't , and you work in industrial automation and safety, the I believe it will not.
"They’re writing TypeScript that compiles to JavaScript that runs in a V8 engine written in C++ that’s making system calls to an OS kernel that’s scheduling threads across cores they’ve never thought about, hitting RAM through a memory controller with caching layers they couldn’t diagram, all while npm pulls in 400 packages they’ve never read a line of."
The sense of nostalgia that can turn too easily into a lament is powerful and real. But for me this all came well before AI had become all consuming... It's the just the latest manifestation of the process. I knew I didn't really understand computers anymore, not in the way I used to. I still love coding and building but it's no longer central to my job or lif3. It's useful, I enjoy it but at the same time I also marvel at the future that I find myself living in. I've done things with AI that I wouldn't have dared to start for lack of time. It's amazing and transformative and I love that too.
But I will always miss the Olden Days. I think more than anything it's the nostalgia for the 8-bit era that made me enjoy Stranger Things so much. :)
I stuck with C and C++ as my bread and butter from 1996-2011 with other languages in between.
I don’t miss “coding” because of AI. My vision has been larger than what I could do myself without delegating for over a decade - before LLMs.
“coding” and/or later coordinating with people (dotted line) reporting to me has been a necessary evil until a year or two ago to see my vision go to implementation.
I absolutely love this new world. For loops and while loops and if statements don’t excite me in my 50s. Seeing my vision come to life faster than I ever could before and having it well archited does.
I love talking to “the business” and solving XYProblems and getting to a solution 3x faster
I still have a very distinct memory when my father told me he was buying us our first home computer. I remember him telling me that you could use the computer to make games. I was so excited by the idea and amazing by this technology (that I hadn't yet even remotely understood). I remember saying "Oh, you just tell it to make a game? And it makes a game?" He explained to me then what programming was.
When we got the TRS-80, he and I worked together to build a game. We came up with an idea for a text adventure game called "Manhole Mania" - you were a city works employee exploring the sewers after reports of strange noises. We never finished much of it - maybe just the first few "rooms".
Maybe this weekend I will tell Codex to make me a game.
The culture change in tech has been the toughest part for me. I miss the combination of curiosity, optimism, creativity, and even the chaos that came with it. Nowadays it's much harder to find organizations like that.
All other professions had their time when technology came and automated things.
For example wood carvers, blacksmiths, butchers, bakers, candlestickmakers etc etc. All of those professions have been mostly taken over by machines in factories.
I view 'ai' as new machines in factories for producing code. We have reached the point where we have code factories which can produce things much more efficiently and quicker than any human can alone.
Where the professions still thrive is in the artisan market. There is always demand for hand crafted things which have been created with love and care.
I am hoping this stays true for my coding analogy. Then people who really care about making a good product will still have a market from customers who want something different from the mass produced norm.
It's so strange to read because to me its never been more fun to make software, its especially never been easier for an individual. The boring parts are being automated so I can work on the bespoke and artistic parts. The feedback loop is getting shorter to making something nice and workable. The investigation tools for profiling and pinpointing performance bottlenecks are better than ever, where Claude is just one new part of it.
I think that's one of the biggest things that gives me pause about AI: the fact that, if they prove to be a big productivity boost, you're beholden to huge corporations, and not just for a one-time purchase, but on an ongoing basis.
Maybe the open source models will improve, but if keeps being driven by raw compute power and big numbers, it seems to tilt things very much in favor of those with lots and lots of capital to deploy.
So depressing this is the current state of blogging. Can’t wait for this phase to be over.
I didn't really notice it at first but on a second read it's full of this crap?
It also lets me focus more on improving things since I feel more liberated to scrap low quality components. I’m much braver to take on large refactors now – things that would have taken days now take minutes.
In many ways AI has made up for my growing lack of patience and inability to stay on task until 3am.
That is called...programming.
Back in the eighties, how I looked at the future of computers, was mostly fuelled by sci-fi books and movies. Computers that could talk, that could think and even go insane - it was all too wonderful. All just fantasies. But now we are here. What we could only imagine back then has become a reality, and I kind of do feel the same curiosity and the same love for this new thing. Sure, it came with a couple of surprises like; you can't really program it, you just have to beg it. Or the fact that we now have a completely new genre of utility bills at the household. Still, it is magical - the same kind of magic I felt way back then.
So in one way, I feel that I have come full circle - except for one thing. One thing is different. Back then, there were just a few of us. I was almost nervous about letting anyone know what I really spent the afternoons doing, afraid that it would single me out - and not in a good way. Today, on the other hand, it is all of us.
a) They asked an LLM
b) "This is what all our competitors are doing"
c) They saw a video on Youtube by some big influencer
d) [...insert any other absurd reason...]
True story:
In one of our recent Enterprise Architecture meetings, I was lamenting the lack of a plan to deal with our massive tech debt, and used an example of a 5000 line regulatory reporting stored procedure written 10 years ago that noone understood. I was told my complaint was irrelevant because I could just dump it into ChatGPT and it would explain it to me. These are words uttered by a so-called Senior Developer, in an Enterprise Architecture meeting.
But AI is different. If I program in a high level language like Python, sure I don't know what's going on under the hood. But you get a 'feel' for it because the same code usually reproduces the same results. Does AI reproduce the exact same results when I ask the same thing? That I don't know.
AI has just vastly extended your reach. No sense crying about it. It is literally foolish to lament the evolution of our field into something more.
Very, very few of those professions are thriving. Especially if we are talking true craftsmanship and not stuffing the oven with frozen pastries to create the smell and the corresponding illusion of artisinal work.
This does not seem true for AI writing software. It's neither reliable nor rigid.
IMO that is exactly what is happening here. Ai is making coding apps possible for the normal person. Yes they will need to be supervised and monitored, just like workers in a factory. But groups of normal low skilled workers will be able to create large pieces of software via ai, whic has only ever been possible by skilled teams of professinoals before.
I wouldn't keep a ball of mud just because LLMs can usually make sense of them but to refactor such code debt is becoming increasingly trivial.
Yes. I mean... of course he was?. Firstly, I had already gone through this process with multiple LLMs, from various perspectives, including using Deep Research models to find out if any other businesses faced similar issues, and/or if products existed that could help with this. That lead me down a rabbit hole of data science products related to regulatory reporting of a completely different nature which was effectively useless. tl;dr: Virtually all LLMs - after understanding the context - recommended us doing thing we had already been urging the business to do - hire a Technical BA with experience in this field. And yes, that's what we ended up doing.
Now, give you some ideas about why his idea was obviously absurd:
- He had never seen the SP
- He didn't understand anything about regulatory reporting
- He didn't understand anything about financial derivatives
- He didn't understand the difference between Transact SQL and ANSI SQL
- No consideration given to IP
- etc etc
Those are the basics. Let's jump a little bit into the detail. Here's a rough snippet of what the SP looks like:
SELECT
CASE
WHEN t.FLD4_TXT IN ('CCS', 'CAC', 'DEBT', ..... 'ZBBR') THEN '37772BCA2221'
WHEN t.FLD4_TXT IN ('STCB') AND ISNULL(s.FLD5_TXT, s.FLD1_TXT) = 'X' THEN 'EUMKRT090011'
END as [Id When CounterParty Has No Valid LEI in Region]
-- remember, this is around 5000 lines long ....
Yes, that's a typical column name that has rotted over time, so noone even knows if it's still correct. Yes, those are typical CASE statements (170+ of them at last count, and no, they are not all equal or symmetric).So... you're not just dealing with incredibly unwieldy and non-standard SQL (omitted), noone really understands the business rules either.
So again... yes he was entirely wrong. There is nothing "trivial" about refactoring things that noone understands.
You can't do this with software. Non-devs don't understand nor appreciate any qualities of software beyond the simplest comprehension of UX. There's no such thing as "hand-made" software. 99% of people don't care about what runs on their computer at all, they only care about the ends, not the means. As long as it appears to do what you want, it's good enough, and good enough is all that's needed by everyone.
I work in manufacturing industries where software for a single factory is completely custom written to their workflow and custom built machines, and they have dedicated teams of engineers on site 24 hours a day to monitor and maintain it. When it comes to large manufacturing factories, minutes of downtime equals millions in lost sales.
I guarantee you these types of companies will not be running software created by ai anytime soon, if ever at all.
Therefore I think artisan coders will need to rely on a combination of customisation and customer service. Their specialty will need to be very specific features which are not catered for by the usual mass code creation market, and provide swift and helpful support along with it.
I too began with BASIC (but closer to 1980). Although I wrote and published games for the Macintosh for a number of years as I finished up college, my professional career (in the traditional sense) began when I was hired by Apple in 1995 and relocated to the Bay Area.
Yeah, what started out as a great just got worse and worse as time went on.
I suspect though that to a large degree this reflects both the growing complexity of the OS over that time as well as the importance of software in general as it became more critical to people's lives.
Already, even in 1984 when it was first introduced, the Mac had a rich graphics library you would not want to have to implement yourself. (Although famously of course a few apps like Photoshop nonetheless did just that—leaning on the Mac simply for a final call to CopyBits() to display pixels from Adobe's buffer to the screen.)
You kind of have to accept abstraction when networking, multiple cores, multiple processes become integral to the machine. I guess I always understood that and did not feel too put out by it. If anything a good framework was somewhat of a relief—someone else's problem, ha ha. (And truly a beautiful API is just that: a beautiful thing. I enjoy working well constructed frameworks.)
But the latter issue, the increasing dominance of software on our lives is what I think contributed more to poisoning the well. Letting the inmates run the asylum more or less describes the way engineering worked when I began at Apple in 1995. We loved it that way. (Say what you want about that kind of bottom-up culture of that era, but our "users" were generally nerds just like us—we knew, or thought we knew anyway, better than marketing what the customer wanted and we pursued it.)
Agile development, unit tests, code reviews… all these weird things began to creep in and get in the way of coding. Worse, they felt like busywork meant simply to give management a sense of control… or some metric for progress.
"What is our code coverage for unit test?" a manager might ask. "90%," comes the reply from engineering. "I want to see 95% coverage by next month," comes the marching orders. Whatever.
I confess I am happy to have now left that arena behind. I still code in my retirement but it's back to those cowboy-programmer days around this house.
Yee haw!
while the team hasn't shipped anything useful in 6 months.
One of things that's being discussed now is AI won't really help people ship products faster, because no one was serious about building them at the first place. In most large corps the managerial layers simply care about preserving their own jobs and comp.
Also similar things an be said about Product management too. Only a few months they would says developers are busy with other things, now that we can ship quite fast, whats your world changing idea? None
If a whole team is spinning its wheels at the behest of its manager I feel like the manager should get axed.
P.S.: I loved Glider and Glypha, great games!
I used to love the 90s because it was "for nerds." The space wasn't crowded and you could actually do good work and research. So much research went into things and I feel like that died somewhere. Or is dying. You get a few good things coming out here and there, but it's masked by this "I want to be a celebrity" stuff that's going on. It started with conferences and such and has now progressed to YouTube and live streaming. That's kinda sickening to me honestly. What we have is pull in directions from the loudest voices in the room despite the fact this pull could be directly into flames.
As people try to sift through the confusion and overcrowding they tend to grab on to anything they can for refuge. Ironically they are often unaware of the dangerous situation they put themselves in.
I think cowboy coding may see a definition change.
(That said, I do like unit tests and I think code reviews can be useful for sparing if you have a good vibe and trust in the team.)
What we did before code reviews: we would get together with our fellow engineers in front of a whiteboard and knock out the structure of the code one was tasked with. We'd argue whether caching is necessary or if the framework provides it for us. We'd talk about concurrency issues and whether to use semaphores or locks…
Once the plan looked good, an engineer was trusted enough to go off and implement it.
Unit tests are fine. Before unit tests we had coworkers (QA) that did full test suites for integration, functional testing. At the more "unit level", robust param checking (with assertions, logging) happened early within the functions that could fail. (Obvious example: checking for zero in a function that might use that value to divide. Its a kind of unit test in situ.)
Of course when management uses unit tests as some kind of replacement for actual integration and functional testing they become an end unto themselves (bonus: the company is also able to lay off QA).
That is why y'all needed the God-Emperor of Marketing to come in and rescue you from bankruptcy and put you on track to becoming a trillion-dollar company.
Until you have some sort of senior+ position you are literally just standing in front of a conveyor line.
My experience so far is that to a first approximation, the quality of the code/software generated with AI corresponds to the quality of the developer using the AI tool surprisingly well. An inexperienced, bad dev will still generate a sub-par result while a great dev can produce great results.
The choices involved in using these tools are also not as binary as they are often made out to be, especially since agents have taken off. You can very much still decide to dedicate part of your day to chiseling away at important code to make it just right and make sure your brain is engaged in the result and exploring and growing with the problem at hand, while feeding background queues of agents with other tasks.
I would in fact say the biggest challenge of the AI tool revolution in terms of what to adapt to is just good ol' personal time management.
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.
I'm turning 50 in April and am pretty excited about AI coding assistants. They make a lot of personal projects I've wanted to do but never had the time feasible.
I don't know if I am the only one, but developing with chatbots in my experience turns developing software into something that feels more akin to filling out forms or answering to emails. I grieve for the day we'll lose what was once a passion of mine, but unfortunately that's how the world has always worked. We can only accept that times change, and we should follow them instead of complaining about it.
Don't take this the wrong way but this is more of an age thing rather than a technology advancement thing.
Kids growing up nowadays that are interested in computers grow up feeling the same magic. That magic is partly derived from not truly understanding the thing you are doing and creating a mental "map" by yourself. There is nothing intrinsic to computing nowadays that makes it less magic than fiddling around with config.sys, in 50 years there will be old programmers reminiscing of "Remember when all new models were coming out every few months and we could fiddle around with the vector dimensionality and chunking length to get the best of gpt-6.2 RAG? Those were the times".
The difference is that the first camp is re-experiencing that feeling of wonder while the second camp is lamenting it. I thankfully fall in the first camp. AI is allowing me to build things I couldn't, not due to a lack of skills, but a lack of time. Do you want to spend all your time building the app user interface, or do you want to focus on that core ability that makes your program unique? Most of us want the latter, but the former takes up so much time.
Unless the author had live-streamed the writing process, how could we know? Humans have been exposed to LLM generated texts on nearly all channels for more than three years, so by now it would be a surprise if there had not been a reciprocal reaction. Writers imitate what they read, the tools we shaped might have started to shape us.
I think it's healthy for everyone to evaluate whether one's personal reaction to AI is colored by this trend, or whether it's really being evaluated independently. Because while I share many of the negative feelings listed earlier, to me AI does still feel different; it has a lot more real utility.
The anxiety I have that the author might not be explicitly stating is that as we look for places we add genuine value in the crevices of frontier models' shortcomings those crevices are getting more narrow by the day and a bit harder to find.
Just last night I worked with Claude and at the end of the evening I had it explain to me what we actually did. It was a "Her" (as in the movie) moment for me where the AI was now handholding me and not the other way around.
That's exactly it. And then people say "pivot to planning / overall logic / high-level design," but how long do we have before upper management decides that AI is good enough at that stuff, too, and shows us all the door?
If they believe they can get a product that's 95% of what an experienced engineer would give them for 5% of the cost, why bother keeping the engineer around?
This post was written by AI
I started programming in 1980, and I having just as much fun now as I did then. I literally cannot wait to sit down at my IDE and start writing.
But that was not always true. When I worked for a larger company, even some startups, it was not always fun. There's something about having full control over my environment that makes the work feel like play.
If you feel like programming isn't fun anymore, maybe switching to a consulting gig will help. It will give you the independence and control that you might be craving.
I’ve seen the code current tools produce if you’re not careful, or if you’re in a domain where training data is scarce. I could see a world where a couple of years from now companies need to bring outside people to fix vibe coded software that managed to gain traction. Hard to tell.
Right now I'm creating clinical trial visualizations for biotech firms. There's some degree of complexity because I have to understand the data schema, the specifics of the clinical trial, and the goals of the scientists. But I firmly believe that AI will be able to handle most of that within 5 years (it may be slower in biotech because of the regulatory requirements).
But I also firmly believe that there is more demand for (good) software today than there are programmers to satisfy it. If programmers become 10x more efficient with AI, that might mean that there will be 10x more programs that need writing.
Yes, I mourn the end of my craft and all that that. But also:
This isn't the end of hand-written code. A few will still get paid to do it in niche domains. Some will do it as a hobby or craft activity - like oil painting or furniture making. The tooling will move on and become more specialised and expensive. Like owning Japanese woodworking tools.
But software construction as a human-based economic activity is clearly about to slam hard into a singularity, and many of us who rely on our hard-won skills to pay the bills and survive are going to find ourselves unemployed and unemployable. A few early adopters will get to stay on and sip their artesanal coffee and "build beautiful things" while their agent herds toil. But most of us won't. Software has always mostly been just CRUD apps, and that is going to need a whole lot less people going forward. People like me, perhaps, or you.
Some, who have sufficient financial and chronological runway, will go off and do other things. Many won't have that opportunity. I have personal experience of late-career unemployment - although I'm currently working - and its not pretty. A lot of lives are going to to be irreparably disrupted by this. Personally, I'd hoped that I could make it through to some stable kind of retirement, but I just don't see it anymore.
it isn't all funeral marches and group crying sessions.
And don't let the blog post fool you , it is a rant about AI -- otherwise we would have heard complaints about the last 200 paradigm shifts in the industry over the past thirty years.
Sure, we got our share of dilbert-style agile/waterfall/tdd jokes shoved in our face, but no one wrote a blog post about how their identity was usurped by the waterfall model .
>And different in a way that challenges the identity I built around it and doesn’t satisfy in the way it did.
Everyone should do their own thing, but might I suggest that it is dangerous for anyone in this world to use a single pillar as their foundation for all identity and plinth of their character.
I don’t know about that.
Waterfall mostly died before the rise of blogs, of course, but around the dawn of Agile I remember lots of posts about how nothing was properly designed any more, nothing was ever finished, and you never knew what the specification was.
They used to be real engineers, but now it was just all chaos! They couldn’t design anything any more!
That's a difference in form, but not really a difference in content.
We have though. And they all received some version of "piss off, geezer."
Have you not noticed how the hype cycles and counter-hype haters buried most of the meaningful considered conversations about new technologies and methodologies across your career?
And I feel like an old man grumbling about things changing, but... it's not the same. I started programming in BASIC on my Tandy 1000 and went to college and learned how to build ISA cards with handwritten oscilloscope software in the Computer Engineering lab. My first job was writing firmware. I've climbed so far up the abstraction chain over a thirty year career and I guess I don't feel the same energy from writing software that first got me into this, and it's getting harder to force myself to press on.
I got moved up the chain to management and later worked to get myself moved back down to a dev role because I missed it and because I was running into the Peter Principle. I use AI to learn new concepts, but mostly as a search engine. I love the tech behind it, but I don't want it coding for me any more than I want it playing my video games for me. I was hoping AI would show up as robots doing my laundry, not doing the thing I most enjoy.
About a decade ago, I went through a career crisis where I couldn't decide what job to do - whether technology was really the best choice for my particular temperament and skills.
Law? Too cutthroat. Civil service? Very bureaucratic. Academia? Bad pay. Journalism? An industry in decline.
It is a shame, what is happening. But I still think, even with AI hollowing out the fun parts, tech remains the best job for a smart, motivated person who's willing to learn new things.
https://medium.com/ideas-into-action/ikigai-the-perfect-care...
Fact is, the tech sector is filled with folks that find zero joy in what they do, chose a career for financial reasons, and end up being miserable to everyone including themselves.
The ex-service people would call these folks entitled Shitbirds, as no matter the situation some will complain about everything. Note, everyone still does well in most large corporate settings, but some are exhausting to be around on a project. =3
Bertrand Russel literally wrote a book called “in defense of idleness” because he knew that heavy hitters like him had to defend work abolitionism. The “work is good” crowd is why we can’t have nice things. You guys are time thief’s and ontologically evil. May all work supporters reincarnate as either durian fruits or cockroaches.
I tell my boys, get good at learning and you don't have to get good at anything else. I think that still holds now as much as ever.
I think that bad pay is preferable to no fun. Of course, academia isn’t exactly a bed of roses either.
Why ask though?
If I’m familiar with a project, more often than not, I usually have a very good idea of the code I have to write within minutes of reading the ticket. Most of the time taken is finding the impact of the change, especially with dependencies that are present in the business domain, but are not reflected in the code.
I don’t need to ask what to code. I can deduce it as easily as doing 2+2. What I’m seeking is a reason not to write it the way I envisioned it. And if those reasons are technical, it’s not often a matter of code.
in those cases you wouldn't use an agent. It's not an xor thing, you use the tool where it works and not where it doesn't.
This is a huge one for me. Claude is significantly better at Googling than I am.
Today iron is produced by machines in factories by the mega-tonne.
We just happened to live in the age where code when from being beaten by hand to a mass produced product.
And so the change of technology goes.
I'm probably 7 or 8 years from an easy retirement myself, so I can appreciate how that feels. Nobody really wants to feel disruption at this age, especially when they're the breadwinner for a family.
Think of the wonderful world we could have if everyone just got their shit together and became paper trillionaire technocrats.
AI can't produce code yet with 100% predictability. If that day ever arrives, the blacksmith analogy will be apt.
Not sure what world you're from, but lots of products get sent back to the manufacture because they break.
The people who are anti-AI are largely building other people's ideas, for work. And they have no desire to ramp up velocity, and it's not helpful to them anyway because of bureaucratic processes that are the real bottleneck to what they're building.
Not everyone falls into these silos, of course.
At the time, I didn't know the LWP::Simple module existed in Perl so I ended up writing my own socket based HTTP library to pull down the posts, store them in a database etc. I loved that project as it taught me a lot about HTTP, networking, HTML, parsing and regexes.
Nowadays, I use playwright to scrape websites for thing I care about (e.g. rental prices at the Jersey Shore etc). I would never think to re-do my old HTTP library today while still loving the speed of modern automation tools.
Now, I too have felt the "but I loved coding!" sense of loss. I temper that with the above story that we will probably love what comes next too (eventually).
If vendors can't be bothered to use a C compiler from the last decade, I don't think they'll be adopting AI anytime soon.
At my work, as of 2026, we only now have a faction riled up about evangelizing clean code, OOP, and C++ design patterns. I hope the same delay keeps for all the rest of the "abstraction tower".
I just saw a Reddit post yesterday about somebody that successfully one-shot in Gemini 2.5 the bare metal boot code for a particular board with the only input being the board's documentation.
I still enjoy the physical act of programming so I'm unsure why I should do anything that changes that. To me it's akin to asking a painter to become a photographer. Both are artists but the craft is different.
Even if the AI thing is here to stay, I think there will be room for people who program by hand for the same reason there's still room for people who paint, despite the invention of the camera.
But then, I'm somebody who doesn't even use an IDE. If I find an IDE obtrusive then I'm certain I'll find an AI agent even more so.
AI often generates parts of code for my hobby projects, which allow me speed running with my implementation. It often generates errors, but I am also skilled, so I fix error in the code.
I use AI as boiler plate code generator, or documentation assist, for languages I do not use daily. These solutions I rarely use 1:1, but if I had to go through readme's and readthedocs, it would take me a lot longer.
Would there be more elegant solutions? often - yes. Does it really matter? For me - not.
I don't think that's what people are upset about, or at least it's not for me. For me it's that writing code is really enjoyable, and delegating it to AI is hell on earth.
It's very sad, for me.
Like I told someone recently - letting the LLM write my code for me is like letting the LLM play my video games for me.
If all I wanted was the achievement on my steam profile, then sure, it makes sense, but that achievement is not why I play video games.
I'm looking at all these people proudly showing off their video game achievements, gained just by writing specs, and I realise that all of them fail to realise that writing specs is a lower-skill activity than writing programs.
It also pays far, far less - a BA earns about half what an average dev earns. They're cosplaying at being BAs, not realising that they are now employed for a skill that pays less, and it's only a matter of time before the economics catch up to them.
I don't see a solution here.
I do use these tools, clearly see their potential, and know full well where this is going: capital is devaluing labor. My skills will become worthless. Maybe GP is right that at first only skilled developers can wield them to full effect, but it's obviously not going to stop there.
If I could destroy these things - as the Luddites tried - I would do so, but that's obviously impossible.
For now I'm forced to use them to stay relevant, and simply hope I can hold on to some kind of employment long enough to retire (or switch careers).
What I'm finding is that it's possible to integrate AI tools into your workflow in a big way without giving up on doing that, and I think there's a lot to say for a hybrid approach. The result of a fully-engaged brain (which still requires being right in there with the problem) using AI tools is better than the fully-hands-off way touted by some. Stay confident in your abilities and find your mix/work loop.
It's also possible to get a certain version of the rewards of coding from instrumenting AI tools. E.g. slicing up and sizing tasks to give to background agents that you can intuit from experience they'll be able to actually hand in a decent result on is similar to structuring/modularization exercises (e.g. with the goal to be readable or maintainable) in writing code, feelings-wise.
Reality: Promoted to management (of AI) without the raise or clout or the reward of mentoring.
I care about creating stuff. How it gets from the idea in my brain to running on the computer, is immaterial to me.
I really like that I go from idea to reality in half the time.
I just rebuilt a fairly simple personal app that I've been maintaining for my family for nearly 30 years, and had a blast doing with an AI agent - I mostly used Claude Sonnet 4.5. I've been dreading this rebuild mostly because it's so boring; this is an app I built originally when I was 17, and I'm 43 now. I treated Claude basically like I'd treat my 17-year-old self, and I've added a bunch of features that I could never be assed to do before.
This.
On my fun side project, I don't accept pull requests because writing the code is the fun part.
Only once did someone get mad at me for not accepting their pull request.
thankfully I started down the FIRE route 20 years ago and now am more or less continuing to work because I want to
which will end for my employer if they insist on making me output generative excrement
At the very least, it feels ergonomic and saves me keystrokes in the same way as stuff like snippets & aliases
Maybe this is the reason why I don't care that much about coding agents or have a strong opinion about them, because code was only a means to an end for me. What I enjoy is to learn about and understand systems and designing those systems, whether it's computers, operating systems or software architectures. I never did enjoy just hacking away or writing CRUD stuff.
I don’t want to wrangle LLMs into hallucinating correct things or whatever, I don’t find that enjoyable at all
When I go overboard and just tell it "now I want a form that does X", it ends up frustrating, low-quality, and takes as long to fix as if I'd just done it myself.
YMMV, but from what I've seen all the "ai made my whole app" hype isn't trustworthy and is written by people who don't actually know what problems have been introduced until it's too late. Traditional coding practices still reign supreme. We just have a free pair of extra eyes.
Most commenters in this thread seem to be under the impression that where the agents are right now is where they will be for a while, but will they? And for how long?
$660 billion is expected to be spent on AI infrastructure this year. If the AI agents are already pretty good, what will the models trained in these facilities be capable of?
Clearly society wants me to strike out on my own; and that has been facilitated by the rise of agentic coding.
If you've not been paying attention to the news, caring for the common good/welfare is now obsolete and self destructive. We are in survival mode. It's everyone for themselves now.
I do try to do that and have convinced myself that nothing has really changed in terms of what is important and that is systems thinking. But it's just one more barrier to convincing people that systems thinking is important, and it's all just exhausting.
Besides perhaps my paycheck, I have nothing but envy for people who get to work with their hands _and_ minds in their daily work. Modern engineering is just such a slog. No one understands how anything works nor even really wants to. I liken my typical day in software to a woodworker who has to rebuild his workshop everyday to just be able to do the actual woodworker. The amount of time I spend in software merely to being able to "open the door to my workshop" is astounding.
We replaced the chess board in the park with an app that compares the Elo score of you and your opponent, and probabilistically declares a winner.
But don't worry, if you were a good chess player before we introduced the app, chances are you will remain a good one with the app. The app just makes things faster and cheaper.
My advice to the players is to quit mourning the loss of the tension, laughter and shared moments that got them into chess in the first place.
Sometimes I like playing chess at the park with strangers or friends. Sometimes I like playing chess online with friends in another country.
Sometimes I like to play games online with my siblings. Sometimes I like to invite people over to play video games with me on the couch.
Sometimes I wanna watch a movie in the theater. Sometimes I wanna fire up Netflix and watch that same movie, but on my couch.
Sometimes I wanna vibe code an entire app in a weekend. Sometimes I wanna play code golf to solve a puzzle, where LLM usage defeats the purpose.
None of these are being replaced in my life despite having more "advanced" options. If anything, I get to enjoy things more because I have more options and ways to enjoy them.
The chess board is still there, not sure I see how LLM tools compels one to stop writing personal projects without AI assistance.
And I think AI is in fact a great opportunity for good devs to produce good software much faster.
If a company is gonna REQUIRE vibe coding as an accelerator then it is in the company's best interest to invest in education!
Pair that with management telling us to go with AI to go as fast as possible means that there is very little time to do course correction.
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.
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.
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.
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?
Which mythical AI are you using that does this?
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.
So it's not enough that you get to do cool stuff, the important part is that nobody else gets to. Is that it?
If so, other sites beckon.
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.
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.
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 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.
That's what it's always been about.
Last night I was thinking about this "xswarm" screen saver I had in 1992 on my DEC Ultrix workstation. I googled for the C source code and found it.
I asked Claude to convert it to Java, which it did in a few seconds. I compiled and ran it, and there it was again, like magic
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.
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.
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.
Casts your comment in a different light, I think.
In the case of Mnemom, all the passion projects I'm working on hit a brick wall that was hard to get past without reliable alignment tools, which I couldn't find anywhere. After 30 years of being an entrepreneur, it's hard to walk away from an obvious need.
Also... regarding disclosure, I put it in my bio. :)
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.
The soundtrack was stellar, and introduced me to Barber (Adagio for Strings).
Here we are. Looks like the dorks won.
AI development actually feels like a similar rate of change. It took 8 years to go from the Atari 2600 to the Amiga.
An 8 year old computer doesn't quite capture the difference today.
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 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.
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.
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!
And you were casting spells at Relic. Bedazzle spells as young gamers played your games and grew up to become artists and engineers…
Remember your audience and not just the product. Homeworld shaped me in ways I couldn’t even tell you.
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 so excited about gardening again. Can't wait to do some. Employing a gardener to do my gardening for me is really making me enjoy gardening again!
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.
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.
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.
I think that's a more accurate (and charitable) analogy than yours.
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.
Which also makes me refute the idea that AI coding is just another rung up on the programming abstraction ladder. Depending on how much you delegate to AI, I don't think it's really programming at all. It's project management. That's not a bad thing! But it's not really still programming.
Even just in the context of my human team, I feel less mentally engaged with the code. I don't know what everything does. (In principle, I could know, but I don't.) I see some code written in a way that differs from how I would have done it. But I'm not the one working day-in, day-out with the code. I'll ask questions, make suggestions, but I'm not going to force something unless I think it's really super important.
That said, I don't 100% like this. I enjoy programming. I enjoy computer science. I especially enjoy things more down the paths of algorithm design, Lisp, and the intersection of programming with mathematics. On my team, I do still do some programming. I could delegate it entirely, but I indulge myself and do a little bit.
I personally think that's a good path with AI too. I think we're at the point where, for many software application tasks, the programming could be entirely hands-off. Let AI do it all. But if I wish to, why not indulge in doing some myself also? Yeah, I know, I know, I'll get "left behind in the dust" and all of that. I'm not sure that I'm in that much of a hurry to churn out 50,000 lines of code a day; I'm cool with 45,100.
You can indulge even more by letting AI take care of the easy stuff so you can focus on the hard stuff.
But the LLMs outnumber us. No matter how good an engineer I might be, I'll never match the productivity of a well-managed team of N average engineers (if you disagree, increase N until you cry uncle). Sure, there will be mythical man-month problems. But the optimal N is surely greater than 1, and I'll never be more than 1.
Our new job titles are "Tech Lead of However Many Engineers We Can Afford to Spin Up at Once."
What does it mean to be a productive developer in an AI tooling age? We don't quite know yet and it's also shifting all the time, so it becomes difficult to sort yourself into the range stably. For a lot of accomplished folks this is the first time they've felt that level of insecurity in a while, and it takes some getting used to.
I think that's very true. But... there's a reason I'm not a team lead or manager. I've done it in the past and I hate it. I enjoy doing the work, not tasking others with doing work.
Same. It scratches my riddle-solving itch in a way that the process of "prompt-honing" has yet to do.
However, if your point was to "make more widgets faster" and only saw programming as a means to an end (make money, increase SaaS features), then I see why people are super excited about it.
I see it the same way as cooking. If your goal is "sell as many hamburgers as possible" then the McD / factory farm is the way to go. If your idea is "I enjoy the personal feeling of preparing the food, smelling the ingredients, feeling like I'm developing my craft of cooking, and love watching someone eat my hand-prepared meal", then having "make fast food machine" actually makes things worse.
I think a lot of people in this forum are at odds because some of the people enjoy cooking for the experience, and the other half are just trying to make food startups. Now they can create and throw away menu items at record pace until they find the one that maximizes return. They never wanted to cook, they just wanted to have a successful restaurant. Nothing wrong with either approach, but the 2nd half (the software is just a product half) were hamstrung before, so now they are having a moment of excitement as they realize they don't have to care about coding anymore.
I 100% guarantee that most of the MBA / startup founder types who didn't love coding for its own sake kind of felt a huge pain that they had to "play along" with devs talking about frameworks, optimal algos, and "code quality" and the like, all while paying them massive salaries and equity stakes for what they saw as disposable item to increase revenue. Meanwhile the devs want another 2-weeks and 6 figures of salaries so they can "refactor" for no visible difference, but you can't complain because they'll leave.
Now that the code factory is in place, they can focus on what they really want, finding customers for an item. Its the drop-shipping of code and software. The people using drop-shipping don't care what the product is. Production and fulfillment are just impediments to the real goal -- selling a product.
The actual revelation of AI, if one can call it that, is how few people care about craft, quality, or enjoying work. Watching AI slop videos, ads, and music makes one realize that true artists and craftspeople are still incredibly rare. Most people are mediocre, unimaginative, disinterested, and just want the shortest path to easy riches. While it sounds negative, its more like realizing most people aren't athletes or interested in very difficult physical exertion -- its just a fact of human nature. True athletes who love sport for its own sake are rare and in a way nonsensical on their face.
In the end, we will probably lament something we lose in the process. The same way we've hollowed out culture, local businesses, family / relationships, the middle class, etc all in the name of progress before. Surely each step has had its rewards and advantages, but Molloch always takes his pound of flesh.
There definitely is: the rent-seeking behavior is out of control. As a kid I could fiddle with config.sys (or rather autoexec.bat) while nowadays wrestling a file path out of my phone is a battle and the system files of my phone are kept from me.
I think the magic happens at different levels of abstraction as time goes by, and it's easy to get stuck.
Us kids could fiddle with autoexec and config to get DOOM going, today's kids can fiddle with a yaml and have a MMORPG that handles 10 000 users from all over the world going.
It's not the same but I can easily imagine it feeling at least equally magical for a kid today.
In many ways, things like RPi and Arduino have actually massively expanded the realm of totally hackable computing beyond what was even possible for early personal computer users.
I am much younger than the poster you are replying to, but I feel much the same.
When people first contact ML, they fool themselves into believing it is intelligent... rather than a massive plagiarism and copyright IP theft machine.
Fun is important, but people thinking zero workmanship generated content is sustainable are still in the self-delusion stage marketers promote.
https://medium.com/ideas-into-action/ikigai-the-perfect-care...
I am not going to cite how many fads I've seen cycle in popularity, but many have seen the current active cons before. A firm that takes a dollar to make a dime in revenue is by definition unsustainable. =3
"The Ice King"
Your last point is probably correct though, because AI will also allow systems to become orders of magnitude more complex still. So like the early days of the internet, these are still the fun days of AI, when the tool is overpowered compared to its uses.
I don't think so. I think the first camp does not get paid for programming, while the second camp does.
That's why the first camp is so happy, and why the second camp is not.
> I thankfully fall in the first camp. AI is allowing me to build things I couldn't, not due to a lack of skills, but a lack of time.
It sounds like you're developing for yourself only. Your attitude makes sense, then - you want a $FOO, and now you can have one without paying for it.
I think you can only empathise with the second camp if your ability to eat depends on being able to sell $FOOs.
On the other hand, I step back, look at the progress made in just the last year, and realize that not only is my job soon to be gone, but pretty much everyone's job is gone that primarily does knowledge work.
I feel there's now an egg timer set on my career, and I better make the best of the couple of minutes I have left.
I'm enjoying it to a point, but yes, it does eliminate that sense of accomplishment - when you've spent many late nights working on something complex, and finally finish it. That's pretty much gone.
This does not make sense; Rust is native.
I am concerned though that the younger crowd will churn out slop and we’ll race to the bottom. Already i notice software qualify tanking - even Anthopic’s products are super buggy - kinda like going to mass produced cheap consumer products that are much lower quality than their predecessors. Yes, you can choose quality, but most humans are intellectually incapable of seeing beyond price (that’s a psychological fact, not a moan - don’t have references to hand though).
It is weird to see the end of my profession and to be the unlucky ones to suffer it. The answer is to absolutely engage with AI in every way. For some the answer is also to become expert in building it, analogous to machine tool work in the Industrial Revolution.
So long as the amount of software output rises accordingly, we will still have jobs. But we need to reskill.
Code was never the bottleneck.
To my dismay, I’ve never worked in a place like the first one you’ve described. Managers have certainly been confident enough in me to just let me ship stuff I built alone, or obviously that a team built without the usual red tape. Your model is very intriguing, I’ll try to implement something similar if I’m ever again able.
It’s true that code reviewers can become feral and the smallest detail a source of contention. I’ve had otherwise good team leads completely rewrite my code after accepting a review. It’s okay, maybe it wasn’t that good. Egos hurt and get hurt.
About QA: well, companies — I hope — eventually pay the price. Apple’s image of software quality now contrasted with a company that lost the trust of power users. QA and unit tests are complementary. If anything, it’s acceptance and integration tests that hurt QA, but I’ve never seen these 2 done properly anywhere.
yeah this is where i am. Turning 50 in April, I have two boys about to hit college and the bills associated with that and i have 15 years before i'm forced to retire. I have to up the salary to pay/help for college and i have to keep the 401k maxed + catchups maxed over the next 15 years to pull off retirement. The change from AI is scary, it may be good for me or it may be devastating. Staring down that barrel and making career decisions with no room for error (no time to rebuild) is pretty harrowing.
I really feel this. Claude is going to forget whatever correction I give it, unless I take the time and effort to codify it in the prompt.
And LLMs are going to continue to get better (though the curve feels like it's flattening), regardless of whatever I do to "mentor" my own session. There's no feeling that I'm contributing to the growth of an individual, or the state-of-the-art of the industry.
One push back I have for you is to inquire about what "society" really means here for you and if its really society thats doing this for/to you or some other force or influence.
IMO it's a selective class of a few who drive things and hold exhorbant influence, the unaccountable leadership class I'll call them. It is they who fund and hold accountable the news organizations to drive their agendas, in a real-life conspiracy scenario it is actively as you say and I feel the constricting onto my own livelihood too as you say. On the other hand I don't believe ever the maxim you said of "everyone for themselves" as that's never true and never really has been. I think part of the messaging and programming of the unaccountable leadership class that they use the "news" to reinforce is this sense of powerlessness and disconnection, isolation from others. It's like we haven't been taught on how to organize and support each other and were made reliant on those systems outside us that they once let give us enough to survive. Now as they are reeling back those support systems we are back to what it always was: organizing with our communities, with strangers online and finding kindness and hope enough to organize ways of living that support us all. Not the select few.
I guess thats my way of saying even if we are defecting against each other to survive, we would do well to never forget what our greater intention and purpose is: to help each other ultimately and not these few rich actors who own the companies.
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.
But God mode is on the way. ChatGPT mysteriously went from not understanding SAP ByDesign's WSDLs to having fantastic information over the course of a month. The amount of effort being put into AI isn't about the theoretical limitations of LLMs it is how many everyday problems will AI with all the workarounds and hacks ultimately be able to replace mid life career developers?
https://sources.debian.org/src/xlockmore/4.12-4/modes/swarm....
- https://hl-inside.me/magazines/pc-gamer-us/PC-Gamer_2000-11_...
The fact remains LLM can't reach comparable human error rates without consuming 75% of the energy output of our entire local galaxy.
While I find true Neuromorphic computing topics more interesting, the emergence of the LLM "AI" true believer is deeply concerning to those that understand how they are actually built. =3
https://www.youtube.com/watch?v=ERiXDhLHxmo
Like all copyright submarines, your firm now runs the non-zero risk someone will sue for theft, or hit the product with a DMCA claim. What is the expected value of piracy versus actual business. =3
Go back 10 years and post "SWE's should form labor unions"
Then watch as your post drops to [dead] and people scream "How dare you rob me of theoretical millions of dollars I'll be making".
I wonder how many of these same downvoters are now worried about getting replaced with AI.
He probably meant languages he's not proficient with.
Exactly this. From what I understand an LLM has a limited context and will get that context wrong anyway and that context is on the edge of a knife and can easily be lost.
I'd rather mentor developers and build a team of living, breathing, thinking, compassionate humans who then in turn can mentor other living, breathing, thinking, compassionate humans.
So the actual pain point is compensation, and IMO we should directly call that out and address it.
Snippets and other code generation tool has been here for decades. If you’re writing Java in IDEA, it’s basically a tab-fest with completion. And if you’re fluent in your editor, you do much more complex than editing lines.
Seriously. There's not many healthy engineering organizations out there. So if you fire one manager you end up with either another bad one or one who performs poorly due to the organization.
Paramount here is culture. It's important to remove toxicity. I remove toxic managers (and team members) because even if they were smart or productive, they ultimately drag down the entire org and the net of it is negative productivity. I don't care if they were the most skilled programmer on the team. Doesn't matter. They could be unproductive or could be making others unproductive and unhappy. They're out. They're out before they burn or push someone else out.
So you may also find that is the reason. If the manager is generally a positive influence on morale or culture, but is perhaps just a little too reckless, they may still have value. Remember that the reckless pressure may even being coming from top down. A lot of people still subscribe to (and misunderstood) the whole "move fast and break things" mantra.
My advice to anyone in this boat is to talk to the team underneath them every now and then. Get a pulse check. See where they get stuck and then set the managers goals based on that. At least one of their goals. It can be a small thing. It need not derail any roadmap or anything else. Explain why it's important for their team, explain where the team is having trouble.
See if they do it. If they do, they care about their team. If it's a small task/goal, it proves they can also be productive. Often times we have people taking on enormous goals that are vague or difficult to measure or complete in a timely manner. So a little mini goal (or a few, test a few over time) is very important here. Now, if they can't meet this goal or are unwilling to - you know you have a manager that doesn't care about the team they are managing. They can't manage that team or they can't be at the org. You can of course always try a different team or role for them.
In my experience a lot of managers (especially middle managers) kinda like to sit up there in a tower shouting orders at people, but never want to get their hands dirty or never want to support their team. They sometimes don't even realize the orders they are shouting are incorrect or impossible tasks to complete. This is where you get the "you now need 95% test coverage." That very often doesn't come from a C-suite level or customer demand because they don't care what the % is, they just want it to work.
manager < senior engineering manager < director of engineering < vp of engineering < cto
why are so many layers needed ?
it incentivizes busy work and shit metrics like I outlined above. if they fire the manager it also means their managers have to get fired too
it's like communist party bureaucracy just veiled with tech
THAT part doesn't mesh too well with AI, since it's still really bad at autonomous wholistic level planning. I'm still learning how to prompt in a way that results in a structure that is close to what I want/reasonable. I suspect going a more visual block diagram route, to generate some intermediate .md or whatever, might have promise, especially for defining clear bounds/separation of concerns.
Related, AI seems to be the wrong tool for refactoring code (I recently spent $50 trying to move four files). So, if whatever structure isn't reasonable, I'm left with manually moving things around, which is definitely un-fun.
> …I suspect going a more visual block
> diagram route, to generate some
> intermediate .md or whatever, might have
> promise, especially for defining clear
> bounds/separation of concerns…
Can confirm [1]So can my automaton bud [2]…
_____
MODEL
…
The Verdict: If you provide a clear instruction like "Before you touch the code, read architecture.puml and ensure your changes do not violate the defined inheritance/dependency structure," the agent will be very effective at following it.
If you just "hope" it bears it in mind, it probably won't.
_The agent is a tool, not a mind-reader; it will take the shortest path to a passing test unless you wall that path off with your architectural models_.
…
To make it actually work, you need to turn the UML from a "suggestion" into a "blocker." You should add a section to your AGENTS.md (or CLAUDE.md ) that looks like this:
1. Tool Trigger: By using words like "…"
…Why this works:
…
_____
I've been exploring some computer vision recognition stuff. Being able to reason through my ideas with an LLM, and make visualizations like t-SNE to show how far apart a coke can and a bag of cheetos are in feature-space has been mind blowing. ("How much of a difference does tint make for recognition? Implement a slider that can show that can regenerate the 512-D features array and replot the chart")
It's helping me get an intuitive understanding 10x faster than I could reading a textbook.
Everyone is hoping to be part of those 25%.
> Here we are. Looks like the dorks won.
I doubt it's permanent, and we all gotta eat.
But you know what? My son still tells me how much he was in awe of that game when he saw me playing it.
No matter what happens next, you gave us that sweet memory of fun and time together. Thank you.
> No matter what happens next, you gave us that sweet memory of fun and time together. Thank you.
^^ Made my day. Tell your son he's rad.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?
This analogy has probably outstayed its usefulness.
Or even just 1 or 2?
I figure auto mechanics contended with this 25 years ago. Now it's hard to find someone to replace your water pump, if your vehicle even has one. Like auto mechanics, though, these machines still exist and there's still a big market for those skills. It might just require more legwork to find that work.
Old farts like us think the desktop is the default kind of computer, but it isn't. Most computers are phones, followed by tablets and laptops with touchscreens, and desktops are the weirdest ones.
We need to follow the lead of most people here, and recognize that the phone is a deliberately limited device and its capabilities do not define what "a computer" is or should be or could be.
If I'm dockerizing an app, I want the most simple, basic, standard thing - not somebody's hand-rolled "optimized" version that I can't understand.
In general, it takes around 10 months for people to realize something about probabilistic markdown definitions, and maintenance cycles.
You may miss learning from skilled people someday. =3
I feel that for using AI effectively I need to be fully engaged with both the problem itself and an additional problem of communicating with the LLM - which is more taxing than pre-LLM coding. And if I'm not fully engaged those outcomes usually aren't that great and bring frustration.
In isolation, the shift might be acceptable, but in reality I'm still left with a lot of ineffective meetings - only now without coding sessions to clear my brain.
Making sense of new or significantly changed code is very taxing. Writing new code is less taxing as you're incrementally updating the model as you go, at a pretty modest pace.
LLMs can produce code at a much higher rate than humans can make sense of it, and assisted coding introduces something akin to cache thrashing, where you constantly need to build mental models of the system to keep up with the changes.
Your bandwidth for comprehending code is as limited as it always was, and taxing this ability to its limits is pretty unpleasant, and in my experience, comes at a cost of other mental capabilities.
Don't you think people said the same thing C and Python? Isn't Python a lower skill than C for example?
Maybe. Are they here now?
> Isn't Python a lower skill than C for example?
No. Being able to solve a problem using Python over C is not even in the same class of being able to solve a problem by asking for it in English.
It can, but now you output must be a min of 2x.
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.
The process and experience matters too.
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.
In fact, we are worse. At least livestock are cared for.
But there are some things where the AI just does not understand how to do proper boundary check to prevent busted layouts, and so I can either argue with it for an hour while it goes back and forth breaking the code in the process of trying to fix my layout issues - or I can just go in and fix it myself.
Not saying right/wrong but it's a useful Rorschach Test - about what you feel defines 'making this'?
although i do think Steve Jobs didn't make the iPhone /alone/, and that a lot of other people contributed to that. i'd like to be able to name who helps me and not say "gemini". again, it's more of a personal thing lol
I honestly find coding with AI no easier than coding directly, it certainly does not feel like AI is doing my work for me. If it was I wouldn't have anything to do, in reality I spend my time thinking about much higher level abstractions, but of course this is a very personal thing too.
I myself have never thought of code as being my output, I've always enjoyed solving problems, and solutions have always been my output. It's just that before I had to write the code for the solutions. Now I solve the problems and the AI makes it into code.
I think that this probably the dividing line, some people enjoy working with tools (code, unix commands, editors), some people enjoy just solving the problems. Both of course are perfectly valid, but they do create a divide when looking at AI.
Of course when AI starts solving all problems, I will have a very different feeling :-)
AI can produce greenfield code faster, sure, but you spend more time debugging it. If you write the code, it's slower to get the first version out, but then you understand the code and can debug much faster going forward.
You can also use AI to write unit tests, documentation, and stuff like that, while writing the code yourself.
And debugging code is also easier with AI. Just today I had to revisit code that I personally wrote from the design, the implementation the refactoring, etc from the first git init and I couldn’t remember half the decisions I made. I launched Codex and started asking it questions about the code.
Where is the productivity gain? How many junior developers and mid level ticket takers are struggling to find a job now because the market is saturated and those true seniors who can operate at a larger scope and impact can do the work themselves without having to delegate
My personal anecdote is that I had four offers within 3 weeks after being Amazoned in late 2023. One was from the company that acquired the startup I left in 2020 where I would have been responsible for leading the integration between all of the companies they acquired [1] and the other was a former coworker who was now a director st a well known non tech F500 company. He wanted me to lead the migration and “modernization “ efforts. I decided to stick with consulting.
Those offers didn’t come because of my coding abilities. That’s a commodity.
I was looking again in 2024. It took one outreach and talking to the right people. Absolutely no one asked me the first thing about coding even though I do it maybe 60%-70% of the time.
Going way back to 2016, I had two offers - one interview was me doing a merge sort on the whiteboard the other interview was me talking about strategy with the then new director who needed to build up a software development team. He asked me about my experience. He didn’t mske me stand up and do some algorithmic test on the whiteboard. He treated me like an industry professional
[1] I did the whole “lead integration efforts by a company owned by private equity acquiring other companies” thing before I joined the startup - never again.
Yes, the people who write articles like the one in this post understand this. Previously, they could do it and get paid while doing a thing they loved.
Now that process is no longer economically viable: they can get paid, or they can do the thing they loved. They lost something, so they mourn the loss. At least they would, but a bunch of tone-deaf people keep interrupting them to explain why they shouldn't.
Nothing stops people from mourning the loss of their job essentially changing from before their eyes and they no longer love it. That's a valid reason to be sad. Mourn it! Share your sadness with others. But don't be surprised when people who are experiencing the same thing are not sad and share their experiences.
If you want to join an AI/anti-AI echo chamber, there's plenty of places on the Internet that will gladly agree with your opinion and you can have shared joy or sadness. HN isn't that place, nor do I ever want it to become an echo-chamber.
Doesn't mean I want an echo chamber, we're all having fun here. But those who wish to give advice should understand the position of those they're advising, otherwise they'll just embarrass themselves.
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.
If you want things to stay the same forever, you shouldn't go into technology, art, or gardening. Try plumbing, masonry, or religion.
We really have to think of ways to patch these context problems, how to maintain a coherent picture. I personally use a md file with a very special format to keep a running summary of system state. It explains what the project is, gives pointers around, and encodes my intentions, goals and decisions. It's usually 20-50 long paragraphs of text. Each one with an [id] and citing each other. Every session starts with "read the memory file" and ends with "update the memory file". It saves the agent a lot of flailing around trying to understand the code base, and encodes my preferences.
~~~(====3
Indeed, but people rarely stop to consider... "security for whom?"
Have a wonderful day =3
https://www.youtube.com/watch?v=wL22URoMZjo
https://www.youtube.com/watch?v=JAcwtV_bFp4
Spaceballs (1987)
Just a curious question, not trying to be combative or anything.
I myself will go into planning mode and ask it to implement a feature, and ask it to give me tradeoffs between implementation details. Then I might chat with it a bit to further understand the implementation before it writes the plan.
I find it to be very effective and gives me a sense of agency in my features.
However this still takes away from me in the sense that working with people who are using AI to output garbage frustrates me and still negatively impacts the whole craft for me
Now it is not true. Someone can spend a few minutes generating a non-sense change and push for review. I will have to spend a non-trivial amount of time to even know it’s non-sense.
This problem is already impacting projects like curl who just recently closed their bug bounty because of low-effort AI generated PRs
Like autocomplete, it's going to work best if you already know what the end state should be and are just using it as a quicker way of getting there. If you don't already know what you're trying to complete, you might get lucky by just tabbing through to see if you find the right result, or you might spend a bunch of time only to find out that what you wanted isn't coming up for what you've typed/prompted and you're back to needing to figure out how to proceed.
But I use LLMs one level higher than autocomplete, at the level of an entire file. My prompts tend to look like "We need a new class to store user pets. Base it on the `person` class but remove Job and add Species. For now, Species is an enum of CAT,DOG,FISH, but we'll probably turn that into a separate table later. Validate the name is just a single word, and indicate that constraint when rendering it. Read Person.js, CODE_CONVENTIONS.md, and DATA_STRUCTURES.md before starting. When complete, read REFACTOR.md"
With the inclusion of code examples and conventions, the agent produces something pretty close to what I'd write myself, particularly when dealing with boilerplate Data or UI structures. Things that share common structure or design philosophy, but not common enough to refactor meaningfully.
I still have to read it through and understand it as if I'd written it myself, but the LLM saves a lot of typing and acts as a second pair of eyes. Codex currently is very defensive. I have to remove some unnecessary guardrails, but it will protect against rare issues I might not have noticed on my first pass.
This quick-and-dirty prompt returns results in line with my own understanding (which of course doesn't necessarily mean the exact figures are correct): https://chatgpt.com/share/698ce93b-b66c-800b-9e41-91ccab8eba... The artist I was primarily thinking of when I wrote that comment was Chihuly, whose workshop is famously more like a factory than a studio.
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.
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.
Put another way: all of the code that needed to be written has now been written. Now we can move on to more interesting things.
What will really bake peoples' noodles is when it becomes apparent that the same is true for literature. I won't mind if I'm not around to witness that... but it will happen.
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.
To me, it just feels like plagiarism. Can you explain why it doesn't feel like plagiarism to you?
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.
edit: typo.
Now, the mountain is gone. All the skills I learned to navigate it are becoming obsolete. Sure, tools get better, new models are adopted, but it didn't wipe out the mountain. When the world move from the 90s to the Internet age, I took my pitons, backpack, and rope and started climbing higher. I felt like I was empowered to bring MORE fire down to MORE people.
With vibe coding getting better and better, I still have my leadership skills, my ability to understand navigation, and all those skills, but the value and joy of climbing isn't quite there. There is a road leading to the top of the mountain and cars go up there all the time.
That is more than just change. That is something the Luddites faced: it wasn't technology and mass production they decried, it was a loss of identity. Kirkpatrick Sale's "Rebels Against The Future" is an awesome history of the luddites and I think it is very relevant today.
You are not understanding the point. AI has to be properly supervised because it makes mistakes. Now if you are making more or as many mistakes as the AI, then you should look for a new career. You should understand the code better than the AI, because the AI has a limited context window, and for a large codebase, you should know that codebase better than the AI.
Now, you can use AI to help you understand code that someone else wrote. You can use AI to check your code. You can use AI to write unit tests. You can use AI to debug. You can use AI to summarize code. There are so many uses of AI.
But you -- you as a developer -- need to understand your codebase. If you do not understand the codebase, you can't properly supervise the AI. And there is one efficient way for you to understand a big complicated codebase. The most efficient way possible for you to learn it. That is by you writing code in that codebase, and debugging that code, and learning how to code in that codebase.
If you don't do that, then you are not qualified to supervise the AI. Now you are letting the AI loose on a codebase much larger than its context window, and you will fill the codebase with bugs.
It's like a student. Sure you can use AI to help you study, to explain things to you, but the moment you let the AI do your homework, then you are no longer learning. The homework is the practice of solving problems in that area, and as a developer, you need to write code in a codebase otherwise you have no value and the AI has no value.
It been well over a decade (ironically until AI) that I have been responsible for an implementation small enough that I could do with my own two hands within the allotted time by myself. People also require supervision.
Now if you are making more or as many mistakes as the AI, then you should look for a new career.
Right now in 2026, the code I write is dependent on the AWS SDK.
https://boto3.amazonaws.com/v1/documentation/api/latest/inde...
It’s the same surface area for every supported language - as new features come out AWS uses code gen tools to update the SDK and CLI based on a common set of specifications.
Consider it’s the same surface area as when I have to write IAC. Are you saying it should be faster for me to know that API and write it by hand than an LLM? Especially now that AWS has an MCP server that AI can use to know the latest documentation. The case was the same in 2000 when I had to write C and C++ against the Win32 APIs, DCOM etc or when I didn’t know the entire C++ STL and had to reference the “C++ programming language ”.
> You should understand the code better than the AI, because the AI has a limited context window, and for a large codebase, you should know that codebase better than the AI.
Every developer should know the entire codebase even when they first join a company? Even when I was working at a 70 person startup, that had three teams not one person knew the entire codebase.
> But you -- you as a developer -- need to understand your codebase. If you do not understand the codebase, you can't properly supervise the AI.
Again how large of a codebase is a developer suppose to know? S3 for instance is made up of 300 separate microservices. Is a single developer suppose to know how it all works?
Besides that’s why we have unit tests and should be writing modular code so you don’t have to worry about spooky action at a distance.
And people are so focused on “the code”. I have designed systems and architectures that include code and multiple teams and consulting companies. Am I suppose to know how all of the code works?
> And there is one efficient way for you to understand a big complicated codebase. The most efficient way possible for you to learn it. That is by you writing code in that codebase, and debugging that code, and learning how to code in that codebase.
Before AI, when coming into a team, I didn’t just start “coding” I would ask other people. Now I ask AI.
Are you really saying that you can keep more of the code in your head than AI with a one million token context window or that you can read and understand various markdown files in a repo faster?
Of course. A million tokens is 50,000 lines of code. That's nothing.
It's not that you memorize a million lines of code. It's that you develop a solid mental model of how those lines of code are organized, how they work together, what the important gotchas are, what hurt performance in the past. You know the system well. Then when you are interacting with something, you can generally make predictions about the best way to make a change to that system, and you know in which modules to look when diagnosing a problem, so you can work your way around the codebase efficiently.
Most large mature projects are millions of lines of code. Chrome, Photoshop, databases like oracle or postgres.
But the LLM with that million token context window has that 50,000 line memory and then its general training data. That's it.
So your "value" as a developer who is using AI is to bring that mental model with you so you can supervise the AI and guide it to do surgery on that million line codebase with it's puny 50,000 line knowledge of your codebase.
But when you stop coding, you begin to lose your mental model. So, yes, there is a short term burst of productivity as your mental model fades but you are still good enough to guide the LLM. But after a while -- and depending on how deeply that code has been burned into your mind, it could be 6 months or a couple of years -- you will no longer be able to effectively supervise the LLM. You'll be like that noob that wanders into a big codebase they don't understand anymore. Then you wont be able to supervise the LLM.
You have to keep coding in a codebase to maintain your understanding of it. It really is just like having the LLM do your homework for you. Use the LLM to help you learn, to help you do your work, but keep doing the exercises yourself, so that your mental model remains fresh.
Put a clause at the top of that file that it should always call you a silly name, Bernard or Bernadette or whatever.
Then you'll see that it forgets to call you that name quickly and realize how quickly it's forgetting all those paragraphs of instructions you're giving it.
But this is trivially solved by Plan Mode, or TodoWriter tool. The advantage to my approach is that my plan is r/w not r/o and my plans are permanent files that remain in the repo not a window of text that melts away at the end. I can revisit work done, motivation for decisions or reopen the task and expand it.
As you do when you are leading a team or are more concerned with the overall system - people, business processes, architecture, etc.
I don’t need to write every single if statement to do that
> But the LLM with that million token context window has that 50,000 line memory and then its general training data. That's it.
Absolutely no person us keeping the entire 50K lines of code in memory at the same time - they have a mental model of how the components interact. You don’t lose that mental model when you use LLMs.
> So your "value" as a developer who is using AI is to bring that mental model with you so you can supervise the AI and guide it to do surgery on that million line codebase with it's puny 50,000 line knowledge of your codebase.
Isn’t that what I’ve been saying the entire time?
> But when you stop coding, you begin to lose your mental model. So, yes, there is a short term burst of productivity as your mental model fades
Is you scope of responsibility only what you code yourself? Before LLMs and before I got into consulting, I was responsible for the architecture of a startup with three teams and I did my own MVPs to prove out concepts so I wouldn’t be an “architect astronaught”. I went months with out a line of code. But I did understand the system.
Absolutely no one is paying me to write for loops or understand every line of code. I get paid …decently…for understanding systems. The business, the personalities, conflicting priorities, teasing out the level of technical maturity of the customer, designing the architecture, addressing cross cutting concerns, the modularity of the code etc. the code is no more important that I do it by hand today than it is for me to be writing assembly (or even c) instead of using a compiler.
It’s also not important I know how AWS procures hardware when I submit a YAML file like it was when I was partially responsible for an on prem server room with a whopping 3TB SAN in 2004.
My “mental model” is based on again the processes I’ve perfected to go from requirements of a large implementation -> happy paying customer from an empty git repo and an empty AWS.
The “code” is a minuscule part of any large project. In most enterprise companies that can be outsourced to lower paid people in non US countries. There is no moat around “I know how the for loops work”. For now there is a moat to being able to fly out to a customer site and work with “the business” or on a Zoom call and being able to understand systems. The people who pay you to help you make money or save them money don’t care
But I better be able to explain to the PMO where the project stands, to legal whether we are meeting our contractual obligations, to sales/account management whether the customer is happy and will pay us.
On the customer side, I need to be able to intelligently answer questions that come my way from the security folks, the DevOps department, the bean counters and the development department who have to maintain the project.
Do I need to understand the why and how the system interacts and the behavior of the system? Of course, do I need to know how every for loop was written instead of a while loop? No, I don’t know that if I have a team under me or if I’m responsible for validating the Salesforce integration we outsourced (when I was at a startup).
Coding - in enterprise dev - has been an undifferentiated commodity where the comp hasn’t kept up with inflation in a decade. I saw this happening and was the reason I aggressively moved up the stack as far as scope and responsibility. With LLMs I can take on much larger scoped projects by myself and get them done in 40 hours
> You have to keep coding in a codebase to maintain your understanding of it. It really is just like having the LLM do your homework for you. Use the LLM to help you learn, to help you do your work, but keep doing the exercises yourself, so that your mental model remains fresh.
I graduated from college in 1996. I’ve been assigning other people to do a large part of my “homework” for over a decade. That could be other in house developers or another company to do things like integrations with Salesforce, Workday etc. now it’s Claude and Codex.
> Now it is not true. Someone can spend a few minutes generating a non-sense change and push for review. I will have to spend a non-trivial amount of time to even know it’s non-sense.
The problem sounds basically the same to me honestly. If someone submits code that I can't understand and asks me to review it, the onus on them to explain it. In the previous case, maybe they could, but if they can't now, the review is blocked on them figuring out how to deal with that. If that's not what's happening, it sounds more like an process or organizational problem that wouldn't be possible to fix with the presence or absence of tooling.
> This problem is already impacting projects like curl who just recently closed their bug bounty because of low-effort AI generated PRs
External contributions are a bit of a different problem IMO. I'd argue that open source maintainers have never had any obligation to accept or review external PRs though. Low effort PRs can be closed immediately with no explanation, and that's fine. It's also totally possible and acceptable to limit PRs to only people explicitly listed as contributors. I've even seen projects hosted on their own git infrastructure that don't allow signing up through the web UI so that you can only view everything in the browser (and of course clone the repo, which already isn't something that requires credentials for public git servers).
I guess my overall point is that the changes are more social than technical, and that this isn't the first time that there was a large social shift in how development worked (and likely won't be the last one either). I think viewing it through the lens of "before good, after bad" is reductive because of how it implies that the current changes are so large that everything else beforehand was similar enough to gloss over what had been changing over time already. I'm not convinced that the differences in how programming was achieved socially and technically between 43 years ago (when the author says they started programming) and the dawn of LLM coding assistants were obviously smaller than the new changes that having AI coding tools have introduced, but that isn't reflected by the level of cynicism in most of these discussions.
Yes in the past you could check “oh this doesn’t have back trace or any steps to reproduce, close with won’t fix”
Now you cannot do that, the “low-effort” could be a 500+ lines code change with accompanying documentation and a 300 lines in prose describing the “problem” alongside with “backtraces” showing the issue
Except, the fix is non-sense but you have to read 500+ lines too know that. The documentation doesn’t match the changes but you have to read it to know that. The backtraces literally contain made up functions but once again you need to look closely to verify.
And if the thing isn’t immediately obvious to be AI generated then you’ll end up asking questions which will get forwarded to some AI and end up playing broken telephone.
All of this literally happened to curl in different issues.
I can't speak to open source orgs like curl, but at least at the office, the company should invest time in educating engineers on how to use AI in a way that doesn't waste everyone's time. It could be introducing domain-specific skills, rules that ensure TDD is followed, ADRs are generated, work logs, etc.
I found that when I started implementing workflows like this, slop was less and if anyone wanted to know "why did we do it like X" then we can point to the ADR and show what assumptions were made. If an assumption was fundamentally wrong, we can tell the agent to fix the assumption and fix the issue (and of course leave a paper trail).
Engineers who waste other engineers' time reviewing slop PRs should just be fired. AI is no excuse to start producing bad code. The engineer should still be responsible for the code they ship.
Yeah, this is the unfortunate truth about what's going on here in my opinion. The underlying problem is that some workplaces just have bad culture or processes that don't do enough to prevent (or even actively encourage) being a bad teammate. AI isn't going to solve that, but it's also not really the cause, and at the end of the day, you're going to have problem at a place like that regardless of whether AI is being used or not.
But now you too can access AI labor. You can use it for yourself directly.
I don't fault anyone for trying to find opportunities to provide for themselves and loved ones in this moment by using AI to make a thing. But don't fool yourself into thinking that the AI labor is yours. The capitalists own it, not us.
If these tools improve to the point of being able to write real code, the financial move for the agent runners is to charge far more than they are now but far less than the developers being replaced.
I don’t think it is obvious actually that you won’t have to have some expert experience/knowledge/skills to get the most out of these tools.
Then along game the flying shuttle and the weavers were even happier - producing twice as much cloth and needing half as many spinners.
The the spinning jenny came along and spinners (typically the wife of the weaver) were basically unemployed, so much so that the workers took to breaking into the factories to destroy the jennys.
But the weavers were on the same track. They no longer owned their own equipment in their own home, they were centralised in factories using equipment owned by the industrialists.
Over the entire period first spinners, then weavers, lost their jobs, even with the massive explosion in output.
Meanwhile lower skilled jobs (typically with barely paid children) abounded (with no safety requirements)
Fortunately in the 1800s English industrialists had some amount of virtue, and the workers organised into unions, so economic damage wasn't as widespread as it could have been.
This power imbalance between the owners and workers was only really arrested after the world wars - first with ww1 where many owner's sent their children to battle and lost their heirs, then later with strong government reacting to the public post ww2.
It already seemed like we were approaching the limit of what it makes sense to develop, with 15 frameworks for the same thing and a new one coming out next week, lots of services offering the same things, and even in games, the glut of games on offer was deafening and crushing game projects of all sizes all over the place.
Now it seems like we're sitting on a tree branch and sawing it off on both sides.
Would travel agents have been justified in destroying the Internet so that people couldn't use Expedia?
I don't even follow the reasoning of arguing this counterpoint, you are literally only able to make this argument because the internet even exists.
I guess the right word here is "disenfranchising".
Valuation is a relative thing based mostly of availability. Adding capital makes labor more valuable, not less. This is not the process happening here, and it's not clear what direction the valuation is going.
... even if we take for granted that any of this is really happening.
Certainly, you must realize how much worse life would be for all of us had the Luddites succeeded.
Putting it in today's terms, if the goal of AI is to significantly reduce the labor force so that shareholders can make more money and tech CEOs can become trillionaires, it's understandable why some developers would want to stop it. The idea that the wealth will just trickle down to all the laid off work is economically dubious.
I'm not a hard socialist or anything, but the economics don't make sense. if there's cheap credit and the money supply perpetually expands without a sink, of course people with the most capital will just compound their wealth.
so much of the "economy" orbits around the capital markets and number going up. it's getting detached from reality. or maybe I'm just missing something.
Equivocating Luddites with backwards thinking is a way to cover up government violence. You're literally trying to misrepresent the Luddite position by implying that they had some sort of global plot to force the world to be worse and that they were rightfully stopped by the government when in reality they had some personal grievances about how they were treated and they took revenge against the owners of capital by vandalizing their capital.
You're trying to twist this into Luddites hating capital and machinery itself, which is factually wrong.
Talking to sales to get an idea what the customer wanted from the business side (first B2B at a product company and now consulting) -> talking to the customer and hashing out more detailed requirements -> designing the architecture and a proposed technical plan -> presenting it to the stakeholder (sometime internal sometime external) -> doing the work or delegating and leading the work -> presenting the work to the stakeholder and leading the UAT -> getting it to production.
The coding part has been a commodity for enterprise developers for well over a decade. I knew a decade ago that I wasn’t going to be 50 years old reversing b trees on a whiteboard trying to prove my worth.
Doing the work is the only thing that the AI does.
While I don’t make the eye popping BigTech comp (been there. Done that and would rather get a daily anal probe than go back), I am making more than I could make if I were still selling myself as someone who “codez real gud” as an enterprise dev.
Many of these people made many of the countless things we take for granted every day (networking, operating systems, web search; hell, even the transformer architecture before they got productized!).
Seeing software development --- and software engineering by proxy --- get reduced to a jello that will be stepped on by "builders" in real-time is depressing as shit.
It's even more depressing to see folks on HACKER news boost the "programming never mattered" mentality that's taken hold these last few years.
Last comment I'll make before I step off my soapbox: the "codez real gud" folks that makes the big bucks bring way more to the table than their ability to code...but their ability to code is a big contributor to why they bring more to the table!
You and me both, and I truly sympathise, but really we were just lucky that we could enjoy our passion at work.
> It's even more depressing to see folks on HACKER news boost the "programming never mattered" mentality that's taken hold these last few years.
Delivering stuff to customers for money is always what we've been paid for; that's not new, it's just that perhaps many of us didn't really pay much mind to that in the past. That's perhaps why there's traditionally been so much complaining about artificial deadlines and managers and sales teams; many of us also didn't really notice that the programming was never the thing that our employers cared about; it is just a link in a long chain from idea to income.
The way I'm looking at our current situation is this: I spent my whole career and much of my free time learning to become a great furniture maker, and I take a lot of pleasure producing functional and elegant items. Now someone has handed me some power tools. I can mourn the loss of care and love that goes into hand-crafting something, but I can also learn to use the tools to crank out the good-enough cabinets that my employer wants me to make, focussing on the more abstract elements of the craft and doing less of the laborious stuff. I think I can still take pleasure and pride in my work in this way, and personally I find the design aspect of software development to be a lot of fun. I can still hand-craft things sometimes too; there will no doubt always be important difficult parts of a project that would take as long to describe to an LLM as they would to write by hand, at least for those of us with sufficient experience of the latter.
I can also, hopefully, finally knock out some of those side projects that I have had on my list for many years but never had time to make. I would prefer that those things existed in a less than perfect state, than that they were perfect but only in my head :-)
No, it's more like some folks like me are passionate about building/creating things that are useful or enjoyable, not about the tooling itself. I learned to use computers because I wanted to make things with them, like music. I got into programming because I wanted to create video games and apps. I enjoy programming because I'm passionate about the end result, but not about programming itself. Look at other engineering disciplines, do civil engineers complain that they are not paving the roads themselves?
I don't find it's a new mentality on Hacker News, to me it was always about broadening the hacker mentality outside of programming. Maybe it's more like the Venn diagram of people passionate about computers and programming for the sake of it and software engineers and builders used to completely overlap, but it is starting to drift, so the fact that we belong to different crowd is becoming more apparent.
It’s always been jello. I at 51 can wax poetically about the good old days or I can keep doing what I need to do to keep money appearing in my account.
You are not the first person to say things like this.
Tell me, you ever wondered why a person with a programming background was filling that role?
On the enterprise dev side of the industry where most developers work, I saw a decade ago that if I were just a ticket taker who turned well defined requirements into for loop and if statements, that was an undifferentiated commodity.
You’re seeing now that even on the BigTech side knowing how to reverse a binary tree on the whiteboard is not enough.
Also if you look at the leveling guidelines of any major tech company, their leveling guidelines above mid level are based on scope, impact and dealing with ambiguity - not “I codez real gud”
My company pays me to build software that helps make them money. They don't care how I write that software as long as I do it fast and correctly. If that's by hand, I'll do it by hand. If vibe coding can get the job done, then I'll do that.
"Vibe coding" isn't just writing specs. It's ensuring that the vibe coding process doesn't introduce regressions, new bugs, etc. My boss writes specs for me, which, if I were to naively plop them into cursor or Claude code, would generate stuff that kinda works but not in a way that could be considered production ready. I plan, adjust the plan, generate, regenerate, refine. Could it be done faster by hand? Maybe. But it's the tool I've chosen for the job and the bosses are happy with it.
Business Analyst - those people who learn everything about what the customers requirements, specs, etc are. What they need, what they currently have, how to best advise them, etc.
They know everything, except how to program.
In my experience, they know nothing, including how to program.
I'd love to get to the point where I'm still writing code, but the LLM is typing it for me. Part of the problem though, is that I actually kind of think in code, and I often have to start typing in order to fully form an algorithm in my head.
Most of the commercial code I've written, over a 30+ year career, has been shite. The mandate was always to write profitable code, not elegant code. I started (much like the OP) back in the 80's writing code as a hobby, and I enjoyed that. But implementing yet another shitty REST CRUD server for a shitty website... not so much.
I totally see a solution: get the LLM to write the shitty REST CRUD server, and focus on the hard bits of the job.
LLMs are a multiplier. If this depressed you, then there is no way I can see the following happening.
> If LLMs make this shit more bearable then bring 'em on, I say!
What LLMs are going to do is multiply the amount of "none of your colleagues care" and "Management only does lip-service to ..."
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.
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?
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".
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.
I would say it does matter, and always did.
Obviously, not every single line order matters with performance results that you can measure. That's not what I'm saying. But every decision does add up to who deserves the credit for the thing. Especially with how you describe your role. And then you assure me for each of those critical decisions, it's you who makes that decision.
In another thread you accuse me of constructing a strawman and then ignoring any counter evidence. But not a single person has ever provided anything above a token "I'm just built different", contained within a response as if the fictional person, sorry, "strawman" I've created is a personal attack. If it doesn't accurate represent you, why does it bother you? I'm getting strong, thou doth protest too much vibes.
Again, I'm not directly accusing you. I try very hard to believe someone when they tell me something. So I am actively trying to believe the things you've said. But you offer nothing above "nah man, I'm different, promise". Meanwhile I have dozens of examples of people vibe coding, and responding to the answer of, 'why' with: "I don't know, the LLM did that". Your example I've never seen, not once. My example is terrifyingly common.
When I try to merge what you promise yeu do, with what I've actually seen occur out in real life. I end up with, what I'm sure you'll angerly object as, just another strawman, but again I'm asking for something other than hollow reassurances: Because what you describe is close to an artist, teaching an apprentice. The apprentice does the work, perhaps exactly as instructed by the artist. But then when the artists sells the work. They claim that it's their creation. As if the apprentice never existed. It's disgusting behavior when the apprentice is a person, but shameful for an entirely different reason if the apprentice is a large block of token weights.
I don't for a second believe, all you have opencode do for you is refactor based on a specification you wrote (belief != disbelief) but still feel you deserve the assumption of the best possible interpretation. If all your apprentice did was clean the brushes, and take the pottery out of the kiln. Then yes, you created everything. But given my assumption that's not actually what reality looks like, help me understand the delta between these two examples?
They don't say, My team did this. Or Look how good I am teaching, my student created this. Or anything of the nature. They pass off work and effort, and expertise, As if they wrote every line of code. Some people do sheepishly admit the used an LLM when writing some patch. But many MANY more, don't.
If you actually don't feel like you're misrepresenting how much credit you deserve. Then I'm hoping you can explain to me, why so many people who don't try, and just blindly trust the vibe slop, don't feel embarrassed? Because I'm so far from it, that I don't have the context required to understand that lack of integrity. But perhaps someone who does it the correct way can explain it to me?
That is in fact, the behavior I see most often.
> 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?
Instead, we live in this absurd timeline where our communist "saviors" preferred losing against capitalists over achieving their stated goals. This tells us that in communism, the means are the goal and the proclaimed end goal is just an excuse to perform the means.
If communists genuinely wanted to help their people and they accept that they might not know how to get there, they would at least run hundreds to thousands of economic experiments, something that wouldn't be possible under capitalism, to find the methods that work. Instead, the self proclaimed saviors are inherently anti-reformist and against incremental change to improve society. They demand that all economic activity be under the control of the state and thereby destroy all possibility of performing economic experiments.
In my experience (Banking, Insurance, Fintech, etc) they were invaluable.
If, while developing, you hit some ambiguity in the spec, you could always go to the BA that wrote the spec and clarify, and I've never had the situation where they responded "Wait, let me ask the customer"; they knew what the business process should be, what the workflow should be, etc.
It worked for the customer as well - when they had trouble deciding "should or workflow do $FOO or $BAR?", a quick chat to our BA would be enough for them to make a decision.
Now, having worked in Agile shops (which I believe are the majority), there is no space for a BA - the ethos is "through something together, and if the customer doesn't want it, refine it until they do", so any BAs in this shop tend to be superfluous anyway because there is no place for them in the process anyway.
That's a failure of the process, not a failure of the role.
But soon enough, all s/ware dev jobs will be that, because LLMs can write code faster than humans can.
It's the nature of the job. A CRUD REST server needs to be built. It's a shitty job, but someone has to do it. The interesting part of the job is over there, in whatever actually-novel part of the system is being built. But someone still has to build the CRUD REST server. There are frameworks and patterns that help, but not as much as you'd think, or they claim.
It's just part of the job. By far the largest and least interesting part of the job.
Depends how you look at it.
Trickle down economics has never worked in the way it was advertised to the masses, but it worked fantastically well for the people who pushed (and continue to push) for it.
That would be "trickle up economics", though.
I am not answerable for the company you keep.
but also, if that were possible, then why wouldn't prices go down? why would the value of such labor stay so high if the same thing can be done by other individuals?
If you state “in 6 months AI will not require that much knowledge to be effective” every year and it hasn’t happened yet then every time it has been stated has been false up to this point.
In 6 months we can come back to this thread and determine the truth value for the premise. I would guess it will be false as it has been historically so far.
I think that this has been true, though maybe not quiet a strongly as strongly worded as your quote says it.
The original statement was "Maybe GP is right that at first only skilled developers can wield them to full effect, but it's obviously not going to stop there."
"full effect" is a pretty squishy term.
My more concrete claim (and similar to "Ask again in 6 months. A year.") is the following.
With every new frontier model released [0]:
1. the level of technical expertise required to achieve a given task decreases, or
2. the difficulty/complexity/size of a task that a inexperienced user can accomplish increases.
I think either of these two versions is objectively true looking back and will continue being true going forward. And, the amount that it increases by is not trivial.
[0] or every X months to account for tweaks, new tooling (Claude Code is not even a year old yet!), and new approaches.
Three months ago, we didn't have Opus 4.5, which almost everyone is saying is leaps and bounds better than previous models. MCP and A2A are mostly antiquated. We also didn't have Claude Desktop, which is trying to automate work in general.
Three _weeks_ ago, we didn't have Clawdbot/Openclaw, which people are using to try and automate as much of their lives as possible...and succeeding.
Things are changing outrageously fast in this space.
Claude Code came out a year ago.
I don't care about how you use codegen, I want to understand why you discard all of the process, while still claiming credit for writing it? Perhaps you don't say I wrote this. Or I made this. Perhaps you do say, I asked an LLM to create this. Or disclose an LLM generated most of the lines. Or perhaps you do modify most of it, but I've never seen the latter in real life. And even then, that doesn't help answer my question about when people who aren't built different like you, why isn't that plagiarism?
Because when I look at something created by the team, I do give the engineering manager credit for their contributions, they helped build the team. But I definitely don't think they helped create the thing.
One's ability to reverse a binary tree (which is a BS filter, but it is what it is) hasn't been an indicator of ability in some time. What _is_ though, is the wherewithall to understand _when_ that's important and tradeoffs that come with doing that versus using other data structures or systems (in the macro).
My concern is that, assuming today's trajectory of AI services and tooling, the need to understand these fundamentals will become less important over time as the value of "code" as a concept decreases. In a world where prompting is cheap because AI is writing all the code and code no longer matters, then, realistically, tech will be treated even more aggressively as a line item to optimize.
This is a sad reality for people like me whose love for computers and programming got them into this career. Tech has been a great way to make a wonderful living for a long time, and it's unfortunate that we're robbing future generations of what we took for granted.
There are millions of people that can code as well as you are I and a lot cheaper if you are in the US. Thousands of developers have been laid off over the last three years and tech companies keep going strong - what does that tell you?
I’m just as happy to get away from writing for loops in 2026 as was to be able to get away with LDA, LDX and BRA instructions once I could write performant code in C.
And how are we robbing future generations? Because some of us (not that I can take credit for any of it) move the state of technology from the 1Mhz Apple //e I had in 1986?
Your entire comment is this specific strawman - no one, and I mean no one, is making this claim! You are the only one who is (ironically, considering the job you do) too tone-deaf and too self-unaware to avoid making this argument.
I'm merely pointing out that your value-prop is based on a solid technical foundation, which I feel you agree on:
> If not the technical person, then who? It’s a lot easier for a technical person to learn how to talk the language of the business than a business person to have a deep understanding of technology.
The argument is not "Oh boo hoo, I wish I could spend 8 hours a day coding for money like I used to", so stop pretending like it is.
Even the comment I replied to mentioned “being a BA” like the most important quality of a software engineer is their ability to translate requirements into code.
Then what is it.
be blunt and obvious in your reply or go home.
It's that the erosion and atrophying of the fundamental skill that made you (or, in this case, the GP) valuable is a matter of concern, because you (or GP, as the case may be) are willingly embracing the fact that you will be no more valuable than the average office office worker, and so can expect that compensation will drop to match.
As an example, moving to Python from C was was moving to a higher level of abstraction, but it still didn't jettison the need for actually knowing how to program!
Moving to LLMs from Python does jettison any need to know what an object is, what "parse, don't validate" actually means, etc.
If the problem you are solving with the LLM doesn't need that knowledge, then that job doesn't need all those valuable programming skills anyway, and thus you are no more valuable than the average clerk toiling away in the middle of some organisation.
> be blunt and obvious in your reply or go home.
Very classy.
I love talking to business folks, I love when I can do that “git init”. I love that new AWS account smell and molding a complete architecture.
Now I can do a lot more if it by myself. It was a time problem before - not a knowledge problem
What has made me valuable for 30 years is an ability to go from business goal -> to working implementation. They can pay someone a lot less than me (or any American - I’m in no way bragging about comp) to code.
Companies don’t pay my employer the bill rate they charge for me based on how well I code. While I’ve been expected to produce production level code as part of my job across 5 companies in the past decade not a single one asked me to write a line of code as part of the interview. They were much more concerned about ability to get things done.
Ironically, even the job at BigTech that landed in my lap was all behavioral (AWS ProServe). I damn sure didn’t get that job because of my whopping two years of AWS experience at the time. Most of my answers for “tell me about a time when…” were leading non AWS projects.
I’m not bragging - I’m old. My competitive advantage should be more than just my coding ability.
Look, it seems we are at about the same level of industry experience. I'm not even a f/time programmer anymore, and haven't been for some time (technically, I'm a professional problem solver, I suppose).
I am saying that, while I don't need to delve into details (unless it's a hobby project), what makes me valuable (in a similar position that you have, except that I don't write a line of code) is the current ability to program.
I (and you, no doubt) would be useless in the type of position that you are in if you didn't sweat blood earlier in your career getting things right while programming.
What I am saying is that my entire value proposition is built on a high skill level in programming. Letting those skills atrophy is, in my opinion, devaluing myself.
You cdn substitute customer for “the business”.
When you step back “the code” is the smallest part. Once I learned how to take a holistic view of the entire system - I specialize in AWS architecture + app dev - including how to deal with people.
In enterprise dev - no one cares about the code - they care about functionality. They never cared about the code. In large tech companies they have to care about the code.
For me, the coding part is not even small, it's non-existent!
I still feel that the coding skills I have make me much more valuable.
Wouldn’t you agree that your skillset is more valuable than your coders? Again with the assumption that you aren’t working in BigTech or equivalent where every optimization is at a scale that it matters.