Peppered throughout my development career are precise moments where discovering new tooling completely changed the way I work:
- The first time I made a Git commit
- The first time Prettier auto-formatted my code
- The first time I saw React’s unidirectional reactivity model in action
- The first time I used GitHub Copilot
- The last time I opened Coda, bailing in favor of Sublime Text
- The last time I opened Sublime Text, bailing in favor of VS code
Now, after spending 100+ hours coding with Cursor, I can append to that list what may very well be the most transformative moment to date:
- The last time I opened VS code, bailing in favor of Cursor and Claude 3.5 Sonnet.
If you’re in the camp of believing that most meaningful code can’t come to exist by way of AI slop, read on. I was once you.
If you’re uncertain about the hype around AI IDEs, believing it bubbles up from inexperienced n00bs whose collective minds are blown when the button they click does, in fact, work as expected… read on.
If you’re not convinced that you’d actually drop your current code editor to pay $20 a month for an out-of-left-field fork… read on.
Or don’t. But the ship is leaving without you. You’re going to get left behind.
Cursor’s output doesn’t have to be production-ready
Think back to all those late-night StackOverflow questions and answers you used to read, begging for a solution (or, even just a hint) to the roadblock sitting in front of you. You’d blindly copy-pasta an answer based on the number of vouching upvotes the answer received and plop it into your codebase.
Maybe it’d work right out of the gate. Maybe it wouldn’t, and needed just a bit of tweaking. Either way: you were now set on the right track towards a solution.
Hallucinations in AI-generated code are irrelevant. Seriously. That’s what your job is for. Maybe someday AI-generated output will be production-grade, but right now, it doesn’t matter. Using your expertise, QA all output. Every line. You’ll still be faster, especially for menial tasks.
Cursor can work within boundaries
Want to contain the LLM’s scope of work to just a few directories? A few files? Heck, a few lines of code in a file? Easy. Cursor’s notion of @mentions
takes a familiar concept for referencing an external resource and abstracts it further to allow for mentions of specific files, URLs, and relevant documentation.
Limiting the amount of information available to the LLM is an extremely effective way to get results that match existing patterns, styles, and paradigms.
This also means that you should learn to expand your prompts to include the minute details of every job to be done, while simultaneously scoping down what you submit to be worked on. Expect to apply the generated output in iterative batches.
Cursor is the greatest code learning tool ever created
Getting dropped into a brand new codebase or language used to mean hours spent learning the lay of the land and becoming familiar with your new home. Not anymore.
Chatting with your codebase is literally magic. Instead of searching across multiple files for clues on how a feature before your time was implemented, you can just ask.
Cursor knows your code better than you do
Does it really “learn”? No. But it doesn’t matter. Cursor can progressively build context, saving its mistakes and learnings in a Markdown file, progressively being comprehensively instructed to not go down a dead-end route again. It constructs its own referential codex.
Cursor users are designing their own paradigms for leveraging Cursor’s Composer feature to construct codebase reference materials. On this repo, one user suggests adopting a root level .ai
directory across projects that is only meant for AI read/write.
Files have a better memory than you. This is always going to be faster.
Cursor makes writing code… boring
This, I fear, is the real threat. AI IDEs still need a technical operator, but the operator’s job has changed. You’re no longer in charge of using your own logic and problem-solving skills to creatively design a paradigm for your software. Nope. Instead, your job is to communicate. To refine. To oversee. To course correct. To fix subtle bugs.
Writing code from scratch is no longer your job. Your job as a developer is to mentor and babysit an AI. That’s it. Code is now a byproduct, and quality is reflection of your ability to manage an LLM.
Your job isn’t going away, but it is changing
For those who have relied on seeing our code functioning for providing the majority of daily dopamine hits, this is a massive change. Your job, your career, and everything you thought you knew just became reduced to mind-numbingly boring tasks.
For others who dread the code implementation and wish they could instead fast-forward to the working application… you’re next in line to become the 25x engineer.
What should you do?
- Learn to communicate in excruciating detail
- Learn what good design looks like
- Expect your code output to multiply by a factor of 10
$20 a month for
- unlimited code courses
- a pair programming buddy
- a junior developer by your side, available 24/7
- an idea generator
- a decent-enough documentation writer
- an impeccable notetaker
- a data faker
This thing should actually cost $2000 a month.