The way I’m using it now I figured out through trial and error. I form a mental model of what I want from start to finish. I then break that down into pieces, and use AI (when appropriate) to generate the code for each piece in sequence. This essentially leaves me in power of the entire development process, but the AI helps me produce the syntax much quicker than I could without it.
1. I spend less time fiddling with Flutter/SwiftUI to make things look decent. 2. I don't have to worry about simple data management code much. 3. I learn new things much faster by watching AI does its thing.
AI coding removed the bad part of coding. Lets you handle all the fun part; and you can of course always go and 'code' yourself, you dont have to prompt everything.
The new "developer" skill is ensuring that you're building a reliable app that isnt a house of cards. AI will tend to give you bare minimum. You cant have that, your prompts need to be better.
Also stuff like leetcode goes away hopefully soon as as long as you understand a data structure and it's benefits you don't have to learn to implement it in every language?
What I've observed the benefits to be: AI chat apps are great at internet searches that can filter out all the nonsense. They are good at transferring algorithms between languages. They're great at knowing common patterns.
I still write all my own code 100%, AI has simply replaced my Google research (ironically using Gemini).
The fun / creative part for me is not googling “how to slurp the contents of a file into a string” or “the exact syntax for marking some functions as unit tests” or “the correct order of symbols to specify generic type param”
It’s not “the correct html / css syntax for this basic gui I want to make”
It’s not “how to achieve the thing I’ve done 10 thousand times in other languages/frameworks, but for this language/framework”
It’s figuring the core logic out, building the thing while skipping the boring stuff, playing with abstractions that scratch my itch.
From this pov, AI is the best thing that has happened to my weekend coding. I code recreationally way more than before. Before AI, I would try a new language or framework, and I’d give up halfway because re-figuring out basic stuff for the umpteenth time is boring, it’s not fun at all. Now AI lets me skip those boring parts.
The parts I don't like about coding are figuring out little details, or figuring out 'how to do X thing' that I've never done before when I'm not really sure where to start.
I have fun with the logic and making things work how I want them to work, and getting an end result that I like.
So it's been nice having something I can give details on what I want the end result to be, and getting suggestions on ways to get there. Or just have it figure out silly little issues for me.
I like the design aspect of implementations. But coding has always been drudgery. LLMs have removed a lot of that drudgery. I just test the output and read it for correctness, see if it’s well formed etc.
2. I used to engage small purpose-built DSL's, languages, and systems because they were easy to adopt. Now they're at a strong disadvantage for lack of AI coverage.
3. I focus a lot more on value to the customer; opportunity is now the limiting factor, so I have the product manager hat on most of the time. So I actually do less coding, pruning almost everything that I used to do just to see if I could.
4. I do try harder problems and techniques, because with AI I can typically get to a MVP I can validate and iterate (i.e., it minimizes the stage where nothing is really working). Sometimes it works, and sometimes it just gets blocked; it's more like hunting than gardening or building.
Overall, it's made skills matter less and opportunity/connections matter more, and those are mostly outside my control. That makes it generally de-powering because though I can do much more, the value of what I can do is diminished by a larger factor.
More ambiguity to me is more interesting, I like the hunt and the iterative process.
That said, it's a choice to use them for hobby projects, and LLMs are sufficiently bad that I'm coming full circle and feeling like their impact on those hobby projects might not be so pronounced. For them to be actually valuable, the process of using them needs to be significantly less tedious and more rewarding, and it's only in a few caes have I had that feeling.
Nothing like cleaning up someone (or in the case of LLMs, something’s) garbage code to boost ones skill and confidence.
I'm still not using AI much, but I'm especially wary of using it to help me with any creative task such as writing or coding. I believe "vibe coding" is the anthesis of hacker culture. What interest I've lost is probably more due to being depressed about the direction I see things heading.
Learning Elixir and fixing a bug in an open source project went from "risk of a long slog over the course of a month with no reward" to "pepper an LLM with questions (debugging errors, understanding syntax, translating code snippets to English descriptions of behavior), write 20 lines of code by hand, write a few test cases, and submit the PR fix".
I don't use LLMs much for heavy lifting around the code. But it's an almost-excellent tool for research, finding or synthesizing examples, and generating boilerplate where other tools can't do it. "Almost", because LLMs hallucinate more often than I would like, so sometimes I have to cross-check their answers.
Alone I'm just good enough to do things well enough and secure enough when I really try. It wasn't easy but I was proud I was able to do it. I was one of the few blue collar guys (although with MechE degree from Cal) that could actually make things and sell them.
Now I feel like AI vibe coding has taken all my advantage away. So really all I have is a bit of experience.
I'm really, really, loving the agentic flow, where it digs itself out of syntax errors and the like.
Current tools: Visual Studio Code/GitHub ChatGPT5(Preview)
On one hand, they've eliminated the boilerplate I've hated for years. No more googling obscure syntax or writing the same utility functions for the nth time. There's a real joy in focusing purely on the creative aspects again.
But there's a catch. My role has shifted from writing code to managing the AI. It's like being the manager of a brilliant intern with zero memory. My day is now this constant cycle:
1. Crafting the perfect context window to prevent hallucinations 2. Engineering the right prompt 3. Context switching while waiting for responses 4. Painstakingly reviewing the output for subtle but critical errors
So has it killed my interest in programming? Partially. The craftsman's satisfaction of writing code has diminished. But it's sparked a new obsession: building better tooling. How do we reduce this cognitive load? How do we make AI-assisted development more structured and less chaotic?
I'm wondering if others feel the same - has your passion just moved up the abstraction stack like mine has?