This content originally appeared on DEV Community and was authored by Jarne
Over the last few years, writing code has become increasingly easy. Everyone with a decent knowledge about AI is able to set up some small app or website. AI writes code for you, AI predicts what code you want to write. Most code editors come with tons of AI features out of the box these days. While they can be useful, some of them destroy your motivation, flatten your learning curve and kill your progress.
How I learned with and without AI
When I wrote my first lines of code, I had never heard of AI before. I’m not the guy that tells you that old ways are best, but over the years I realized that learning without specific AI features improves your progress significantly.
While programming for the first few years, stackoverflow.com was my place to go when I encountered any problem. Nearly every problem I had at the beginning – someone else asked a question about it before.
Now I head over to ChatGPT if I have questions about problems I encounter. This is way faster and simpler in most cases and I would recommend this to everyone in this time. If the proposed solutions don’t work, you can still head to stackoverflow or some GitHub issues.
What AI can do for you
Today, AI can help you in every aspect of development. AI writes code, reviews code, checks for errors and security vulnerabilities. AI can explain to you how frameworks work and help you pick an architecture for your next big project.
But don’t let AI fool you!
Especially code completion seems really helpful at the beginning. It starts simple with inline and turns
print("He
into
print("Hello, World!")
And that’s awesome isn’t it?
It gets even better, when AI starts to predict multiple lines of code. You start generating whole methods, you start to trust the code your IDE writes for you. At some point, you might ask the AI inside your IDE to write a whole class or a whole components. The code gets generated, you try it out and you are happy, because it works.
The moment you wish you used less AI
You start having a decent codebase, the start of a big project. That’s the point AI starts to struggle. The generated code doesn’t fit into your codebase, AI doesn’t know how to use up-to-date packages. You try prompting your way through a growing mountain of errors and you start getting frustrated. That’s your time to shine as a developer. That’s the moment that splits vibe-coder and developers. For a vibe coder, this moment is like a punch in the face. For a developer, it’s a challenge. And that is what developing is all about: Solving problems.
The JetBrains developer survey of 2025 clearly shows that one of the biggest weaknesses of AI is code quality. Many developers think that AI is not able to handle complex development tasks.
Here’s the most honest advice about the usage of AI I can give you that I learned over the last few years:
Use AI for boring stuff you really know how to do. When you learn programming languages or concepts, AI only helps you in the beginning. If you skip learning the core concepts because AI knows them anyways, you’ll get stuck at some point 
What you should do
Use AI for
- Code Reviews (You learn from your mistakes)
- Fix Errors – You can easily ask ChatGPT to explain why a specific error occurred
- Research – You want to look for competitors? Want to know how the publishing process works? ChatGPT is awesome helping you with that
- Naming things – Because we all know, naming things is hard
Don’t let AI
- Write code you couldn’t write yourself
- Make you a debugger of prompted code rather than a developer
- Take your understanding of your codebase
Especially if you are a beginner you should turn off your IDE’s code completion features. You should write your own code, rather than prompt yourself to a codebase you don’t understand.
This way, you’ll learn more, stay motivated and become a better developer!
If you have had different experiences, feel free to discuss them with me down below 
This content originally appeared on DEV Community and was authored by Jarne