For Data Engineers ·
What you'll accomplish
Somewhere in your stack there's an ETL codebase nobody wants to touch. Inconsistent patterns, functions doing three unrelated things, a mix of three different eras of coding style. Cursor is an editor built around AI that can see your whole codebase at once, not just the file you have open, which makes it noticeably better suited to a multi-file refactor than a tool that only reads what's on screen. This won't turn a multi-week project into an afternoon. It will make the mechanical parts of the rewrite faster, so your time goes toward the decisions that actually need a person.
What you'll need
Cursor is a fork of VS Code, so if you already use VS Code, the transition is mostly familiar.
What you should see: An editor that looks and largely behaves like VS Code, with your existing extensions available if they're compatible.
Troubleshooting: If your company's device management software blocks installing new applications, check with IT before assuming Cursor isn't allowed. Some orgs already have it on an approved list for engineering roles.
What you should see: An indexing status indicator, and once complete, AI features that can reference functions and files you haven't explicitly opened.
.env files, and any config containing real connection strings or secrets.Why this matters: A legacy ETL codebase is exactly the kind of place where an old credential or hardcoded connection string might be sitting in a file nobody's touched in years. Indexing the whole codebase means that content becomes visible to the AI unless you've explicitly excluded it.
What you should see: A structured plan referencing specific files and functions in your actual codebase, not generic refactoring advice.
Troubleshooting: If the AI suggests a change that breaks a pattern used elsewhere in the codebase (a naming convention, an error handling approach), point that out explicitly in your next prompt. It's working from what it can see, and a codebase with genuinely inconsistent patterns gives it mixed signals to learn from.
Get a refactor plan:
Analyze this codebase's ingestion module for inconsistent patterns. Propose a refactor plan that converges on one consistent approach, in order of lowest to highest risk.
Ask about impact before changing a shared function:
What other files in this codebase call this function, and would changing its signature break anything?
Request tests alongside a refactor:
Before refactoring this function, write a test that captures its current behavior for these three sample inputs, so I have a baseline to compare against after the change.