Like many, I take pride in knowing what I'm talking about. I trust I'm not the only one who rushes to his friends and family to share whatever fun or exciting thing they've learned, done, or tried. We've all done it, and we've all experienced the feeling of genuine euphoria that comes from confidently sharing something. I'm no different, but I've found myself being less knowledgeable than I think.
"Artificial intelligence"
I have what one would call a complicated relationship with the generative AI tools that have been floating around. On the one hand, it's incredibly cool and sci-fi to talk to a computer using human language. Being able to share my thoughts and ideas with someone (something?) that won't immediately scoff or laugh you out of the room is nice. But on the other, I feel somewhat gross using AI-generated content in any form. At the end of the day, the content/information returned is as "artificial" as the data it's trained on.
These tools are great for speeding up normally mundane tasks, as everyone has experienced firsthand. Hell, in my use case, I used it to make an app (shameless Bit Buddy plug)! Back in the "old days" of having to copy and paste code from ChatGPT and Claude, I went from idea to app in mere weeks, with no prior experience! It was truly remarkable. By using this approach, I found myself picking up on core iOS and SwiftUI concepts, even if I didn't fully know the concepts. I knew which parts of the codebase were safe to share and which weren't, and more importantly, I was able to follow what/where the AI was going.
Before long, I was able to make somewhat intricate changes and features without any help from ChatGPT or Claude, but I found the majority of my "knowledge" to be surface-level. I would be able to start a new view or scaffold a class/function, but when it came time for anything substantial, I failed and failed miserably. And back to AI, I went. But I was at least learning something, reading the output, and flagging anything that looked incorrect. I was able to see what *looked* incorrect and *not* use it. Then I tried Cursor.
The problem
Let me just say, I think Cursor is an amazing piece of software and technology. Being able to quickly spin up projects, no matter the context or size, and have a demo working in a few minutes is, as I mentioned, sci-fi as all hell. That's not even mentioning being able to open any file/directory and have AI inspect/make changes to it. And with it being an application and not in the browser, it feels more powerful and futuristic than merely copying and pasting the code. It's literally manipulating and running commands! But it's a slippery slope, and even for someone like me, who is far more technically inclined than the everyday layperson, it's easy to start and never stop.
I heard someone say that using AI for code is like learning to ride a bike with training wheels and never taking them off. Sure you can get up and move around, but are you actually riding the bike? That's where I am now. I have all of these ideas and have developed some efficient techniques for prompting these tools, but I've grown too reliant on them. I'm not learning anything, and despite what many say about the so-called "vibe coders" out there, I want to learn! I want to know what I'm doing! I want to be able to walk into a room, see a bug/error, and know what to do/how to fix it. Maybe this is my inner narcissist showing, but I feel like that's the right mindset to have.
Regardless of my intention, I still feel like a fraud. I still feel like, despite having worked on, and released, Bit Buddy and Quick.Link, that I can't call myself a software developer. Have I really developed anything? Or am I just back in school, copying off the smart kid in class? Is the kid I'm copying off of even smart? Do they even know what they're doing? You get the idea.
Looking ahead
I can already imagine the five or so people who read this screaming, "Just learn it! It isn't that hard!," and to those people, I hear you. That's exactly what I'm doing. I'm going through the courses that appear to be a match for what I'm interested in (web/mobile) when I have the time, and I started enforcing stricter limits on when and how I use these generative tools in my development/creative process.
As much as I'd love to be like my dad and resist all the trends, AI isn't going anywhere. I feel like an old man even typing things like "I want to learn," which is sad and a topic for a different day. I guess the only thing I can do is hunker down, do the work, study, and by some miracle, maybe, I'll learn something. You know, like we used to do things literally three years ago. Imagine that.