back
869 comments
I started programming over 40 years ago because it felt like computers were magic. They feel more magic today than ever before. We're literally living in the 1980s fantasy where you could talk to your computer and it had a personality. I can't believe it's actually happening, and I've never had more fun computing.

I can't empathize with the complaint that we've "lost something" at all. We're on the precipice of something incredible. That's not to say there aren't downsides (WOPR almost killed everyone after all), but we're definitely in a golden age of computing.

> we're definitely in a golden age of computing.

Certainly not. Computers are still magic, but much of that magic is now controlled and being restricted by someone other than you.

Today most people's only computer is a cell phone, which is heavily locked down and designed for media consumption and to collect and give away every scrap of their personal/private data. Most people's desktop computers aren't much better. They are continuously used by others against the interests of the people who paid for them, sometimes explicitly keeping them from doing things they want or limiting what they can install.

People are increasingly ignorant of how computers work in ways that were never possible when you had to understand them to use them. SoCs mean that users, and even the operating system they use, aren't fully aware of what the devices are doing.

People have lost control of the computers they paid for and their own data. They now have to beg a small number of companies for anything they want (including their own data on the cloud). We're heading toward a future where you'll need a submit to a retinal scan just to view a website.

Computing today is more adversarial, restricted, opaque, centralized, controlled, and monitored than it has been in a very long time. "My computer talks to me" is not making up for that.

The golden age for me is any period where you have the fully documented systems.

Hardware that ships with documentation about what instructions it supports. With example code. Like my 8-bit micros did.

And software that’s open and can be modified.

Instead what we have is:

- AI which are little black boxes and beyond our ability to fully reason.

- perpetual subscription services for the same software we used to “own”.

- hardware that is completely undocumented to all but a small few who are granted an NDA before hand

- operating systems that are trying harder and harder to prevent us from running any software they haven’t approved because “security”

- and distributed systems become centralised, such as GitHub, CloudFlare, AWS, and so on and so forth.

The only thing special about right now is that we have added yet another abstraction on top of an already overly complex software stack to allow us to use natural language as pseudocode. And that is a version special breakthrough, but it’s not enough by itself to overlook all the other problems with modern computing.

> I started programming over 40 years ago because it felt like computers were magic. They feel more magic today than ever before.

Maybe they made us feel magic, but actual magic is the opposite of what I want computers to be. The “magic” for me was that computers were completely scrutable and reason-able, and that you could leverage your reasoning abilities to create interesting things with them, because they were (after some learning effort) scrutable. True magic, on the other hand, is inscrutable, it’s a thing that escapes explanation, that can’t be reasoned about. LLMs are more like that latter magic, and that’s not what I seek in computers.

> We're literally living in the 1980s fantasy where you could talk to your computer and it had a personality.

I always preferred the Star-Trek-style ship computers that didn’t exhibit personality, that were just neutral and matter-of-fact. Computers with personality tend to be exhausting and annoying. Please let me turn it off. Computers with personality can be entertaining characters in a story, but that doesn’t mean I want them around me as the tools I have to use.

In some ways, I'd say we're in a software dark age. In 40 years, we'll still have C, bash, grep, and Mario ROMs, but practically none of the software written today will still be around. That's by design. SaaS is a rent seeking business model. But I think it also applies to most code written in JS, Python, C#, Go, Rust, etc. There are too many dependencies. There's no way you'll be able to take a repo from 2026 and spin it up in 2050 without major work.

One question is how will AI factor in to this. Will it completely remove the problem? Will local models be capable of finding or fixing every dependency in your 20yo project? Or will they exacerbate things by writing terrible code with black hole dependency trees? We're gonna find out.

We have what I've dreamed of for years: the reverse dictionary.

Put in a word and see what it means? That's been easy for at least a century. Have a meaning in mind and get the word? The only way to get this before was to read a ton of books and be knowledgable or talk to someone who was. Now it's always available.

> I can't empathize with the complaint that we've "lost something" at all.

We could easily approach a state of affairs where most of what you see online is AI and almost every "person" you interact with is fake. It's hard to see how someone who supposedly remembers computing in the 80s, when the power of USENET and BBSs to facilitate long-distance, or even international, communication and foster personal relationships (often IRL) was enthralling, not thinking we've lost something.

I started programming 40 years ago as well. The magic for me was never that "you could talk to your computer and it had a personality".

That was the layman version of computing, something shown to the masses in movies like War Games and popular media, one that we mocked.

I also lived through the FOSS peak. The current proprietary / black-box / energy lock in would be seen as the stuff of nightmares.

I agree with you with the caveat that all the "ease of building" benefits, for me, could potentially be dwarfed by job losses and pay decreases. If SWE really becomes obsolete, or even if the number of roles decrease a lot and/or the pay decreases a lot (or even fails to increase with inflation), I am suddenly in the unenviable position of not being financially secure and being stuck in my 30s with an increasingly useless degree. A life disaster, in other words. In that scenario the unhappiness of worrying about money and retraining far outweighs the happiness I get from being able to build stuff really fast.

Fundamentally this is the only point I really have on the 'anti-AI' side, but it's a really important one.

Glad to see this already expressed here because I wholly agree. Programming has not brought me this much joy in decades. What a wonderful time to be alive.
LLMs are only a threat if you see your job as a code monkey. In that case you're likely already obsoleted by outsourced staff who can do your job much cheaper.

If you see your job as a "thinking about what code to write (or not)" monkey, then you're safe. I expect most seniors and above to be in this position, and LLMs are absolutely not replacing you here - they can augment you in certain situations.

The perks of a senior is also knowing when not to use an LLM and how they can fail; at this point I feel like I have a pretty good idea of what is safe to outsource to an LLM and what to keep for a human. Offloading the LLM-safe stuff frees up your time to focus on the LLM-unsafe stuff (or just chill and enjoy the free time).

Agree with the author. I like the process of writing code, typing method names and class definitions while at the same time thinking ahead about overall architecture, structure, how much time given function would run for, what kind of tests are necessary.

I find it unsettling how many people in the comments say that they don't like writing code. Feels aliens to me. We went into this field for seemingly very different reasons.

I do use LLMs and even these past two days I was doing vibe coding project which was noticeably faster to setup and get to its current state than if I wrote in myself. However I feel almost dirty by how little I understand the project. Sure, I know the overall structure, decisions and plan. But I didn't write any of it and I don't have deep understanding of the codebase which I usually have when working on codebase myself.

While I'm on the fence about LLMs there's something funny about seeing an industry of technologists tear their own hair out about how technology is destroying their jobs. We're the industry of "we'll automate your job away". Why are we so indignant when we do it to ourselves...
> If you would like to grieve, I invite you to grieve with me.

I’m not against AI in itself, but the current implementation (read market) can eat my shiny metal … I got kids to feed and bills to pay. Yes AI was all about post scarcity. Hiring in our industry is already feeling the brunt of AI, where is the UBI? Where is our soft landing? I’m too old to learn XYZ skill if I get laid off, it will be life changing, and for what? For some rich person to be richer while simultaneously destroying the climate and my energy bill?

I would push back, but I do not know how. Hope for the market to pop I guess.

These comments are comical. How hard is it to understand that human beings are experiential creatures. Our experiences matter, to survival, to culture, and identity.

I mourn the horse masters and stable boys of a century past because of their craft. Years of intuition and experience.

Why do you watch a chess master play, or a live concert, or any form of human creation?

Should we automate parts of our profession? Yes.

Should he mourn the loss of our craft. Also yes.

The craft is still there just like painting is still an alternative to a photograph. It's just not going to be valued by society anymore, and far fewer will learn how to do it. Natural language is the new programming language. For now, understanding the craft is still an edge in making better prompts, but already I can see that telling Antigravity "now look for ways to make this more efficient" works almost as well as guiding it specifically on how it had duplicated some code flows.

I do feel a kind of personal loss in the sense that society is in the process of stopping to value or admire the design and coding skill I've cultivated since I was 6yo. At the same time, I'm kind of thrilled that I can write a detailed readme.md and tell an agent to "make it so" and I can iterate to a utility program in 20 minutes instead of an hour. When I feel a pit in my stomach is when that utility program uses some framework that I haven't learned, and don't need to because their code worked perfectly the first time. Surely that means I'm going to basically stop learning the details, as the details I've accumulated over my life quickly begin to not matter anymore.

Honestly I'm planning to use AI to make a kick-ass retro development environment a la "Sending Modern Languages Back to 1980s Game Programmers" (https://prog21.dadgum.com/6.html) and spend my retirement having fun in it.

I do not mourn.

For my whole life I’ve been trying to make things—beautiful elegant things.

When I was a child, I found a cracked version of Photoshop and made images which seemed like magic.

When I was in college, I learned to make websites through careful, painstaking effort.

When I was a young professional, I used those skills and others to make websites for hospitals and summer camps and conferences.

Then I learned software development and practiced the slow, methodical process of writing and debugging software.

Now, I get to make beautiful things by speaking, guiding, and directing a system which is capable of handling the drudgery while I think about how to make the system wonderful and functional and beautiful.

It was, for me, never about the code. It was always about making something useful for myself and others. And that has never been easier.

"Wait 6 months" has been the call for 3-4 years now. You can't eulogize a profession that hasn't been killed, that's just mean.
This perspective was mine 6 months ago. And god damn, I do miss the feeling of crafting something truly beautiful in code sometimes. But then, as I've been pushed into this new world we're living in, I've come to realize a couple things:

Nothing I've ever built has lasted more than a few years. Either the company went under, or I left and someone else showed up and rewrote it to suit their ideals. Most of us are doing sand art. The tide comes in and its gone.

Code in and of itself should never have been the goal. I realized that I was thinking of the things I build and the problems I selected to work on from the angle of code quality nearly always. Code quality is important! But so is solving actual problems with it. I personally realized that I was motivated more by the shape of the code I was writing than the actual problems it was written to solve.

Basically the entire way I think about things has changed now. I'm building systems to build systems. Thats really fun. Do I sometimes miss the feeling of looking at a piece of code and feeling a sense of satisfaction of how well made it is? Sure. That era of software is done now sadly. We've exited the craftsman era and entered into the Ikea era of software development.

> Now is the time to mourn the passing of our craft.

Your craft is not my craft.

It's entirely possible that, as of now, writing JavaScript and Java frontends (what the author does) can largely be automated with LLMs. I don't know who the author is writing to, but I do not mistake the audience to be "programmers" in general...

If you are making something that exists, or something that is very similar to something that exists, odds are that an LLM can be made to generate code which approximates that thing. The LLM encoding is lossy. How will you adjust the output to recover the loss? What process will you go through mentally to bridge the gap? When does the gap appear? How do you recognize it? In the absolute best case you are given a highly visible error. Perhaps you've even shipped it, and need to provide context about the platform and circumstances to further elucidate. Better hope that platform and circumstance is old-hat.

"They can write code better than you or I can"

They can not. They can make some average code. On Friday one suggested an NSI installer script that would never bundle some needed files in the actual installer. I can only imagine that a lot of people have made the same mistake (used CopyFiles instead of File) and posted that mistake on the internet. The true disaster of that being that then testing out that installer on the developer's PC, where that CopyFiles may well work fine since the needed files happen to be sitting on that PC, would then lead on to think it was some weird bug that only failed on the end user's PC. I bet a lot of people posted it with comments like "this worked fine when I tried it," and here we are a decade later feeding that to an LLM.

These tools can write average code. That's what they've mostly been fed; that's what they're aiming for when they do their number crunching. The more specifically one prompts, I expect, then the more acceptable that average code will be. In some cases, average appears to be shockingly bad (actually, based on a couple of decades' experience in the game, average is generally pretty bad - I surely must have been churning out some average, bad code twenty years ago). If I want better than average, I'm going to have to do it myself.

I feel like most of the anxiety around LLMs is because (in the USA at least) our social safety net sucks.

I'd probably have way more fun debating LLMs if it wasn't tied to my ability to pay rent, have healthcare, or feel like a valued person contributing something to society. If we had universal healthcare and a federal job guarantee it would probably calm things down.

"They can write code better than you or I can, and if you don’t believe me, wait six months." They've been saying that for years. Stop believing it.
I dont get the hype.. And I dont think we will reach peak AI coding performance any time soon.

Yes, watching an LLM spit out lots of code is for sure mesmerizing. Small tasks usually work ok, code kinda compiles, so for some scenarios it can work out.. BUT anyone serious about software development can see how piece of CRAP the code is.

LLMs are great tools overall, great to bounce ideas, great to get shit done. If you have a side project and no time, awesome.. If your boss/company has a shitty culture and you just want to get the task done, great. Got a mundane coding task, hate coding, or your code wont run in a critical environment? please, LLM that shit over 9000..

Remember though, an LLM is just a predictor, a noisy, glorified text predictor. Only when AI reaches a point of not optimizing for short term gains and has built-in long term memory architecture (similar to humans) AND can produce some linux kernel level code and size, then we can talk..

Programming brings me joy in two different ways.

1. Crafting something beautiful. Figuring out correct abstractions and mapping them naturally to language constructs. Nailing just the right amount of flexibility, scalability and robustness. Writing self-explanatory, idiomatic code that is a pleasure to read. It’s an art.

2. Building useful things. Creating programs that are useful to myself and to others, and watching them bring value to the world. It’s engineering.

These things have utility but they are also enjoyable onto themselves. As best I can tell, your emotional response to coding agents depends on how much you care about these two things.

AI has taken away the joy of crafting beautiful things, and has amplified the joy of building things by more than 10x. Safe bet: It will get to 100x this year.

I am very happy with this tradeoff. Over the years I grew to value building things much more highly. 20yo me would’ve been devastated.

> I didn’t ask for the role of a programmer to be reduced to that of a glorified TSA agent, reviewing code to make sure the AI didn’t smuggle something dangerous into production.

This may be the perspective of some programmers. It doesn't seem to be shared by the majority of software engineers I know and read and listen to.

" They can write code better than you or I can, and if you don’t believe me, wait six months."

It's ALWAYS wait 6 months, or wait for the next generation. Or "oh that model that we told you to use is old now, use this new one instead. Oh that doesn't work? Well that's old now, use this one". Always. 6 months ago it was wait 6 months. 12 months ago it was wait 6 months. 18 months ago it was wait 6 months. Now it's wait 6 months. 6 months from now it'll be wait 6 months.

I often venerate antiques and ancient things by thinking about how they were made. You can look at a 1000-year-old castle and think: This incredible thing was built with mules and craftsmen. Or look at a gorgeous, still-ticking 100-year-old watch and think: This was hand-assembled by an artist. Soon I'll look at something like the pre-2023 Linux kernel or Firefox and think: This was written entirely by people.
From a blog post last month by the same author:

> Today, I would say that about 90% of my code is authored by Claude Code. The rest of the time, I’m mostly touching up its work or doing routine tasks that it’s slow at, like refactoring or renaming.

> I see a lot of my fellow developers burying their heads in the sand, refusing to acknowledge the truth in front of their eyes, and it breaks my heart because a lot of us are scared, confused, or uncertain, and not enough of us are talking honestly about it. Maybe it’s because the initial tribal battle lines have clouded everybody’s judgment, or maybe it’s because we inhabit different worlds where the technology is either better or worse (I still don’t think LLMs are great at UI for example), but there’s just a lot of patently unhelpful discourse out there, and I’m tired of it.

https://nolanlawson.com/2026/01/24/ai-tribalism/

If you're responding to this with angry anti-AI rants (or wild AI hype), might want to go read that post.

> They can write code better than you or I can, and if you don’t believe me, wait six months.

You can use AI to write all your code, but if you want to be a programmer and can't see that the code is pretty mid then you should work on improving your own programming skills.

People have been saying the 6 month thing for years now, and while I do see it improving in breadth, quality/depth still appears to be plateauing.

It's okay if you don't want to be a programmer though, you can be a manager and let AI do an okay job at being your programmer. You better be driven to be a good at manager though. If you're not... then AI can do an okay job of replacing you there too.

I get the grief about AI, but I don't share it.

After ten years of professional coding, LLMs have made my work more fun. Not easier in the sense of being less demanding, but more engaging. I am involved in more decisions, deeper reviews, broader systems, and tighter feedback loops than before. The cognitive load did not disappear. It shifted.

My habits have changed. I stopped grinding algorithm puzzles because they started to feel like practicing celestial navigation in the age of GPS. It is a beautiful skill, but the world has moved on. The fastest path to a solution has always been to absorb existing knowledge. The difference now is that the knowledge base is interactive. It answers back and adapts to my confusion.

Syntax was never the job. Modeling reality was. When generation is free, judgment becomes priceless.

We have lost something, of course. There is less friction now, which means we lose the suffering we often mistook for depth. But I would rather trade that suffering for time spent on design, tradeoffs, and problems that used to be out of reach.

This doesn't feel like a funeral. It feels like the moment we traded a sextant for a GPS. The ocean is just as dangerous and just as vast, but now we can look up at the stars for wonder, rather than just for coordinates.

If AI is good enough that juniors wielding it outproduce seniors, then the juniors are just... overhead. The company would cut them out and let AI report to a handful of senior architects who actually understand what's being built. You don't pay humans to be a slow proxy for a better tool.

If the tools get good enough to not need senior oversight, they're good enough to not need junior intermediaries either. The "juniors with jetpacks outpacing seniors" future is unrealistic and unstable—it either collapses into "AI + a few senior architects" or "AI isn't actually that reliable yet."

I’m in my 40 something and it’s game over for my career. The grey in my hair makes it so that I never get past the first round. The history on my resume makes it so I’m lucky to get a round. The GPT’s and Claude have fundamentally changed how I view work and frankly, I’m over it.

I’m in consulting now and it’s all the same crap. Enterprises want to “unleash AI” so they can fire people. Maximize profits. My nephews who are just starting their careers are blindly using these tools and accepting the PR if it builds. Not if it’s correct.

I’m in awe of what it can do but I also am not impressed with the quality of how it does it.

I’m fortunate to not have any debt so I can float until the world either wises up or the winds of change push me in a new direction.

I liked the satisfaction of building something “right” that was also “useful”. The current state of Opus and Codex can only pretend to do the latter.

I'm surprised so many people are only waking up to this now. It should have been obvious as soon as ChatGPT came out that even with only incremental improvements, LLMs would kill programming as we knew it. And the fact that these utterances, however performative, from developers expressing grief or existential despair have become commonplace tells me as much about the power of these systems than whatever demo Anthropic or OpenAI has cooked up.

I would also point out that the author, and many AI enthusiasts, still make certain optimistic assumptions about the future role of "developer," insisting that the nature of the work will change, but that it will somehow, in large measure, remain. I doubt that. I could easily envision a future where the bulk of software development becomes something akin to googling--just typing the keywords you think are relevant until the black box gives you what you want. And we don't pay people to google, or at least, we don't pay them very much.

People have to stop talking like LLMs solved programming.

If you're someone with a background in Computer Science, you should know that we have formal languages for a reason, and that natural language is not as precise as a programming language.

But anyway we're peek AI hype, hitting the top on HN is worth more than a reasonable take, reasonableness doesn't sell after all.

So here we're seeing yet another text about how the world of software was solved by AI and being a developer is an artifact of the past.

I do not mourn typing in code.

But I am still quite annoyed at the slopful nature of the code that is produced when you're not constantly nagging it to do better

We've RLed it to produce code that works by hook or by crook, putting infinity fallback paths and type casts everywhere rather than checking what the semantics should be.

Sadly I don't know how we RL taste.

I was very impressed by AI-generated CSS when I didn't know CSS.

Then I learned CSS.

Now I am not as impressed by AI-generated CSS.

I hope that "our craft" which now produces, largely, vulnerable buggy bloatware actually dies.

Perhaps people or machines will finally figure out how to make software which actually works without a need to weekly patching

> They can write code better than you or I can

Speak for yourself. They produce shit code and have terrible judgment. Otherwise we wouldn't need to babysit them so much.

“We’ll miss creating something we feel proud of”

I still feel proud when skillfully guiding a set of AI agents to build from my imagination. Especially when it was out of my reach just 6-months ago.

I’m a 49 year old veteran who started at just 10 years old and have continued to find pure passion in it.

Some code is worth transcribing by hand — an ancient practice in writing, art and music.[0] Some isn't even worth looking at.

I find myself, ironically, spending more time typing out great code by hand now. Maybe some energy previously consumed by tedium has been freed up, or maybe the wacky machines brought a bit of the whimsy back into the process for me.

[0] And in programming, for the readers of Zed Shaw's books :)

I don't mourn coding for itself, since I've always kinda disliked that side of my work (numerical software, largely).

What I do mourn is the reliability. We're in this weird limbo where it's like rolling a die for every piece of work. If it comes up 1-5, I would have been better off implementing it myself. If it comes up 6, it'll get it done orders of magnitude faster than doing it by hand. Since the overall speedup is worthwhile, I have to try it every time, even if most of the time it fails. And of course it's a moving target, so I have to keep trying the things that failed yesterday because today's models are more capable.

> We’ll miss the feeling of holding code in our hands

I agree, I started feeling this a few months ago, where I was only writing the architecture and abstractions and letting AI fill in the gaps. It seems in the next few months it could probably do more than that. But is it so bad, I agree that I can't really mold an entire pot by my hand any more. But, if you ask AI to do it, it will create a pot with cracks in it and it would be your job to either plaster it of fill gold in those cracks.

I feel coding is going to be similar to kintsugi after this is all over

> We’ll miss the sleepless wrangling of some odd bug that eventually relents to the debugger at 2 AM.

I'll miss it not because the activity becomes obsolete, but because it's much more interesting than sitting till 2am trying to convince LLM to find and fix the bug for me.

We'll still be sitting till 2am.

> They can write code better than you or I can, and if you don’t believe me, wait six months.

I've been hearing this for the last two years. And yet, LLMs, given abstract description of the problem, still write worse code than I do.

Or did you mean type code? Because in that case, yes, I'd agree. They type better.

Like other tech disrupted crafts before this, think furniture making or farming, that's how it goes. From hand-made craft, to mass production factories (last couple of decades) to fully automated production.

The craft was dying long before LLMs. Started in dotcom, ZIRP added some beatings, then LLMs are finishing the job.

This is fine, because like in furniture making, the true craftsmen will be even more valuable (overseeing farm automation, high end handmade furniture, small organic farms), and the factory worker masses (ZIRP enabled tech workers) will move on to more fulfulling work.

Dang right we do.

And the problem isn't even the Junior Zoomer devs running circles around seniors. It's the CTO or Engineering VP himself disappearing for a few months and single-handedly consolidating a handful of products into a full rewrite for the company, excluding most of their engineering team from the process, and then laying them off after.

The problem is the CEO pretending to be an engineer and thinking they know better because they can write English prompts and spit out a hideous prototype.

The problem is Product Owners using LLMs to "write code" while their engineering team does zero human review before merging it, because their AI tooling was made solely responsible for code quality. If something's broken, just prompt a sloppy fix full of hidden performance and security bugs that the automated code review step missed.

If you think this is hyperbole, I was recently laid off from a company that did exactly the above.

Then in 2027, it will be product owners replacing the entire engineering team, including the CTO, because they made their system too reliable to justify their employment, while the "thinkers" get to build the product, engineers be damned.

People with real skills they acquired over a lifetime are no longer shaping business. Reckless efficiency towards being average will rule the day.

I fall in the demographic discussed in the article but I’ve approached this with as much pragmatism as I can muster. I view this as a tool to help improve me as a developer. Sure there will be those of us who do not stay ahead (is that even possible?) of the curve and get swallowed up but technology has had this affect on many careers in the past. They just change into something different and sometimes better. It’s about being willing to change with it.
I agree with the nolanlawson's sentiment. What's interesting is many of the opposing statements here seem to be less interested in the actual code, and more interested in the final state. Both are valid, but one is going away due to technological advancements. That is the mourning.

There are some of us who enjoyed the code as a thing to explore. Others here don't seem to like that as much.

I've been hearing "the LLM can write better code than a human, and if you don't believe me, wait six months" for years now. Such predictions haven't been true before and I don't believe they are true now.