How Smart Developers Really Use AI—From Tutor to Supercharged Intern (and Why You Should Too)

How Smart Developers Really Use AI—From Tutor to Supercharged Intern (and Why You Should Too)

Written by Massa Medi

AI is officially here. Whether you're thrilled, skeptical, or just hoping the robots stay out of your bathroom breaks, one thing is clear: artificial intelligence is already changing the landscape of software development. And it's not just hype anymore—developers across the world are leveraging AI as a powerful productivity boost, while others (like the author of this article) are embracing it for both efficiency and fun.

Each week, there’s a new AI startup, a new large language model release, or a new CEO boldly proclaiming “programming is dead.” Meanwhile, indie hackers and influencers are chanting phrases like, “Vibe coding is the future.” Seriously, you can’t even make a quick pit stop without overhearing someone debating AI’s place in the modern coder’s toolkit: “You done in there? Get out!”

Yet despite the noise, it’s impossible to deny that AI offers a lot of potential. Sure, there are limitations—AI is far from perfect—but it really can help developers work faster, learn better, and build projects more efficiently. Major companies are paying attention and, in some cases, embracing these technologies a little too eagerly (Shopify CEO, anyone?). If you’re a developer, ignoring AI is increasingly less of an option—unless you’re coding for government agencies or tightly regulated medical environments, in which case, enjoy your temporary haven. Even then, your colleagues may inevitably nudge you toward adopting AI.

So, instead of waving AI off or watching from the sidelines, let’s dive into how to use it to code faster, learn quicker, and ultimately build cooler things. The strategies laid out below come straight from firsthand experience, with a healthy dash of practical wisdom, sponsored generously by Windsurf—so I can demonstrate all these techniques in action.

This article is hands-on. If you’re looking for the latest philosophical screaming match about whether AI tools are the downfall of civilization, you’re probably in the wrong place. But if you want actionable advice on becoming a smarter programmer with AI as your sidekick, stick around.

Is Using AI Tools for Coding Cheating?

The notion that AI code assistants are “cheating” or make us lazier developers is everywhere. Are they secretly going to replace us all? Are we turning into button-clickers rather than problem-solvers? The short answer: No. Just… no. Well, not yet. If you find yourself wrestling with these thoughts, don’t worry—most of us have been there.

The pitfall is in treating AI as an all-or-nothing solution. Some developers think they must exclusively rely on AI, handing over their programming soul to the machine gods. Others refuse to touch it at all, as if using AI will erase their hard-earned expertise. The truth? Sensible programmers understand that you don’t have to go to either extreme. The real trick is knowing when AI genuinely helps, and when it’s best left on the sidelines.

Go all in on AI right now and you'll run into problems: buggy code, insecure vulnerabilities, and the disorienting feeling of shipping entire apps without grasping what’s happening under the hood. The savviest developers don’t use AI to replace themselves, nor do they reject it outright. Instead, they treat AI like an unpaid intern—eager to help, easy to direct, and with zero HR complaints if you “let them go” for underperforming.

The Three Levels of AI Assistance: From Tutor to Agent

Here’s how I think about working with AI for programming: not as a monolithic replacement for my skillset, but as a flexible sidekick that operates at different levels, depending on my familiarity with the project. It’s all about balance—to avoid becoming a lazier, less-capable developer, I leverage AI in a tiered system. Let’s break down each level:

Level 1: The Tutor

When I’m learning a new framework, debugging unfamiliar code, or trying to climb the steep slope of a skill gap, I “hire” AI as my tutor. This is the learning phase. Here’s how I maximize AI’s benefit while retaining the challenge—and all-important learning—of problem-solving:

Platforms like Windsurf make this seamless. With code-specific chat features built right into the IDE—no more alt-tabbing between your code editor and generic ChatGPT tabs—these chats offer contextually relevant suggestions, references to functions and files, and more accurate help than a generic AI. Plus, Windsurf chat is free—a rare find in the world of developer tools.

Here are typical things I ask “Tutor AI” to do:

One especially handy Windsurf feature: when you type @ in chat, it surfaces all the relevant files and docs you can reference. Choose a doc, and Windsurf will search and read it for you. If it’s missing, drop in a link, and Windsurf will do the analysis. Super convenient.

But sometimes, even in tutor mode, AI spills the answers. That’s not ideal—you want guidance, not spoon-feeding. Here’s my workaround: inspired by Windsurf’s own prompt library, I create a folder called Docs, add a markdown file (Tutor.md), and paste in a tailored prompt that instructs AI to behave like a research assistant—a “Socratic tutor” who only responds with questions unless I specifically request an answer. This way, I can toggle “tutor mode” on and off as needed.

When activated, the AI starts by asking me probing questions to chart my understanding and guide my thinking, rather than simply dumping solutions. If you want to toggle it off, simply stop referencing the Tutor file, and AI reverts to its default helpful self. Win-win!

This approach prevents AI from diminishing my problem-solving chops. I’m still writing the code, still thinking deeply about the problem, but I’m saving time on lookups and research. If you’re hungry for more tips and want to improve your programming game, don’t forget to check out my (free!) newsletter: Sloth Bites: the funkiest way to level up your dev news and tips.

Level 2: The Assistant

Once I’m more comfortable with a language or framework, I graduate to “assistant mode.” Here’s where I crank the autocomplete back on. Suddenly, AI is handling:

These aren’t things I can’t do—I just don’t want to burn 30 minutes on grunt work. Be honest: autocomplete might make you lazy (we’ve all paused mid-line, waiting for AI to finish our thought because typing is overrated). But since I already know what I wanted to say, and if AI guesses wrong, I can correct it instantly.

Caution: In interviews or classwork, this habit might be risky—if the rules prohibit AI, switch it off! But in real projects, autocomplete can help you flow through ideas quickly and reduce friction. As always, if you find yourself using autocomplete for code you don’t understand, step back to Tutor mode. The goal is support, not dependency.

Once again—Windsurf’s autocomplete is free. You get an unpaid intern happy to both chat and fill in the code you don’t want to type. It’s the dream! In assistant mode, I keep chat open for questions about organization, best practices, and alternate implementations, but still avoid letting it write entire features. That’s reserved for the final level.

Level 3: The Agent

Windsurf calls their AI agent Cascade, which definitely sounds cooler than “The Intern Who Writes Code.” Here’s when I let the agent take the wheel: when I’m genuinely stuck, out of stamina, lack interest in the piece of code, or just want someone else (hopefully smarter) to take a crack at it. Throw in your screenshots, paste your design notes, describe your goal, and Cascade pulls together code for you.

Sometimes, Cascade surprises me with genuinely creative solutions I hadn’t considered. Other times, it gets a bit cocky and goes off on a tangent—but that’s fine. Politely, or not-so-politely, you can tell the agent where it’s wrong and ask for a redo. No hurt feelings, no HR paperwork.

At this stage, I become the manager: reviewing, tweaking, and testing code rather than writing every line. Cascade (or your AI agent of choice) is never going to build your dream app solo—it needs your direction and oversight and, crucially, your expertise to catch mistakes. But as a “second brain,” it's an incredible resource for unblocking progress or automating the mundane.

Want to make Cascade (and similar AI agents) even smarter? Look into tools like “memories,” custom rules, or MCPs (modular code prompts)—they’re trending for good reason. (Let me know if you want a deep-dive in my next article!)

Key Takeaways: AI as Your Flexible Ally

The most important lesson: you don’t have to use every feature, every time. Pick and choose what helps for your current skill level and needs. Turn autocomplete off when you want to stretch your problem-solving muscles; activate the agent only when it makes sense for your workflow. At the end of the day, AI is just a tool—a tool that, used wisely, can supercharge your productivity without diminishing your expertise.

AI coding tools aren’t going to instantly transform anyone into a legendary “10x engineer.” But if they can make you 5% faster without eroding your abilities, why not give them a shot? Great developers adapt to new tools and technologies—they don’t fear them. What matters is knowing what you’re building, why it matters, and how to fix things when the unexpected happens. That’s the real developer superpower.

For those looking to try AI in a thoughtful, hype-free way, Windsurf offers an intuitive UI, toggleable features, and a surprisingly generous free tier for both chat and autocomplete. Perfect for getting your feet wet (or taking a deep dive).

And lastly—if you want smarter programming tips and real-world tactics (plus, apparently, love songs about sloths), subscribe to my free newsletter, Sloth Bites. Your new favorite source for dev news, tricks, and delightful nerdiness. See you in your inbox!