The most impactful feature is the tab functionality. Its edits are phenomenal. It’s significantly better than any autocomplete tool I’ve tried, including Codeium, which I appreciated for its ability to see the whole project. But this small feature feels like it’s reading my mind.
Cursor’s “Composer” is the most hyped feature, but it’s not particularly useful unless your project is very small. It’s great for educational purposes for kids or for extremely small projects. It’s not as helpful for medium or large projects where every edit is crucial.
Now, this might be controversial, but I believe the LLMs in Cursor and other assistants are a bit overestimated. Yes, you can interact with them similarly to how we interacted with ChatGPT two years ago, only slightly better now. But you still can’t rely on them completely. You still need to read and understand all the code they generate or refactor, debug it, and ensure it aligns with your logic. And you know what? I don’t think it’s that useful after trying it for several days.
Let me elaborate.
These systems often operate on an all-or-nothing basis. It’s like driving a car with autopilot that has a 5% chance of error—not as appealing as a 0% chance, right? Even though it’s only 5%, that difference is massive. It fundamentally changes your approach to driving.
The same applies to LLMs and coding. I’m not sure when this will change, but to be genuinely useful for development, they should be able to handle the entire job, ideally with just a few prompts from the developer. They shouldn’t require you to read the code at all to make it work. If they do, you’re likely not being efficient with your time. You’re better off writing the code yourself (perhaps with some autocomplete assistance), asking the LLM specific questions, and delegating very small tasks that don’t require extensive context or complexity—just to save a few seconds.
This is why I think Cursor’s tab feature is so great—it excels at handling the details.
I don’t see a viable middle ground. There’s no real magic with this approach—you’re still doing the majority of the work. Maybe I’m naive, but I was hoping for something more revolutionary. Currently, you’re more likely to waste time trying to decipher large chunks of LLM-generated code that isn’t your own. Sure, you can try to understand it, but it’s often easier to just write it yourself.
Perhaps these “Devin-like” development environments where you don’t have to read code at all are coming soon—I don’t know. Until then, don’t rely on LLMs for extensive writing or even refactoring. Treat them as consultants, not much more. I learned this the hard way. Now that I’ve given up on relying heavily on LLMs and started doing more coding myself with some help from Cursor’s tab feature and Chat, I feel much more productive.