This may sound obvious to you, but it isn't. Developers commit code which they neither understand nor question. Maybe it worked in the first place. Maybe it will break something else. Either way, it creates the base for technical debt, bugs, security vulnerabilities, and even worse: developers who do not grow.
This problem was surely not created by AI, and it exists for a long time already, but the rapid adoption of it is amplifying those effects.
For decades, developers have turned to online problem-solving platforms like Stack Overflow or a mailing list to get unstuck, find quick solutions or grab that oddly specific regular expression pattern they are not able to write from scratch.
If code is used without understanding it, developers are taking on a piece of logic they can't defend, debug, or explain. And when something breaks, they're left with a broken feature and no clue why it worked in the first place.
AI tools like ChatGPT, GitHub Copilot, and others are making it easier than ever to generate working code with minimal effort. But just because a tool gives you an answer doesn't mean it's the right answer or even a safe one.
On Stack Overflow, for example, developers could discuss proposed solutions, debate their trade-offs, and suggest improvements. These discussions meant that bad solutions often got called out, edge cases were discussed, and developers could learn why something worked, not just that it worked.
With AI tools, that collaborative learning and quality control layer is gone. There is no community to challenge a flawed suggestion or point out a more elegant approach. It is solely up to you to verify, question, and understand what the AI provides. Before committing any AI-generated code, read through every line and make sure you actually understand what it does. Test it thoroughly and don't just assume it works because it compiled or passed one basic check. If something isn't clear, ask the AI to explain its reasoning. Why did it choose this approach over another? What assumptions is it making?
Use every tool available to you, but don’t outsource your understanding and critical thinking. That is what separates a good coder from an average one.
Copying code is not inherently bad - but copying without thinking is. As tools like AI make it easier to build software quickly, it becomes more important than ever to stay grounded in fundamentals and never to stop learning.
You should know what you are doing
You should know what you are doing. Your future self, your users and your colleagues will thank you.