The rise of AI has been exciting to witness, especially as a developer. It's extremely tempting to pass off all my work to ChatGPT and Copilot and act as a sort of product manager instead of a developer. While this may seem nice in theory, it is actually quite destructive.
The Problem
While AI is constantly evolving, and getting smarter, it's still nowhere near perfect. It is prone to mistakes, which you might miss if you don't properly understand the code, or worse yet if you blindly copy and paste.
Aside from the obvious pitfall of AI making mistakes, it also negatively impacts your cognitive ability. Knowing how to quickly gather relevant information is an important skill for a developer. Overly relying on AI causes you to neglect this skill, as well as other essential skills for developers like problem-solving and in-depth thinking capabilities. You see it everywhere today, beginner developers are relying more and more on AI to write their code, and the quality of the programs they produce shows it (no offense).
Why it Matters
Technically, it doesn't. If your goal is to show off the amount of LeetCode problems you've solved or push out side projects consisting of messy, unmaintainable code, then AI is the only tool you need! With that being said if you want to deepen your understanding of software development and hone your craft to a point you're proud of, you need to take a step back from the AI.
Take it From Me
I'll admit, I was very excited to have my own personal coding assistant. Something I could ask every little question I had, and it wouldn't get annoyed or take forever to respond. But this was the beginning of something very detrimental to my growth. I stopped thinking for myself. When faced with an issue, I didn't even stop and think, I just pasted the code into whatever LLM I had open in the other tab, and let it do all the heavy lifting for me. My productivity skyrocketed of course, but I could genuinely feel myself getting dumber, and my code getting worse. It was harder to refactor, I didn't understand where bugs were happening, everything was so sloppy and my skills were at an all-time low.
The Solution
My approach has been to use LLMs as a way to deepen my understanding, rather than replace my ability to think. I disabled the copilot, closed the tab with Claude or GPT open, and focused on staying within vscode. When a problem arose, I stopped and thought about it, the way I used to. I quickly found myself getting sharper, and producing higher quality code again. That's not to say I never use LLMs, I use them very often! If I'm researching a problem, and someone mentions an approach I'm not familiar with, I use the LLM to help explain to me what the solution is, and why it works. This is where LLMs shine. Don't understand why code works? Have AI explain to you exactly what each line is doing. Need a better understanding of the difference between two solutions to a problem? Ask AI! The value of having something you can ask these sorts of questions to especially as a beginner is huge. This is how you should focus on making use of the LLMs, not just getting your work done for you.
TL;DR
Use LLMs as your programming tutor. Don't let it replace your thinking - use it to enhance your understanding! To succeed as a developer you need to stay curious, don't let LLMs dull your curiosity. Stay curious, keep building, keep growing :)
If you're interested in breaking your bad habits, and learning by building something real, check out this free platform I made for finding projects and teammates: https://cruxapp.xyz/
Top comments (0)