Despite AI being the buzzword in the software industry and the push to integrate it into your daily workflow, I hesitated to embrace it. I’ve always wanted to stay on top of the latest and greatest technologies, but I worried that relying too heavily on AI tools early in my career would stunt my learning.
Sure, it’s amazing that AI can instantly spin up a suite of tests or implement an entire function. But to me, that felt like a shortcut that could hurt more than help in the long run. Tools like Cursor are marketed as productivity boosters, but if you can’t write the code yourself, you’re skipping the foundational skills like writing tests, building components, and understanding structure and syntax. It’s way too easy to let AI do the heavy lifting while you sit there tapping “tab” to autocomplete.
Even if you understand what the AI is doing and agree with the solution, you’re still missing the critical thinking and problem-solving that junior developers need to grow. I eventually caved to the Cursor hype six months after everyone else. Now, while I’m not using it to squeeze every drop of efficiency from my workflow, I’ve landed on a routine that supports me without getting in the way of my learning.
Here’s a sarcastic take on the provided
Despite AI being the hottest topic in the software world and the big push to integrate it into your daily workflow, I hesitated to embrace it. I’ve always wanted to stay on top of the latest and greatest technologies, but I worried that relying too heavily on AI tools early in my career would stunt my learning.
Sure, it’s amazing that AI can instantly spin up a suite of tests or implement an entire function. But to me, that felt like a shortcut that could hurt more than help in the long run. Tools like Cursor are marketed as productivity boosters, but if you can’t write the code yourself, you’re skipping the foundational skills like writing tests, building components, and understanding structure and syntax. It’s way too easy to let AI do the heavy lifting while you sit there tapping “tab” to autocomplete.
Even if you understand what the AI is doing and agree with the solution, you’re still missing the critical thinking and problem-solving that junior developers need to grow. I eventually caved to the Cursor hype about six months after everyone else. Now, while I’m not using it to squeeze every drop of efficiency from my workflow, I’ve landed on a routine that supports me without getting in the way of my learning.
1. Turn to AI when a concept doesn’t click.
Whenever I start a new project, I usually have to write down a giant list of unfamiliar concepts and terms. While I do spend some time researching them, either through reading blog posts or skimming documentation, I often find myself still lost. The learning curve can be steep, and traditional resources don’t make things easy to grasp.
This is where AI becomes really helpful. After my preliminary research (which can be as little as five minutes), I’ll ask AI to explain the concept in clearer terms. That early struggle is still important to me — it helps frame what I’m actually confused about.
Once I know what to ask, I’ll prompt AI to explain the concept in simpler language. I’ll ask follow-up questions, dig into edge cases, and even try to re-explain the idea back to confirm I’ve got it right. This back-and-forth is not only a huge timesaver compared to sifting through dense docs, it also reinforces my own understanding.
2. Struggle first, then use AI when you’re truly stuck.
Struggling through tough problems is where the bulk of learning happens early in your career. That struggle might mean debugging an issue without a clear starting point, writing tests with no prior experience, or implementing a feature using an unfamiliar concept or framework.
This kind of struggle forces you to explore documentation, dig through Stack Overflow posts or GitHub Issue threads, and piece together unfamiliar ideas. It also sharpens your problem-solving instincts and helps you get comfortable with your debugger. These skills are essential for your long-term growth as a developer.
I hear a lot of praise for how quickly Cursor can write tests for you. Why spend a lot of time doing the monotonous part of your job when you could spend more time doing more involved programming? And don’t get me wrong, having Cursor write me a bunch of tests that fully covered my complex component in just 5 minutes was awesome.
But here’s the thing: I felt comfortable using it because I’d already learned how to write those tests myself. I spent many days learning how to write unit tests for React components until I was confident I could have written all the generated tests by hand. Understanding the generated code and knowing what it’s doing is one thing. But if it’s something essential, like unit testing, you should also be able to write it from scratch.
The struggle of learning how to write these tests, understanding how mocking worked, and digging through the codebase to find examples is where the real growth happens. Sure, I could have saved a lot of time and could have crunched through more feature work if I had used AI. But, forcing myself to struggle is how I’m setting myself up for success in the long run for my career.
3. Don’t just accept AI output — ask why.
After you’ve spent time struggling with a problem and decide to turn to AI for help, it’s important to understand the why behind the choices it makes. More often than not, AI won’t get it right on the first try, or even the second. That’s why it’s crucial to stay curious and question its decisions. If something doesn’t seem logically sound or the approach feels suboptimal, don’t ignore that instinct. Always take a moment to evaluate whether the solution truly makes sense.
Some prompts I like to use to fully understand the output are:
- Can you explain step-by-step what this is doing?
- What are the pros and cons of this approach versus my original implementation?
- Can you generate another solution that is [insert preferences here]? What are the tradeoffs between these solutions?
These kinds of follow-up questions turn AI from a code generator into a thinking partner. This makes all the difference when you’re trying to learn and to make sure you get the most optimal solution.
4. Let AI review your code, not write it.
One of the most helpful ways I’ve been using Cursor is by treating it like a pull request reviewer. I’ll complete the first pass of an implementation on my own, then ask Cursor to generate a list of improvements, but only show me one suggestion at a time. I explicitly prompt it not to give me an implementation plan or write the code for me. I want it to act like a real code reviewer, so I can come up with solutions myself.
After I’ve made a change, I’ll ask whether it addresses the issue. If not, I keep iterating. I also make a point to ask why a suggested change is beneficial. This helps me understand not just what needs improvement, but why it matters. That way, I can learn to spot similar issues in the future and understand how the changes improve the code overall.
Once I’ve resolved one issue, I ask Cursor to reveal the next one, and I repeat the process until everything’s addressed. Using AI as a coding partner and a tool for growth is more beneficial to me than just the convenience of having most of the code written for me.
5. Keep AI separate from your IDE.
One of the main reasons I avoided using Cursor for so long was that I worried it would interfere too much with my development process. I didn’t want to be constantly bombarded with autocomplete suggestions or tempted to generate entire blocks of code without trying to implement them myself first. I was concerned that the convenience would come at the cost of learning.
Even though I now have Cursor installed, I still use VS Code as my primary IDE. I only switch to Cursor when I have a specific problem I want help with. This separation helps me stay focused and avoid unnecessary interruptions while coding. It also keeps me in control of when and how I use AI, rather than letting it shape my workflow by default.
I also use ChatGPT separately for more general questions or concept explanations. Keeping these tools outside of my core development environment has been a helpful way to get value from them without compromising the hands-on experience I’m trying to build.
At the end of the day, AI is a powerful tool, but it’s just that: a tool. It shouldn’t replace the process of learning, problem-solving, and building confidence in your own abilities. By being intentional about how and when I use AI, I’ve found a workflow that helps me grow as a developer without skipping the hard (but rewarding) parts. Whether it’s using Cursor as a PR reviewer, asking ChatGPT to explain tricky concepts, or simply knowing when to struggle through something myself, I’ve learned that AI doesn’t have to get in the way of learning; it can actually support it, as long as you stay in control.
The post 5 Ways I Use AI as a Junior Developer appeared first on Atomic Spin.