Three things kept me away from AI coding. Two were about the tool. The third was about me.
To be clear, I’d used AI to code before. Just the free-tier kind. Copy-paste from ChatGPT or Gemini, shuttling code and output between a browser tab and Xcode. What I’d avoided was the agentic stuff. Claude Code, Cursor, the tools that actually touch your repo and run on a paid plan.
I wasn’t convinced the output was good enough to ship. I couldn’t tell whether any plan I bought would last long enough to find out. The pricing pages told me what I’d pay each month, not whether I’d burn through it in three days. And I didn’t want to be a vibe coder, or to be seen as one.
I’d pasted enough code back and forth from ChatGPT and Gemini to be unconvinced. The recurring problem was hallucination, delivered with total confidence. SwiftUI modifiers and iOS APIs that didn’t exist, sometimes made up outright, sometimes lifted from other platforms and presented as iOS. The confidence held right up until I asked for documentation. Then it folded. Comments described behavior the code didn’t have. Half the time the code wouldn’t even build. I’d fix one thing, hit the next, fix that, find another. Several rounds of manual repair before I had something that ran.
Cost was stranger. It wasn’t that the plans looked expensive. Most of them looked affordable. It was that I had no idea whether “affordable” would be enough. Twenty dollars a month, fifty, a hundred. I could read the numbers but I couldn’t read what they meant. Token limits, message caps, fair-use clauses. The kind of ceiling you only find by running into it.
It kept me out for the better part of a year. When I finally did buy a plan, I bought one a tier larger than I probably needed, just to take the question off the table. The hangup didn’t disappear; it converted into spend.
I didn’t want to be a vibe coder. By that I mean a specific pattern. Someone who throws a sentence at the AI, gets a half-built product back, and then keeps throwing more sentences at it to patch the bits that don’t work, without ever really knowing what was built or why. The output ships. The understanding doesn’t.
Avoiding the pattern was one thing. The chatter around it was another. Apps in the App Store, paying clients, code I’d defend in a review. That was the work, and the standard that came with it. The threads about $10k MRR in a weekend, the screenshots of generated SaaS landing pages, the breathless this-changes-everything energy, all of it made AI-use feel like a costume. If I started using it, would I still be the same kind of dev, or would I be auditioning to join a scene I’d been keeping at arm’s length?
That last reason is the part I’m still uneasy about, and not in the way I first thought. The first two reasons were about the tool: could it produce good code, could I afford to find out. This one was about me. Not whether vibe coders were good devs. Most of them don’t have the years, and probably aren’t. The question was whether adopting the same tool would change how I was seen. That peers would think less of me. That clients wouldn’t want to work with me anymore. That’s reputation anxiety, and it’s mine, and I’d like to say I’m fully past it. I’m not. I’m using Claude Code on my own projects now, most days, and I still half-expect someone to read this and decide I’ve downgraded from a real coder to a vibe coder. Which is its own kind of vanity, caring more about being seen as serious than about doing serious work.
Most of the people in that scene are just trying things, the same way I eventually did. Quality and cost are things you can evaluate from a distance. Identity isn’t. You can only check identity from inside the thing you’re worried about becoming.
I did eventually find a way to use AI that I could live with. It involved drawing a specific line. About planning, about understanding, about which decisions stay mine. For this post, it’s enough to say that the line exists, and that crossing it settled the practical half of the worry. The other half, the one about how I’d look, didn’t settle. It just got smaller than the cost of staying out.
What eventually shifted wasn’t a single argument. Antoine van der Lee, an iOS dev whose work I’d respected for years, started posting about using AI. Blog posts, LinkedIn, YouTube. Not hype. He’d built his own Claude Code skills and open-sourced them, which was harder to dismiss than any thread of screenshots. That was one signal from inside my own niche, and there were others. The deeper move was the one any working dev eventually makes: you can’t evaluate a tool from outside it. I’d been deferring that move, dressing it up as caution. I did the research, took a course to shortcut past the fumbling stage, and bought the plan.
If you’re reading this and any of those three reasons has been keeping you out, maybe this is the nudge. Not a recommendation, not a pitch. Just one fewer voice on the other side of the line.