I finished my final semester on May 14, 2026. On that day, while waiting for someone, I picked up my phone and applied to a company which is known to rigorously test candidates for their language skills, OOP understanding, problem solving, and DSA knowledge.
At the time, I knew my chances were bleak, and that months of relying on coding agents and copy pasting AI code have diminished my true engineering skills.
I recall a month before that I was trying to solve TwoSum, a very simple coding problem, but could not structure my thoughts into the step by step instructions a program follows.
The Poison Behind AI Hype
I fell into the same poisonous trap that AI companies want every engineer to fall into: unconscious ignorance.
You open your AI IDE, you already know some JavaScript (or maybe don't), so of course you think to yourself "I'll let the AI handle the coding and I'll just review the logic".
Cool. Somehow a very basic understanding of a language to you is enough to understand complex frameworks that abstract a lot such as nextjs.
But that is so wrong. You see, unless you understand how something works, you can never identify its bottlenecks, inefficiencies, and bad practices. You might use AI to build something that works, but not scale. And ask any seasoned engineer, they will tell you the same thing: code maintainability matters just as much as functionality.
This gets me to the point I'm trying to make. Overreliance on AI tools has got me to the point I am unknowingly ignorant to the point I think I know a certain language, framework, or technology, just because I have a project built with it, but in reality I lack a deep understanding of how it works, and can't truly build, debug, or explain snippets of code from it without AI assistance.
The Consequences of Ignorance
From my personal experience, here is what months of ignorance and overreliance on AI tools did to me:
- Inability To Understand Generated Code: Even in languages and technologies I already understood, the sheer amount of AI generated code and the speed it was generated at overwhelmed me. Reading through the code felt unnecessary when the app worked, and even felt like doing so slowed down my progress because the AI Agent knew the technology more than I did.
- Inability To Write Code Without AI: I lost my ability to write code on my own, which also impacted my ability to debug and understand what certain issues are being caused by.
- Lack of Confidence In My Own Skills: Not being able to explain the code, understand how it works, or even writing it myself made me feel already replaced and worthless to the industry. While my resume listed a few skills, seeing how AI can do things better and faster than me felt like racing on foot against a race car.
- Lack of Engineering Depth and Specialization: Building projects with AI stripped me of engineering depth and reduced me to a client who is requesting new features or changes to existing ones. I could build projects across different stacks with AI, but I had very little understanding of these technologies, and zero depth or specialization in a particular field. This in particular made it a nightmare to know which jobs to apply for.
Fighting Back Against Ignorance
I knew that if I wanted to get that job and grow as an engineer, I cannot continue being an "autonomous prompt writer". Either I understood what I am working with, or I continued building fragile projects that look good on the outside but have no future prospects to scale and get used in the future.
I took a few steps to guarantee I regain control of my code and engineering career:
- Revisiting Language Basics: Because I was applying for a Java position, I took the time to restudy everything about Java and how it works under the hood. This allowed me to understand unsuspecting quirks which could cause performance overhead and are considered bad practices.
- Studying OOP Best Practices: I read tons of articles on OOP, and tried solving a few OOP problems such as Design a Parking Lot. OOP is a foundational skill that accompanies all engineers in their whole career. Without OOP knowledge, there is no design pattern knowledge. Without design pattern knowledge, there is no clean code.
- Consistently Solving DSA Problems: For two months straight, I solved 2 or 3 coding problems from the NeetCode 150 playlist, which is a wonderful resource available for free online. Some days I would solve more, but solving every day mattered to me more than how much I solved per day. This helped me get comfortable with Java, and relearn how to think step by step, and reason about each approach I can think of. It prepared me for technical interviews in any way possible, and retaught me how to write code again.
- Learning Using the Old Way: I'm going to be bold. Using AI to build a mediocre project for you using a new technology and pretending that reading what it writes is doing you any help is the reason you are unknowingly ignorant. Unless you understand the tech stack, you have no idea what the code you are reading does, so how is it even teaching you? I found that learning using the old way of reading articles, tutorials, documentation, and googling are the best way to pick up a new technology. In particular, I found that building by hand, with minimal AI assistance (treat it like a tutor not as a code generator) is the best way to learn a technology. There is no growth without struggle, so build your own projects and google the uncertain aspects of your work if you want to learn.
The Outcome
Today, after passing a technical exam and an interview, I got the job I wanted, and I start working very soon.
I can look back and compare myself to who I was 2 months ago, and see a tremendous change.
I can finally read and understand code I did not write, write my own implementations, reason through different approaches, discuss best practices, and use AI without being reliant on it.
Mastering the fundamentals has helped me lose my anxiety regarding my skills and the uncertainties of the job market, and has given me a clear picture of what I should be working on in the future to progress and grow as an engineer.
If you felt the same as I did, try to integrate my advice into your life, and let me know how it goes after a few consistent months.