02-12-2025
I found myself asking every engineer in 2024, "Are you using Cursor?"
Cursor enables today's developer to rapidly prototype implementations and iterate on ideas in record time. Cursor (and the likes) commoditized code. It is cheap to produce code now!
But just like other parts of real life, cheap does not necessarily mean good. If you want to produce maintainable and understandable systems with the help of Cursor, here are a couple healthy habits to consider.
This is where humans still matters. AI codegen needs context. Sure, some frontier models have context windows large enough to hold an entire codebase, but most non-trivial codebases have context that exists beyond the bounds of the filesystem. Design documents, Zoom meetings, onsite customer visit. A "conductor" is still an important part of the problem solving process -- AI just accelerates the time it takes to do lower level tasks.
If the conductor is important, so too is their understanding of the underlying system. Without knowing how things work -- at any level of abstraction -- they cannot make an informed next move. Bad code usually makes it hard to understand the territory.
So review it! Just like you would a co-worker's code.
You'd be surprised at how many devs out there don't actually run their code.
Code compiling is a low bar -- even if code compiles, the result might not
handle all your important use cases or catch edge cases. The fact that LLMs
may (read: will) produce bugs makes this habit even more critical -- the faster
we can produce code, the quicker we might be to ignore the details. Alternatively,
the faster we can produce code, the more efficient it is to run more experiements.
The process becomes prompt->copy/paste->execute
instead of think->type->execute
.
Notice that we are gaining some thinking power!
I am optimistic about AI's role in software development. However it's still going to be up to us (humans) to ensure integrity in the systems we produce. Using Cursor doesn't preclude good engineering habits!
What do you think? What are some other habits you keep in mind when using AI?