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!
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
Archived blog here incase the original source becomes inaccessible: https://archive.is/3rsQu
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."
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 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
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.
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.
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!
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.
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.
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.
So depressing this is the current state of blogging. Can’t wait for this phase to be over.
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.
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.
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.
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.
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. :)
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.
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.
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.
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.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.
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.
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
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.
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.
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.
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.
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.
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.
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?
Programming just doesn't feel enjoyable anymore. It has become less a craft and more just a way of putting bread on the table.
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.
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.
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.
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?
This claim is frequently made about that era yet ignores the fact it was almost certainly running proprietary software.
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.
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'm picking that era because it seems to be when most electronic machines' business logic moved from hardware to software.
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.
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 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
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.
But I'm still having a great time, it really just depends on what you're working on.
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.
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.
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.
That's exactly what it is.
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.
And I fell in love with it again. I'm learning how to work in this new world and it's fun as hell.
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.
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.
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.
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.
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