Will AI Replace Developers? My Journey with Claude Code
There's been considerable buzz lately around "vibe coding" and tools like Claude Code and Codex, command-line interfaces that connect to Claude (from Anthropic) and ChatGPT respectively. The big question on everyone's mind: will these tools replace software developers? And more personally, is there still value in creating Swift and SwiftUI tutorials?
I've experimented with ChatGPT's standard interface for some time now, finding it particularly helpful for generating mock data and building time-consuming boilerplate views for starter projects. I've never used it to create a complete application, except for the web-based version of my channel listing app, where my rusty HTML and CSS skills made AI assistance invaluable.
Recently, I decided to dive deeper. I spent time learning how to configure Claude Code and Codex to access the growing library of agent skills available. Detailed instructions for using these tools with Xcode are surprisingly scarce, perhaps because the landscape changes so rapidly that any guide risks being outdated almost immediately. Maybe I'll tackle that in a future video.
I had an idea: access my workout data from the Health app programmatically. My manual solution was tedious, and I wanted to use the HealthKit API to present the information in a way that actually made sense to me, unlike Apple's Fitness app, which I genuinely dislike. In less than a day using Claude Code, I built what turned out to be a robust and genuinely useful application that I now use daily.
Here's what's important: I did very little actual coding. I brought in some components from previous projects (like my custom calendar view), but mostly I directed Claude through the process. The initial implementation Claude suggested and coded was functional but far from optimal. And this is the crucial point.
Should you abandon tutorials and jump straight into agentic coding? If your only goal is a functional app without understanding how it works, then yes, you can get results. But good luck maintaining it down the road.
There's genuine skill required in prompting these models effectively. You need to know what to ask for. Without careful oversight, you'll end up with redundant code, deprecated APIs, and legacy implementations. I checked every modification Claude made, manually reviewed the code, and requested substantial refactoring to ensure the final result was readable and maintainable.
Sure, I could probably ask Claude to update the code to follow the latest patterns in the future. But that raises a fundamental question: what are you learning to code for?
For me, coding brings joy. I love solving puzzles and understanding how things work. I get no satisfaction from being told how to do something without grasping the underlying mechanics. While I enjoyed vibe coding this application and use the result daily, it wouldn't have brought the same fulfillment if I hadn't been an active, knowledgeable participant in the process. That participation was only possible because of the foundation I've built over years of coding without AI assistance.
There's absolutely a place for vibe coding and AI-assisted development, but only if you already have a solid foundation in programming. That's precisely why I'm going to continue producing tutorials without relying on AI tools. The more you know, the better your prompts will be, and the better your results will become.
Understanding the fundamentals isn't just about writing code. It's about knowing what good code looks like, recognizing when to push back on suggestions, and having the judgment to guide these powerful tools effectively. That knowledge doesn't come from prompts. It comes from learning, practicing, and yes, watching tutorials.
Here is the outcome of my vibe coding experience: