Are you steering towards AI burnout? Afraid of loosing your job to someone with little programming skills, no aspirations to quality, and a huge Claude account? Disappointed about the code quality in your projects, or…
345 comments
I've seen this happen to myself where suddenly I had trouble planning out the architecture for a very small project. It should have been obvious to me, and I knew that. So it was disconcerting to not be able to suddenly have the answer appear in front of me like it normally would. I thought maybe I would go to Claude and help get some ideas.
But then I stopped myself. I knew I should be able to do this! So I got out a piece of paper and I scribbled ideas until the dam burst and suddenly the entire design was obvious, like it should have been in the first place. It took about 5 minutes.
But those were an alarming 5 minutes. It was like I'd gone blind to the solution.
And I realized that when I asked Claude for a bunch of ideas and then I selected the best one based on my experience, I was exercising that exact skill. I wasn't exercising the skill of coming up with the solution from scratch.
Lots of times we're happy letting particular skills atrophy. Maybe we don't like exercising them and we just don't want to do that anymore. And I think that's valid.
Just be careful how you use it.
I might be of the old “hammock driven development” school, but I wonder if people have any idea of what productivity and creativity consists of, how it works and how to promote a state of flow and deep work. Hint: it’s not about context switching between 15 different agents per minute.
I keep wondering if I am defending my experience in this field against the deep hubris of 19 year olds that are still figuring it all out (programming but also system design and how to tackle hard problems efficiently)
It's terrifying to hear that 5 hours of focused thinking is considered crazy. I can understand a budget battle if it's 5 months, but 5 hours?! Everyone, in every profession (or none), would be better off mentally if they "wasted" 5 hours thinking about something every now and then!
On one hand I'm really afraid that in a few years, developers won't actually know how to develop software anymore, and the LLMs won't actually get good enough to make up the gap.
On the other hand, if that does come to pass, my still-sharp skills will be in even higher demand than they were pre-LLMs.
I think our entire field would benefit from us taking the time to think a bit more. I have no opposition to LLM usage either.
Makes me think of Japan, where young people learn to recognize kanji. They type the sound of a word into a computer, then choose the appropriate one.
When they have to write by hand, they often draw a blank (not only children, I had a university professor I knew temporarily forget the character for "police").
An article from 2012 said that 66% of Japanese surveyed believed that they were losing the ability to write kanji.
Now it seems like the need to think is rapidly going away. More and more I realise I'm not actually needing to think about anything. I'm not worried so much about losing my ability to program as I am about losing my ability to think. Programming without thinking is the worst kind of grunt work. I wanted more time to think and less time typing, but it's just far too tempting to not bother thinking either.
From the very start of llms I’ve had nothing but bad experiences with code that was generated for me. Either it’s buggy, it works but I end up losing an evening on some obscure bug, or it’s full of red flags.
My latest hobby project is just in a text editor with markup and that’s it. I’m also done with the augmented assistance in the IDE. I google things I forgot. I constantly read these amazing stories of people vibe-coding some firmware/driver that just works, and honestly I’m starting to question whether I’m reading the posts of some promotional bot.
I've made a wealth of cute things for me and my kids to do (shameless self promotion) https://drawesome.art - multiple people drawing/painting/coloring on the same canvas my kids love this. The architecture took forever for me to get write. Basically server side authoritative state of pixels and blending between two points. How to realistically manage and store it. https://www.catchmemeow.com - random where's waldo-esque game where you find a cat or dog wearing a silly hat I made this for my daughter and me to help the shelter she wants to volunteer at. https://www.cluestep.com - this one is weird I've actually tried to productize it but i made this because I had the HARDEST time helping my oldest with her calculus/algebra II homework. Basically I constantly made her cry. I just wish I could make it not look so "Made with AI"
I think LLM's analogy are prefab with nailguns did for carpentry. It's very complicated to prompt it (at least for me) to try and make it do something novel and net new. It always falls back on node/typescript/fastAPI/python. It's not terrible at using more obscure languages but I have the hardest time describing what I want or thinking without starting something more by hand and then letting it take the wheel and seeing where it drives me.
I should mention too at work I'm practically forced, measured even on the amount of AI I use. The expectation feels like use AI for any and everything. So i'm more worried one day I'll be laid off once I'm found to hit the 'enter' key much anymore. Anyways for me I'd say embrace it, use it and you'll find your output is much higher with the caveat that when a bug occurs it's incredibly hard sometimes to fix if it's with LLM generated code.
I feel somewhat qualified to opine on how humans learn because I've successfully taught my 2x boys[1].
Teaching is difficult. It requires a lot of patience and understanding, and a working mental model of the human brain.
If you have tried, and failed, teaching calculus to your kid, then maybe you don't have a good model of how human brains work.
TBH, it doesn't even have to be correct, it just needs to work; celestial navigation had the wrong model for centuries, but ships still got to where they were going (mostly).
I'm finding that developers claiming to have learned something have often very superficially learned it. If they were tested on what they learned, they'd fail, just like the HS trig students who read the textbook and did no problems fail when they hit the exam.
--------------------------
[1] My youngest, at grade-1, reads at a grade 3 level and can do things like multiple 27 by 4 in his head. That is a result of a structured and scheduled 10m lesson per day since he was 3.5 My oldest was getting 5% in trig/geometry in grade 11 (long story behind that one), and became solidly mid-70% after my tuition.
> You have a previous generation of cars where people just enjoy working on with hand tools, and there’s modern cars where people like to tune with software patches.
I think this is a prettier picture than reality suggests, it's overly simplified and a statement people like because it's a variant of "everything is the same"I think the analogy with cars is apt, but we should also like at what happened with cars. People are being locked out of fixing them, even for simple jobs that would usually be task that introduces someone to the hobby or career. Fixes like changing your oil or brakes. Remember that the Ford CEO said that cars are "too dangerous" to fix. Probably connected with the other thing they talk about... a $100 bn repair industry that they want a bigger piece of. There's an easy way to do that, John Deer and Apple have clearly shown that it's not hard, even when we get the right to repair. Is it any wonder far fewer people work on their cars these days? Ask the people with electric vehicles... there are people out there, just as there always will be, not the numbers do matter
Weirdly, I think LLMs would be much more useful if everything was open source. No need to hack your microwave to give it a firmware update to the door doesn't lock, just patch. More training for the LLMs and turns what would be a specialized task into one anyone can do if they point the LLM at the code. Plus, people submit patches to the source code, getting companies free work. There is a way everyone can win in this. Sometimes (often) being greedy prevents you from getting a bigger fill
The second thing is that using LLMs in a useful way is a skill in itself.
I have to disagree here. People who are really into agentic coding like to say/believe this, but come on, it's not rocket science! You literally ask the agent to do something and it does it, that's it. As long as you use a recent model it will do it really well regardless of how fancy your prompt is. There's no moat here, anyone can do it. Your job will be gone and so will mine.
Not really. I don't even bother writing complete sentences as my prompts anymore. Once the LLM has enough context on my current issue, even incomplete sentences or phrases result in the same outcome quality in LLM's responses.
For linting style errors I’m using entr in a separate terminal which is also awesome.
The only thing to be proud of will be that we are genetically close to Sam Altman, the Creator of AI and über-shrimp.
Also, LLMs are first and foremost excellent at reading ultra fast. Makes it excellent for summarizing and re-representing modules of your code
Frenetic multitasking is for suckers.
My workflow is the most common one - use something like Opus to help create a spec document (I decide the specs and then get the LLM to ask me questions to harden it), then generate a plan, and then implement. I use Opus the whole time. Sonnet sometimes if it is a simple task.
Here's my advice, based on what I have done: implement a programming language yourself, from scratch, without using an LLM, and then program in that. Don't release your implementation, or any code you've written in it.
Most (almost all) of my programming at home has been done in a Lisp dialect I designed and wrote myself, which is superficially similar to Common Lisp, but with subtle differences, including some deficiencies that I have to work around. And in my Lisp dialect, I implemented a visual dataflow language. Code samples are on my web site, but they're PNG images, so are safe from LLMs (I think). The language was designed to run on MIMD hardware, which doesn't exist in the real world. I've also implemented a Prolog which doesn't use Edinburgh syntax, which I use for type checking, and for parsing a controlled English implementation. So the temptation, and also the option, of using an LLM was never there.
In the course of doing all this, I've learned a lot along the way, which I wouldn't have if I'd used an LLM.
So be it. It's fine. It will be fine. At some point I knew assembly well enough; I read hex fluently and confidently changed things directly in some random-looking files. This skill sometimes comes in handy (even today) when reading network packets. How many people today need to really understand offsets, field sizes and padding, so shit like: "bytes 12-13 are the EtherType" feels natural? What percentage of programmers actively creating software need to know how to read, say, exploit and malware traffic?
Some may say: "well, this is enormously important", but the reality is, "no, it's fucking not". For like 95% of programmers, it isn't.
And the number of programming languages I had to learn and then forget later... The point is - you don't need to be "thinking in a programming language". You just need to be thinking, period. Whatever language it will be tomorrow, it really doesn't matter. Cuneiform tablets with math still hold the math even though nobody in the world does any math in cuneiform anymore.
Technology has always been moving from lower abstractions to higher ones, and that's a normal cycle. Why is it so inconceivable to think that most of the software developers of tomorrow would have no idea how to "think" in Python, C++, Java, or Clojure? Does every car mechanic need to be able to explain the principles of a combustion engine?
Probably. I’d certainly not want to use a mechanic who doesn’t understand the combustion engine, or who is incapable of giving at least a high-level overview of it.
For software, we've gone from machine code to high level languages, but were still writing algorithms, which is the important thing as you still use your brain for that. Until vibe coding came along.
Read the full thread on Hacker News →
Related stories
- How to keep enjoying programming in a world of LLMsdiscourse.haskell.orgHacker News · 1 points · 5 days ago
- How to keep enjoying programming in a world of LLMsdiscourse.haskell.orgHacker News · 2 points · 7 days ago
- How to keep enjoying programming in a world of LLMsdiscourse.haskell.orgLobsters · 28 points · 5 days ago
- Hacker News · 3 points · 4 days ago
- Flix - The Elegance of Functional Programming with the Conciseness of Logic Programmingflix.github.ioLobsters · 11 points · about 10 years ago
- Hacker News · 9 points · 11 days ago