Hey there, post author here. I think if you read deeper into my blog post history you’ll see that I have a reasonably balanced take on AI.
I generally think this will be a very important technology so I teach the subject to make sure people understand how to use it as leverage in their lives. (Yes as paid workshops, but I also volunteer weekly for 3-4 hour sessions at a non-profit where I get nothing more than the joy of helping people learn a valuable skill.)
At the same time just last week I wrote a post decrying the slop people are hoisting on their coworkers[^1], because I want people to use this technology in a positive way to create the lives they want, not to create downstream consequences for others. Ultimately I think agentic systems are incredibly powerful but also a technology that lends itself to anti-social behavior because of how independently empowering it can be. And so I hope that with the right exposure, discussion, and teaching we can take advantage of its democratizing nature, while reinforcing that what makes us special as humans is that we care and coordinate to do greater things. Value in this world — not just in the financial sense that we often boil it down to when we talk about this subject.
Hope that context helps provide a better lens into the piece, and that I still do care a lot about code and everything else that got me here, but that you are also reading personal reflections of who I am in a time of change, which is making me question (or reinforcing) some of the fundamental things I believed about software and sometimes the world more widely.
I disagree on agentic systems and AI based on LLMs and don’t feel this is close to a balanced take. You are assuming you are in the middle of a revolution when that is far from obvious. It is not yet clear this is an important technology because there are very significant limitations.
The code from one of the leading companies in the space is a good example of where the reality of what is achieved falls far short of expectations.
Sorry, when I say I think I have a balanced take on AI what I mean is that I do my best to weigh both the pros and cons of this technology as opposed to a more extreme behavior like spending all day chatting with LLMs or posting all day on X about how AI is already better than me at everything and that jobs are over.
If I had to assign a confidence score for whether agents will change the way we all work and many aspects of how we live, I would put it at a 7/10, maybe 8/10. I felt about the same about the smartphone. While many things we do look the same way they did in 2005 (we still drive on roads, kids still go to school), at the same time it's undeniable that much of our lives are intermediated through a small screen and many societal dynamics have shifted due to that technology's existence.
I will concede that you should read my post with that context and draw your own conclusions about the veracity of my perspective — but I think it is more well-reasoned than what people generally attribute to "LLM hype". (Of course it's a bit tautological that I believe that, but I try to surround myself with people of all kinds technical and non-technical and like to think I stay reasonably grounded.)
All that said, I think the code from a leading company being bad and yet delivering good results is more a sign of the technology's jagged frontier[^1]. Calculators can't write sonnets the same way that LLMs are bad at math, but that doesn't make them useless — it just makes them a tool. This is a tool in our tool belt and I find is surprisingly useful as a general purpose technology despite it's limitations. (Which is related to the main argument I make in the post that bad code leading to good results may imply that we're under and overweighting certain aspects of what is important in software development, and that our expectations of code may may need to be recalibrated often as we gather more evidence.)
Heya, post author here. I just want to say that I actually agree with your surprise. In the piece what I’m trying to articulate is not that this can go on forever, but that I’m genuinely surprised we’ve made it a year and they continue to ship at a rapid clip and the product is still reasonably good.
> I’ve had to question the value of code a lot over the last couple of years, and this leak continues to reinforce the notion that I’ve vastly overestimated it my entire career.
Now we could be moments away from hitting any of the rules described on https://how.complexsystems.fail, but if you’d asked me a year ago how long it would take to get there with people working this way I would have definitely taken the under. That difference in what I believed and what I see with my own two eyes is what has me questioning my priors, because my calibration seems to need readjustment (maybe large or maybe small) for the world of software we’re in right now.
Heya, post author here. I would say I’m not trying to be apologetic for the idea that software quality is diminishing, especially cause I became an indie developer because I care about quality.
When I say “it doesn’t matter” I mean more in an existential sense, and that people don’t seem to care. On the other hand people should do things because they care, which is why I personally still review the code that goes into my apps and spend the time to refactor and improve the stability and foundation rather than slopping like there’s no tomorrow.
Maybe I’m growing cynical but I understand why a business doesn’t care (at least until it comes back to bite them — which may take longer than some have assumed). And most of what you read about the subject is ultimately being driven by business needs of the desire of businesses.
Heya, post author here. I think I was just wrong about this assertion. I got into a discussion with a copyright lawyer over on Bluesky[^1] after I wrote this and came away reasonably convinced that this wouldn’t be a valid example of a clean room implementation.
Hey there, author of the post here. I actually agree with this! That is in fact why I used the word maybe — my comment really was meant to be more speculative than definitive.
I think one thing that goes unmentioned is that maybe code quality is really not that important for trivial things, because they can be trivially reproduced if need be. I would argue Claude Code is exactly such a project; coding agents are incredibly simple and rewriting CC wouldn't be much of a problem.
Non-trivial things tend to be much more sensitive to code quality in my experience, and will by necessity be kept around for longer and thus be much more sensitive to maintenance issues.
I think code quality is always important, but it's less important for terminal code which implements a specific set of features using robust APIs underneath. Low code quality becomes a much bigger issue when the code is supposed to deliver well-defined abstractions on which other code can rely.
If you are a serious software developer, then you will probably be able to explain both what your code does (i.e. what spec it implements) and how it does it (what does it call, what algorithms does it use, what properties does it rely on?). With the advent of LLMs, people have started to accept not having a clue about the "how", and I fear that we are also starting to sacrifice the "what". Unless our LLMs get context windows that are large enough to hold the source of the full software stack, including LLM-generated dependencies, then I think that sacrificing the "what" is going to lead to disaster. APIs will be designed and modified with only the use cases that fit in the modifying agents context window in mind with little regard for downstream consequences and stability of behavior, because there is not even a definition of what the behavior is supposed to be.
> maybe code quality is really not that important for trivial things
I hear this narrative being pushed quite a bit, and it makes my spidey senses tingle every time.
Secure programs are a subset of correct programs, and to write and maintain correct programs you need to have a quality mindset.
A 0-day doesn't care if it's in a part of your computer you consider trivial or not.
Intrinsically simple and straight forward problems are easier to secure even with mediocre or bad code. They've already shown that Opus 4.6 can find and report on very sophisticated security issues[0] so I'm not sure that analysis (and perhaps especially security analysis) is the biggest issue with LLMs.
Mind you, I'm not using LLMs for professional programming since I prefer knowing everything inside and out in the code that I work on, but I have tried a bunch of different modes of use (spec-driven + entire implementation by Opus 4.6, latest Codex and Composer 2, and entirely "vibecoded", as well as minor changes) and can say that for trivial in-house things it's actually usable.
Do I prefer to rewrite it entirely manually if I want something that I actually like? Yes. Do I think that not everything needs to be treated that way if you just want an initial version you can tinker with? Also yes.
> I'm not sure that analysis (and perhaps especially security analysis) is the biggest issue with LLMs.
I was replying to the statement that "maybe code quality is really not that important for trivial things", not whether LLM's are good at analysis nor not.
Thanks for the link though, looks like an interesting talk!
Hey there, author of the post here! I actually wrote this piece myself on my phone while I was out for a walk this morning. It was initially meant to be a quick note more than a full blog post —- whereas Coding As A Creative Expression took me a couple of days to write.
I made a commitment to write more this year and put my thoughts out quicker than I used to, so that’s likely the primary reason it’s not as deep of a piece of writing as the post you’re referencing. But I do want to note that this wasn’t written using AI, it just wasn’t intended to be as rich of a post.
The reason it came out longer is that I’ve honestly been thinking about these ideas for a while, and there is so much to say about this subject. I didn’t have any particular intention of hopping on a news cycle, but once I started writing the juices were flowing and I found myself coming up with five separate but interrelated thoughts around this story that I thought were worth sharing.
> I didn't have time to write a short letter, so I wrote a long one.
First known use in English comes from a 1658 translation of Blaise Pascal in 1657
> Je n’ai fait celle-ci plus longue que parce que je n’ai pas eu le loisir de la faire plus courte.
translated to
> I had not made this longer then the rest, but that I had not the leisure to make it shorter then it is.
(note the archaic then)
This was a popular piece of wit at the time.
Mark Twain wrote something similar a hundred years later
> You'll have to excuse my lengthiness - the reason I dread writing letters is because I am so apt to get to slinging wisdom & forget to let up. Thus much precious time is lost.
Hmm… this started as an admonition for using then and than interchangeably. I see folks get it wrong unintentionally a lot… then i re-read your parenthetical and pulled up etymonline and had my mind blown a bit.[0]
>wrote this piece myself on my phone while I was out for a walk
If you have a strategy for jotting down (or dictating) notes while walking about, I would be curious how you manage that. I spend plenty of time walking outside, and tend to get (at the time) ideas that I'd like to explore further, most of which have evaporated from my mind by the time I get back home. Or even before I can get my phone out to jot down the keywords to help me recall the details later.
Cannot even imagine how someone would manage both walking and writing at the same time.
What I tried is to record my voice and then post-process the transcript. There are solutions which work without internet connection. I am non-native english and mix 3 languages, so transcript is shitty quality. Nevertheless the really good ideas stay with me and can be easily recalled by a few keywords. And you need to do the post-processing shortly after you reached home else it fades away…
Hey there! I'm not sure I have a universally applicable answer, but I can do my best to map out some things about my process and flow that hopefully help a bit and answer your question.
- I've had an iPhone for half my life (I'm 36 and got one when I was 19), so I've gotten pretty acclimated to typing on the go. I try switching to dictation every couple of months but the iPhone's dictation trips up over enough words that I find it more frustrating than typing as I walk.
- I don't do this but if you're worried about the thoughts disappearing I would absolutely recommend recording a voice note. As I'll touch on in a moment — do not let those thoughts disappear! Even the act of codifying them into something tangible allows you to process them more deeply.
- I live in NYC but I start most mornings by taking a walk along a relatively quiet street, so I rarely end up having to worry about bumping into someone. That is definitely not universally applicable advice. (:
- I look up as I'm typing and let autocorrect take the wheel. That works at least 95% of the time, so if I make the occasional typo it doesn't really matter, I'll just fix it in post.
- It helps to have an app with a great text editing experience. I've found that there are very few out there that are fluid, many have incredibly subtle hitches that make it hard to quickly jot down thoughts onto a canvas. I really love Craft (https://craft.do) and have been using it for years, so at this point it feels more like an extension of me than an app.
- This is surely unique to everyone but my writing tends to start from a few keystone thoughts. Once I have one written down, I let myself almost free associate, writing down whatever comes to mind from that initial thought to make sure I do not forget. I can always edit after the fact, and often the editing process leads to more interesting insights as well. But the main thing I want to avoid is losing those sparks, in the same way that you're mention your thoughts evaporating. Don't let those go, just get 'em on paper and sort through 'em afterwards.
- That's all a lot easier to do on my phone than if I approached the problem as "type an essay on my phone", so I'll almost always edit a post on my computer before publishing. Yesterday was more of an exception than the rule though because I was bouncing around between doctors all day, so I wrote all of this on my phone [not expecting it to blow up or get a ton of scrutiny].
Not sure if anything's missing but I'm happy to share anything that may be helpful! Clearly this post wasn't perfect, but I've been much happier since I started letting myself write out long-form thoughts on my phone and sharing them as blog post rather than firing them off as pithy tweets that decay into the ether once the algorithm says it's time for them to go.
> I actually wrote this piece myself on my phone while I was out for a walk this morning.
Apropos of nothing, this is astonishing me to no end. The ergonomics of 1) using a phone keyboard for anything but a word or two and 2) doing so while walking pretty much guarantee that I'd probably need a half a day to recover if I attempted the same.
As a more general comment, I hope we’ll stop trying to discriminate whether a certain text was or not written/polished/extended by AI and focus more on content and author’s responsibility for what they do or do not say with that text.
I agree. Not because I think that most AI content is worth reading, but because it can be criticized on more grounded merits. People wrote blogspam by hand for two decades before AI started generating it. It wasn’t high value when a human wrote it either.
On many (most?) posts, far more energy is spent arguing about whether a post is AI than discussing if there’s anything of value in the post.
I've stopped reading anything on blogs on the basis that it's now probably llm spew and life is too short for the signal to noise ratio that implies.
With the exception of things that places like HN seems to consider worth reading, which is why I'm looking through the comments to this and others to find recommendations.
Hey there, article author here! I spent a lot of time writing up a comment that talks through my process so I'll just lazy link it here if that's ok. [^1]
But the truth is I do build real production features all the time! That just wasn't the focus of this article. :)
Hey there, post author here. I do actually generate days worth of code in minutes and weeks worth of code in hours (not minutes) — but didn't really cover them because this post was more conceptual than specifically covering a tactic or technique as other posts do.
But in case you're interested a talk that I gave in Spain this year just went live yesterday, and discusses not only real world use cases but also discusses a lot of the fundamentals of how these AI systems work to make that possible.
Hey Jose, author here! That's a great call out. I write predominantly in Swift and for a long time Claude was the only usable option. But sometime around GPT-5 OpenAI's models got much better at Swift, so the choice started becoming more about aesthetics (as a descriptor of preferences). So you're right — if the model can't write coherent code then it doesn't matter what kind of flow you feel as you're working with the tools — but I do imagine this will continue to improve for all languages including Elixir.
If it's okay to mention my own project, I'd appreciate it if you could check out https://charleswiltgen.github.io/Axiom/ (open source) and let me know what you think. It's focused on modern Swift, with specialized skills for helping developers get to strict Swift 6 concurrency.
I've only skimmed it since I'm between Christmas and a longer vacation that starts in 24 hours, but this actually looks really neat! I'll definitely take a closer look to at these skills in depth — but this is exactly the kind of thing I've been telling people to take the time to invest in for their agentic environments. :)
Heya, author of the post here. That's a good call out because it's probably a lot!
And now that you mention it, that's also one failure case for why some people look at AI and go "this just isn't very good at coding". I'm not saying it has to be that way nor will it be that way forever, but there are absolutely a lot of people who just download Claude Code or Cursor or Codex and dive right in without any additional set up.
That's partially why I suggest people use Codex for the workshops I offer, because it provides the best results with no set up. All of these tools have a nearly unending amount of progressive disclosure because there's so much invisible configuration and best practices are changing so fast. I'm still trying not to imply that one tool is "better" than another (even if I have my preference), but more so hit on the fact that which AI tools people like is mostly about your preferred set of tradeoffs.
What if I said "I don't use any of those and I think AI is very good at coding".
I'd be more interested in an article from you on how to go from "I use Claude Code out of the box" as a baseline and then how each extra layer (CLAUDE.md, skills, agents, MCP, etc.) improve its effectiveness.
That does sound like a good article! Sadly I've never written it and probably won't because I think a lot of that stuff doesn't provide as much value as people assume — which is why my personal conclusion in the post is to just lean into Codex.
This isn't a value judgment, it's just a question of where my priorities and tradeoffs lie. That said, I think Skills are the killer feature because they are a very composable tool — which I'll get to in a bit.
- Your CLAUDE.md should be a good high-level description with relevant details that you add to over time. Think of it as describing the lay of the land the way you would to a new coworker, including the little warts they need to know about before they waste hours on some known but confusing behavior.
- MCP has it's purposes, but it's not really a great tool for software development. It's best served for interfacing with a remote service (because it provides a discovery layer to LLMs on top of an API), but if you use them the way developers are told to, you're almost always better off using an equivalent CLI.
- I'll skip over agents, because an agent is basically a skill + a separate context window, and the main selling point is the context window bit. I think over time we'll see a separation of concerns where you can just spawn a skill with a context window and everyone will forget about the idea of agents in your codebase.
So now Skills. I wrote a well-received post [^1] a few months ago about Claude Skills, and why I think they are probably the most important of these tools. A skill is basically a plain-text description of an application.
The app can be something like I describe where Claude Code converts a YouTube video to an mp3 based on natural language, or you can have a code review skill, a linter skill, a security reviewer skill, and so on. This is what I meant when I said skills are composable.
You can imagine a team having lots of skills in their repo. One may guide an agentic system to build iOS projects well (away from an LLM's bad defaults when building with Xcode), skills that are very contextually relevant to the team, or even skills that enforce copy in your app to conform to your marketing team's language.
Skills are just markdown so they're very portable — and now available in Codex and many other places.[^2] (I had been using OpenSkills to great effect since the way Skills work is just through prompts). I now have a bunch of skills that do lots of things, for coding, marketing, data analysis, fact checking, copy-editing, and more. As a nice benefit they run in Claude — not just Claude Code. If you have ideas for processes you need to improve, I would invest my time and energy into building up Skills more than anything else.
What % of effectiveness would you say is gained from these because... I am a pretty regular user of Claude Code in VS Code with no special goodies and I routinely hit "compacting" after 5-6 prompts in a single session. Then I need to validate it didn't slop all over the place. I can't imagine having 3-4 agents in the background (extra things to check) being a net-positive.
Skills and slash commands for sure but... I don't see them as necessary? "Review this code for ____ XYZ" as a skill. To me it's just something you could do as a prompt in your session?
1. I find Claude Code's handling of the context window to be pretty poor, and one of the reasons why I use it for smaller things versus multi-hour coding sessions. I'm not sure what dark magic OpenAI has done to make their context window feel infinite, but Codex has become a better choice for that at the moment.
2. A small note on subagents but Claude Code did this right. Subagents are granted their own context window, so they don't spill over into your context window until they're done doing their own work — and the added context is relatively minimal. I'd love to see OpenAI adopt this pattern as well, especially in combination with something like Skills rather than leaning into MCP.
3. When I suggested adding skills, I mean ones that are far more complicated than your example, and can drive a chunk of work autonomously. The skill I use for writing in-app copy (which I'm bad at because you can see I'm never short for words) is about 100 lines long. It includes my style guide as an accessible resource, and a mostly complete history of my Bluesky posts to help achieve the authentic tone I when discussing Plinky. (I write all of my posts, so this really is my voice.)
These kinds of skills save me a lot of time as an indie developer! As I mentioned I have ones for data insights, fact-checking, and of course for code. My main suggestion would be to think through every step of your work and see if they can be automated, and then turn small pieces of that into skills.
—--
It's hard to assign a specific percentage to how much my effectiveness has improved, but it's a lot. The reason I don't want to put a number on it is that what I've gotten is a far broader set of skills (no pun intended) that allows me to execute in parallel. The metaphor I'd use to describe all this is to say that I'm no longer single-threaded.
I am a big believer that right now models work best for people who are effectively running small businesses — or teams that operate lean. The work of 10 can be done by 4-5 motivated and well-armed people, or an indie like me can do every facet of the work involved and do it well. I sit down and focus on explaining the big picture with great detail, and then set things off so I can do every part of the work involved in a round-robin style.
While an engineering task is going I'm off writing my newsletter with my words but with a skill that does meaningful research for me. While I'm running some research I'm in Figma working on social media assets. While I'm doing code review for my app's code I've got the server side building in the background.
Last week I had Codex finding a domain for me, with specific requirements. (Here's a simplified version of the prompt.)
> I need a domain to represent this concept [+ 200 words], based on the code in this repository. [Code included so Codex really knows what the heck I'm building and talking about.] Don't show me any domains over $50/year at this registrar. Make sure it's a real word with no fun typos like tumblr.com is short for tumbler, and no compound words like "thisisfun.com". You can start with this list of tlds, but if you think there are any other ones that could be a good match then you can make a suggestion.
And after about 10 messages back and forth Codex found something that would have taken me far longer to research on my own — in parallel.
This all means that I'm able to write code, do marketing, design, support (which is always me and not AI), and run my business. If I plan well what I get is an extra set of hands to hand things off to, and most of the time (honestly) it does the work perfectly. But even for the times it doesn't, if it gets me 80-90% of the way there, that's a huge head start over where I would have been previously.
So the reason that I'm hesitant to answer this with a specific percentage is that your experience across organizations will vary. But I've seen in my work (solo engineering work, teaching, and consulting) is that the gains are pretty prosperous. That's true for roles where you're singularly focused on writing code — but the key is to lean into the strengths of this system and be creative about how you use it.
As I said — incapable of keeping my writing short so I hope that helps!
> That's partially why I suggest people use Codex for the workshops I offer, because it provides the best results with no set up.
I would do the exact opposite… If we are pitching “this shit works magically without any setup” people will expect magic and they absolutely will not get magic as there is no magic. I believe, especially if we are educators (you obviously are!!) that it is our responsibility to teach it “right” - my workshop would probably spend at least 75% of the time on the setup
So I definitely understand where you're coming from, but let me provide a little bit of context.
The workshops are 3-4 hours and we do spend a lot of time discussing how things work in reality vs. how they work in the context of the workshop. It's worth noting that these workshops span the gamut of non-technical people in sales to seasoned developers, so a lot of people simply won't learn much (or have the excitement to learn on their own) if we spend the first 2-3 hours setting things up.
In my experience the heaviest lift for teaching practically any technical subject is getting someone interested by showing them how to accomplish something they care about, and then leaving them with lots of information and resources so they can continue experimenting and growing even once we're done. The way I do that is to make sure they leave the workshop having built their own idea — without taking shortcuts!
Being able to use Codex to accomplish something because you spent an hour crafting a good prompt isn't cheating, it's learning the skill of becoming a better technical communicator — in a short period of time — and taking advantage of the skill you've just learned. I don't consider that magic, it's actually the core tenant of building with AI, and is very much how I work with AI every day.
I'm late for dinner so I should probably stop here, so I'll leave just one final note. After every workshop I send each student a list of personalized resources that will help them continue on their journey by demystifying things that we may have glossed over or weren't clear in the workshop — so they should be armed with the tools to take their next steps away from any magical thinking.
It's a bit hard to boil down exactly what I do and how I try to design for best hands-on pedagogical practices in an HN post I'm writing on the go — but I am absolutely open to your thoughts! :)
I generally think this will be a very important technology so I teach the subject to make sure people understand how to use it as leverage in their lives. (Yes as paid workshops, but I also volunteer weekly for 3-4 hour sessions at a non-profit where I get nothing more than the joy of helping people learn a valuable skill.)
At the same time just last week I wrote a post decrying the slop people are hoisting on their coworkers[^1], because I want people to use this technology in a positive way to create the lives they want, not to create downstream consequences for others. Ultimately I think agentic systems are incredibly powerful but also a technology that lends itself to anti-social behavior because of how independently empowering it can be. And so I hope that with the right exposure, discussion, and teaching we can take advantage of its democratizing nature, while reinforcing that what makes us special as humans is that we care and coordinate to do greater things. Value in this world — not just in the financial sense that we often boil it down to when we talk about this subject.
Hope that context helps provide a better lens into the piece, and that I still do care a lot about code and everything else that got me here, but that you are also reading personal reflections of who I am in a time of change, which is making me question (or reinforcing) some of the fundamental things I believed about software and sometimes the world more widely.
[^1]: https://build.ms/2026/3/23/workslop/