Over the past few months, I’ve become increasingly effective at using ChatGPT as a coding partner. My productivity has skyrocketed, and I’ve been learning new things at a rapid pace.
A few days ago, based on a friend’s recommendation, I downloaded and started using Cursor. I’ve been playing around with it, and having deep AI integration right in my code editor has been a game changer. The speed at which I can scaffold projects, add features, and iterate has surged once again.
But this has also reinforced a principle that’s already become deeply ingrained in me from my work with ChatGPT:
AI is a powerful tool, but it doesn’t replace genuine knowledge, skills, and thoughtfulness.
⚠️ The Limitations of AI
Often, when I ask Cursor to generate code, that code looks polished and impressive — but:
- …it’s poorly integrated with the rest of my project,
- …it’s redundant or overengineered,
- …or it introduces subtle bugs that didn’t exist before.
This isn’t a dig at Cursor. I actually appreciate these moments. They give me a chance to notice flaws, refine logic, and sharpen my critical thinking.
Reviewing my own code is one thing. But reviewing 50 lines of beautiful AI-generated code — and resisting the urge to just accept it — requires even more discipline and discernment because of how easy it is to simply leave it as is and move on.
🧠 The Real Multiplier: Staying Engaged
Over time, I’ve come to see there’s a massive difference between using GenAI passively and using it collaboratively.
If I use AI passively, I get a 5x productivity gain — I can deploy faster, finish tickets quicker, and move on to the next task.
But even that 5x is often deceptive. The code might compile and the features might work, but the foundations are fragile. Rushed output often hides subtle bugs, poor structure, and short-sighted decisions — cracks I won’t notice until they cause friction later on, or worse, break in production.
On the other hand, when I stay fully engaged — reading critically, reviewing suggestions carefully, questioning the structure — that 5x productivity boost becomes 10x. I not only move faster but also greatly reduce how much debugging and backtracking I need to do later on.
The key is to keep my brain in the loop — and to keep learning. Whether it’s brushing up on design patterns, understanding performance tradeoffs, or deepening my knowledge of the frameworks I’m working with, skill development is what turns AI from a shortcut into a force multiplier.
🔍 Learning By Example
One of my friends, a senior software engineer, told me she’s often slower than her peers in submitting code, because they use GenAI to fly through tickets whereas she works more carefully.
But when code reviews come, their pull requests get kicked back, and hers glide through. By stepping through logic, checking for edge cases, and making sure everything aligns cleanly with the existing codebase, she does more work in the moment but eliminates unproductive back-and-forth and iteration down the line.
Her reflection stuck with me. Productivity isn’t just about shipping fast. It’s about how much rework I avoid, and the long-term quality of my contributions.
🧘♂️ Where I Stand
So that’s where I am today: deeply appreciative of GenAI, but even more grateful for the thoughtfulness, discipline, and wisdom that I’ve developed through using it with intention — and through actively building my own knowledge and skills along the way.
I’m a big fan of AI-assisted development. I could talk for hours about how transformative it’s been. But I never let AI overshadow the values that guide my software practice: clarity, care, and craft.