Well, I suppose it's finally time for my turn to write the blog-post that every programmer seems to have written - the dreaded A.I. screed. I've put it off for a while, mostly because there's been a lot to process. As Big Chris from the 90s film, Lock, Stock and Two Smoking Barrels once said - "It's been emotional".
Many, many folks have written about the various potentials and perils of A.I. At this point, it's almost expected.
I'm going to define some premises that I won't discuss further, but that I'm assuming as true for the rest of the post. Maybe I'll get into them at a future date. I think it's important we define what we are and are not talking about, particularly when the topic can be heated and deeply philosophical.
Some folks may disagree with these - certainly I've fallen out with people who incorrectly believe the penultimate one. But this is the way of things, isn't it? My experiences with A.I. are just that - one of a great many out there. Hopefully they are somewhat useful.
I'm going to try and talk just about the factors I'm pretty sure of, saving the speculation and (most of) opinions to the end.
ChatGPT, Cursor, Claude - there are a great many tools embedded in large number of areas already. From automatic job application processing, to generating school materials, to assisting in drug discovery, A.I. is everywhere. This seems to have happened at a rapid pace, almost over-night.
As I see it, these are some of the key facts of our current situation:
I may have missed a few there - feel free to email me any you believe to be important that aren't listed above.
In the recent past, I used A.I. to detect seals in sonar. I mentioned in my PhD thesis that 'computer vision is basically all A.I now' (I put it a bit less faceatiously than that). I don't use ChatGPT at all, nor any other chatbots for that matter. I can't speak for writers, artists or mathematicians - all of whom are having their jobs threatened (and these are just the ones I know about). Having used Claude Code at home and at work, I've developed a few thoughts on where programming might be going.
At work, we've been running an LLM pilot scheme. This involves regular meeting with the other engineers in the pilot, discussing our thoughts and experiences using Claude Code as we see fit. We have a great deal of freedom when using Claude, within some careful but strict guidelines. So far the results have been mixed. Folks who write documentation seem to have had the greatest benefits - so they have reported. Engineers have mentioned that some tasks have sped up considerably, while others are slowed down. Writing tests, checking for bugs and researching options seems to be the biggest wins. Writing new code from a specification seems a little more variable.
My personal use of Claude has been as a glorified search engine. Finding out certain things has been much easier, speeding me up a little bit here and there. Claude seems to be quite good at writing tests as well as finding out answers to silly bugs. Indeed, I've been quite impressed at its abilities to work out why a particular error message has occurred. Quite impressive stuff on that score.
Given the amount of code out there on the internet, it's no surprise that LLMs can write better code than I can, and much faster. But this definition of better is quite narrow. On the surface, it has more comments, more tests, is succinct in its style and is easily readable - we shouldn't really expect anything less, given the scale LLMs operate at - but that is really where it ends. Deciding what to write, verifying it is efficient and secure - these are things that seem to me, to still be on the table. We can expect to see a lot more 'averaging' of coding style and approaches I expect. As I've mentioned a few times already, LLMs produce the text that minimises their loss function, given some context (existing text). The loss function is often tuned to be the most likely outcome given the context from the dataset.
In my free-time I also write code (terrible aren't I?). I've wanted a python version of the Shader Minifier for some time now. This utility will take a shader program and shrink it, for use in a demo. I didn't feel much like re-writing such a thing, so I asked Claude Code to convert it. Needless to say, it didn't work first time. I gave it a few more prompts and pushes but I never managed to get something useful. I decided to change tack, and get it to build a minifier from scratch. This worked a little better. I decided to keep pushing and ended up with something that was nowhere near as good as the original, but did seem to work. There were a few bugs that I fixed manually. In the end, I decided to work on the minifier myself, when I had some spare time. It's still ongoing, but I do now have an extra tool in my demoscene toolbox.
I've occasionally used local models for things like stable-diffusion - mostly for inspiration and comedy purposes. I've spoken about art and A.I. before, so I wont go into it again here. Suffice to say I know a few folks in the creative sector who are already looking to get out of the business, thanks to A.I making their jobs awful.
There has been a dream for a long time - in computer science and science fiction - of being able to talk to your computer in a natural language. That is the reality we live in now - at least partially. I've seen some really interesting A.I. videos on Reddit, marvelled at some of the A.I generated software and been deeply interested in how it all comes together. However, the biggest feelings I felt are these of regret, anxiety and something a little like grief.
I've read a number of blogs that talk about how programmers have felt upset, tired, burnt out or just giving up. It seems to me there are two kinds of programmers - these who are super keen on A.I and these that are very much not. I know, I know, there are some in the middle but the way the discourse is going, these folks are probably the minority. I believe that if you take pride in your ability to program, that it's a part of your identity, then A.I is really going to hurt - actually hurty. I'm not being fanciful. It already has. If all you care about is the end product, making money and shipping then you'll no-doubt love A.I. These are two very different kinds of folks, and it's led to a lot of angry and difficult conversations.
The difficult truth for certain programmers to face (myself included) is that most people don't care about code - they just want things to work. If you take pride in your work - that your code is clean and efficient, with clever flourishes yet is understandable, most people will never know. Indeed, it's arguable whether this sort of thing ever mattered that much? Can code ever be art, in the same way a painting can? Does the form convey something to you, a human, that the end product could not? Code provides its best value in the final product, not the code itself.
A greater and more successful programmer than I once told me "I've spent a lot of time trying to convince engineers that, at the end of the day, code is really about communication between people."I had to begrudgingly admit I agreed with him. There is a glimmer of hope in this statement though - that perhaps we'll realise that the true skill in programming is communuication between people - something an A.I. can never really do, as it is a tool and not a free, living being with hopes, desires and - critically in the software world - responsibility (perhaps we should say accountablility)?
Part of the reason folks feel upset is that I think A.I co-opts our thinking - it reduces our spirit. If you don't believe me, would you believe the man behind Studio Ghibli, Hayao Miyazaki when he said that A.I. was an "Insult to life"? I figure he knows a thing or two about the human soul. Ultimately, we've reduced some of the effort required, but many artists before us have made the claim that choosing the harder path is better for the spirit.
There are some initial studies that suggest our critical faculities may suffer through A.I. use. Certainly, our skills will atrophy if we use A.I for everything. Some might say this sort of thing has happened already - for example using GPS enabled maps on our phone reduces our navigation skills. But I think this might be the first time we've invented a tool that has the capbility to reduce our thinking.
The job of a programmer or software engineer has already changed in response to LLMs. I've heard many programmers talk about their jobs changing from "solving problems", to "babysitting a robot" (or words to that effect); folks spending their time merely validating the work of a machine. Some developers - I suspect solo developers - seem to really like using coding agents. They claim they do all the design and directing but let the agents take care of the code itself. Some companies are forcing folks to use A.I.
If I'm really honest, programming and software engineering was in a bad state before A.I. came along. Bloat was one of the biggest problems, along with its horrible sibling, poor performance. There are a number of blog posts like this one, or this one that lament the problems in software engineering. I think A.I. is perhaps the final nail in the coffin for software engineers who see themselves as craftsmen. That time has most likely gone now, but I think it started a while back.
Some folks have humourously quipped "you are absolutely right / you are absolutely wrong" when comparing an LLM to Stack Overflow. For a long time, "cutting and pasting from stack overflow" was a bit of a joke. Everyone did it. Why? Because so much of the modern stack "just needs done"; do I really want to spend time looking up how to get a window up with Java, or download a file from the web with Android? I've already done these things sometime in the past. I can now just use an LLM to get the code I need, in a shorter time than it would take to search for it online. Modern computing stacks are massive, complicated and there are many of them.
I don't think we've really seen how this whole thing will play out yet. The hype, the bubble, the sheer amount of money flowing around the industry - all this seems to cloud any real understanding.

Babysitting an LLM sounds a bit like the job of a senior programmer - one who directs the work of junior programmers. Now I've not personally been much of a senior programmer - I like thinking around smaller problems and trying to solve them. But a senior has to spend less time programming and more time on the architecture, planning and such like. LLM agents have been touted as "very active junior programmers" - they can help speed up the progress of a senior developer. The trouble is, a senior developer only go to being a senior by starting off as a junior. If LLMs really do replace the junior programmer, we'll have a lack of senior programmers fairly soon.
It's worse in the art world. Some folks have mused that A.I. only really takes the "low hanging fruit", the "crap placeholder images that aren't really art" - "the good artists have nothing to worry about". Not only does the pipeline problem apply to artists, but artists make a lot of their money doing these small commissions whilst working on what might be a masterpiece work. Removing that revenue stream will likely reduce the amount of "great art" as fewer artists can afford to make it.
I've heard some folks say that A.I. is "just like a compiler", or the more aggressive argument "If you hate A.I, you should really hate compilers too!". The comparison between compilers and A.I - at first glance - seems sound. Back in the day, high level languages and the compilers that supported them were seen by some as unnecessary, slower and not somehow true programming. Nevertheless, they caught on.
However, on closer inspection, the comparison doesn't hold up so well. Firstly, there's the talk about predictability, randomness or non-deterministic behaviour. Compilers follow strict, well formulated rules and their outcomes are predictable. You can quite easily leave a compiler to do its job. When you come back, it's either succeeded or failed. A.I's on the other-hand, are not governed by strict, engineering rules, with verifiable outcomes. This problem becomes much more serious when we consider systems that have to work, that require serious accountability. Would you trust a vibecoded banking application, or worse still, flight control software? I seriously doubt it.
I think there's something more though. A compiler isn't much without its corresponding high-level language. I think this trips up people - surely English (or other human spoken language) is just like a programming language. It's here that I think...well... our language fails us. The term programming language sounds about right, but it's very different to a human one. English is vague, complex and full of nuance. A language like C is very specific and formulaic. This is great when you want to build things it turns out.
Something else happened with compilers though - they allowed us to envisage more. Trying to think about classes, closures, generic programming or reflective programming purely in terms of assembly language would be difficult. Of course, it all boils down to assembly in the end, but these concepts are made usable through the language and compiler. An LLM does none of these things. Sure, it has examples of all of these in its training set, but it hasn't enabled new programming paradigms (at least not yet).
I keep hearing phrases like "Oh, you just have to check all the output. It'll still be faster", or "It can be like having a junior dev who never sleeps" or the more threatening "if you dont use A.I. you'll fall behind and get fired". The thing is, I'm lazy - we all are to some extent - and A.I. is pushing us further down the path of least resistance. If I have a job that I'm happy to automate or give to an A.I., I probably never cared that much about it anyway. I've already mentioned the shader-minifier project I worked on - I actually went the otherway. I started off not caring - just wanting the final product to be made. Now that I've got something, I've gotten more interested in how it all works. Now that I'm into it I've stopped using Claude.
I've heard several programmers say "I have a thing now I wouldn't have had if it wasn't for Claude". The reason is always the same - they'd have to learn a new set of arbitrary APIs , and they can't spare the time. I can relate; tech stacks are all the same yet different. After figuring out for the hundredth time how to get a window open, download some data from a server and display it, it gets boring. For the longest time, programmers have been told to be lazy, by books and industry darlings.
But here's the thing - you'll never have enough time for all your ideas - even with Claude. Knowing you have finite time and finite ability means you must choose. What's harder is you have to reject things you actually do want to do but not enough. The world will become full of small projects that get run once, then never looked at again. Will the programmers who vibe coded them feel better? I doubt it. These folks all have the ability but don't have the time or so they always tell themselves, but the truth is more likely that the thing wasn't that important in the first place.
This is a modern problem that I think the programming world has only just had to reckon with. It's described rather well in the book 4000 weeks. It's a hard thing to take on-board - having to turn down things you actually want to do, but knowing you only have time for a few. This gives these few things meaning. Take that away, and what are you left with? A whole heap of fragile, small projects that benefits no-one, maybe not even you..
I reminded of a quote from Trent Reznor - "Now that everyone is empowered with these tools, has there been a lot more great shit coming out? Not really."
This is something we'll see a lot more of I think - many more small, low stakes, low impact programs that might do some small thing for you, but more of the good stuff? Probably not.
I'm going to take a bit of a side-quest, and talk about the Demoscene (again, as I am wont to do). A.I. has impacted the scene quite a bit.
The one place where programming skill is seen as an art is the Demoscene. It is here, in my experience, where the greatest controversy lies. Some of the big names in the demoscene are very vocal about A.I being nothing more than "plagarism machines". Then again, I myself came across a vibecoded port of 64Klang for Linux, so some sceners are definitely using it (there is a talk on this from Revision). Sadly, it is nowhere near ready for use on Linux as yet. I hear rumours of A.I working it's way into various toolchains. There has been at least one infamous demo where A.I was used to generate the visuals. I believe it didn't go down well. At NOVA2026, there were a number of vibecoded entries in the new school intro competition - they were not received well.
There seems to be quite the debate around whether or not to allow demos that have A.I. generated code in them - Revision has decided to ban it completely, whereas NOVA simply asks that you explicitly state if you've used it or not. The general trend seems to be negative, and no wonder. In a culture where programming creativity is highly valued, it's no wonder that the debate has gotten quite heated.
There's a joke that the scene is dead (or dying), yet it's still soldiering on. I do wonder if A.I might very well be the thing that finally kills it off?
I've spoken mostly about programmers and these in the tech-sector, but this next part applies to us all.
A.I. consolidates more power with the already powerful.
Let's let that sink in for a bit.
In the past, devices like the animal-drawn-plough reduced physical labour and increased crop yields, leading to larger populations and better backs (possibly). Further down the line we now have robotic tractors, but in so doing, we've created many other problems - quite serious problems, such as habitat loss, obesity issues and a reduced connection to nature. It's a complex web - folks often say "oh technology always has positives and negatives". Seems to me though that we very rarely stop using a technology because progress is always marching ahead - it is inevitable that complexity, sophistication and power go up, everything else be damned.
A.I reduces not physical labour, but mental labour. We had to invent gyms and park-runs to fill our physical needs. In Western countries, we now have service economies, largely comprising knowledge work. Do we really want to see that disappear too? At this point, you could say that I'm talking more about late-stage-capitalism than A.I, and you'd be right. But the two are inextricably linked - no other system would be willing to punt over so much money on such an enterprise, with no return.
Who builds the models we use? Who stands to benefit? The number of players in this space is quite small - Anthropic, OpenAI and possibly Google or Meta (at least in the West - I'm not sure about China).
I already said in the premises that A.I. does not democratise anything. If you want to write a novel you can most likely do that right now. Same with programming - all you need is a laptop. You can probably get one for free. At the time of writing a Claude Pro account is $17 USD per month. You can't get that much done with the free tier. At this price Anthropic is loosing a lot of money, so I expect this will go up. What will become harder is getting paid for it.
You and I can't build our own models. That is beyond most companies in fact. This means that a large proportion of what I'd call information work is performed by a small number of companies. As we give these companies more and more information (think of all the internal code-bases given over to Claude), the more these models can appear to provide for our every need, at the touch of a button for a tiny fee. Local models might give us some time, but re-training these models on new information will likely remain the privilege of a few.
Recently, there has been a lot of talk from the A.I. companies about an A.I slowdown. This seems counter intuitive at first glance; why would a for-profit company ask to be regulated? I'm not really a business person but I suspect it will entrench the two main players - Anthropic and OpenAI - whilst shielding them from any real responsibility.

We humans bloody love a good story, especially me! I believe it's part of how we make sense of the world, including ourselves. When something big, powerful and magical seeming comes along, we make stories about it. Often we personify it. Stories about genies, gods or spirits abound. Personifications of concepts like Death can be quite evocative and beautiful. But when it comes to A.I, I think it is misleading and harmful.
LLMs, by their very nature, are AIs that work with language exclusively, as opposed to - say - Stable Diffusion, which maps language onto images. This means they are very good at fooling us into thinking they are people. This isn't helped by the Immitation Game proposed by Alan Turing - the so called 'father of computing'. It's probably fair to say that LLMs have managed to pass the Turing Test but in so doing, we found out it wasn't a particularly good test. It's not the first time we've been fooled by such things before: the most famous example is probably Eliza, way back in the 1960s. Human beings are very, very good at spotting the human in other humans. So good in fact, we apply it to things that are very much not human. Pareidolia - spotting faces in clouds for example - might be the most famous example of our brains seeing human things that aren't there.
This leads to some unfortunate situations. Folks begin to believe that A.I has 'gone rogue', or 'developed on its own'. The image of a powerful and out-of-control genie appears in our minds. If we begin to believe that A.I. is alive, has person-hood then anything they do can be blamed on them. This has been a big issue for a while when it comes to self-driving cars. If a piece of software makes a mistake and injures or kills someone, who gets sent to jail? By anthropomorphising an LLM, the companies that make them avoid responsibility for their actions.
Hell, one of these companies is literally called Anthropic. It's right out there!
I've heard some people say "well, we are just wet-wear, running heuristics". This should probably be in my list of things I won't discuss, as it's not true and often deployed by folks who just want you to stop talking about why A.I is bad. Best ignore these folks I suspect.
There have been a number of high-profile hacks on big companies, using A.I. Quite frankly, after the hugging face hacking incident performed by Anthropic, I'm suprised no-one has gone to jail. I never had A Wikipedia page of deaths linked to chatbots on my bingo card, but I really don't think this was the future we wanted when such tools were being made. Yet, as far as I can tell, no-one has really been charged with any crimes. The more A.I. is seen as a person rather than the tool that it is the more companies can get away with poor behaviour.

There is another driver here - fear. And lots of it.
I've already mentioned the FOMO (Fear-Of-Missing-Out) that has been talked about often; you need to be using A.I. in order to keep up at work. This FOMO extends beyond the individual to companies - maybe even to Governments, if the rivalry between the USA and China is anything to go by.
The fear mongering goes much further though. A chap from Anthropic - Jacob Coxon - recently suggested that "we could all die in the near future thanks to A.I". This goes hand-in-hand with the anthropomorphism to create an unhealthy view of what A.I is, its costs and its benefits, and crucially, who holds the power.
I've read Nick Bostrom's Superintelligence book - it's fine and all, but Jacob Coxon and his ilk don't really believe what they are saying. If they did, they'd stop, but they aren't doing. It could be because they've fallen for the trap that what they've made is out of their control
In the programming world, the phrase "you'd better use A.I or you'll be left behind" seems quite common. I can't remember the last time a technology was pushed towards me with this much negativity. I remember being excited about computers - keen to learn. The narrative here is the complete opposite.
I'm quite tired of folks talking about horse drawn carts, The DotCom bubble and Jaccard Looms. Typically, these events are exaggerated to support a person's point of view. I'm not sure we can really draw too much from past events when talking about A.I. Something about the whole thing just doesn't seem to fit. The scale, the outrage and the battleground being our minds, makes me think this is something new. However, I do think it's worth remembering that the Luddites were right in one way - no-one in power really seemed to care about what happened to them, after they'd been replaced. But then agan, I'm not sure how many jobs will be lost because of A.I. There are a number of stories where people were replaced by A.I. only to be re-hired a short time later.
Allow me, dear reader, a small indulgence. I have a few thoughts on where things might go and I'd like to write them down here. I suspect folks do this because it is rather fun - perhaps the only fun element in this whole affair.
A.I. is here to stay. If you'll excuse the anthropomorphic phrase - "The genie cannot be put back in the bottle" (see, even I do it!). Its final form might be something a little different to what we have now. I can't say whether or not the bubble will burst but what is happening now can't go on. The money just isn't there.
It's clear that A.I. does have some good uses. In terms of programming, it has cut down the time I spend on certain things, in particular small functions like tests, boilerplate and such-like. I can see a future for some super handy CI/CD A.I. tools that perform automatic reviews and security checks (this may already be happening). I can imagine some useful local models powering speech based UX, or for managers working with large document bases. Either-way, the work of a programmer has already changed.
Much of the discourse seems to hover around a belief that humans are a necessary part of the process. I hear things like "humans still need to check the code" or "The responsibility must stay with the programmer" or similar sorts of arguments. Thing is, this might very well be incorrect. Why have a human in the loop at all? Leave all the coding and technical side for the bots. Already, folks are building github-like sites for agents, databases for bots and a whole raft of tools that might make programming simply disappear. Why bother with human-in-the-loop code reviews, when a good-enough result is all the industry cares about? Rather than thinking about how computers have been programmed in the past, the next step may have already arrived. As tooling and infrastructure becomes more tailored towards A.I agents, we might see the results of automated code production improve?
This is perhaps the scariest scenario for me. As someone who has built their career around programming skill, it could very well spell the end of this profession. I doubt it will be as sudden as some people are saying, but there is a slim chance the whole process will be automated, as we embrace a totally new way of doing things with agents as the focus, not humans. For now though, I think this this take by Alex Ewerlöf is one of the better ones - balanced and thought out. Definitely worth a read.
My journey with A.I. has been a mixed bag. I've built a few, I'm interested in the science and engineering behind it, and I've been genuinely impressed with some of the capabilities. But all that comes at much too high a cost for me. I've definitely suffered more than I've benefitted, and I don't see that trend changing anytime soon. I've heard from multiple, independent programmers who are fear what the future may hold.
Change is hard - for anyone - and it's come in at a rapid pace, and not with the best of intentions. I sympathise with a lot of programmers out there; hell I sympathise with artists, writers, these looking for work and suffering with automated job review processes. It's not been a net boon for society has it? In fact, I would describe it as the new form of empire. Wondrous technology reliant on cheap labour, massive energy sources - the benefits of which are enjoyed by the few.
I have tried to stay away from predictions in this blog post - I've mostly spoken about what has already happened. There appears to be no clear consensus out there. Every debate I've entered into fails to resolve into any concrete steps of conclusions. Often, such debates get quite heated, or end up in very British oh-dearisms. I think this is because the vast majority of programmer types out there fall into two camps:
There's probably some overlap there of course (plenty of folks want in the first camp want to get things done), but fundamentally I see these two groups as irreconcilable. The A.I industry definitely favours the latter, so if you find yourself identifying more with the former, I expect programming will become more of a hobby and less of a career. This is certainly where I'm heading. I've never been a particularly prolific or talented programmer - I enjoy understanding how things work and having ownership over my digital life.
Programming is becoming industrialised. I see senior programmers doing even less programming, more LLM babysitting and a little more architecture design. Junior programmers will likely have a very tough time of it going forward. Allied industries like computer security will see similar trends.
For my part, I've stayed away from A.I. in my home projects. I did give it a go for a few small projects, but at the moment I don't let it near any of my serious projects. At work, we have found some use for it - I tend to use it as a glorified search engine on my code-base. I could see myself using a local model for certain things, but I'm steering clear of Claude, Co-Pilot or any cloud services. That's at least an easy decision to make. It's not even that new - I've been self-hosting things for years. The problem with that approach is its fine for me. But what of others? What about the steady erosion of trust and truth? There is a bigger picture out there that I've yet to get a handle on. I don't have the answer yet, but it's definitely worth figuring out.