I'm a computer engineering senior graduating in December, and over the past three semesters I've gradually become heavily dependent on AI-generated code. I managed my data structures and algorithms course with limited assistance, but my reliance increased over time. Now I understand many of the concepts, yet when I start a project or try to implement a solution myself, I often don't know where to begin and get stuck on basic syntax and structure. I want to work in software development, but I'm worried about my skill level and feel behind my peers. I've been using NeetCode to review algorithms and can often recognize the optimal approach, but implementing it independently is much harder. What would be a practical way to rebuild my programming ability from the ground up?
4 Answers
You don’t necessarily need to ban AI forever, but change its role. Treat it like a tutor or code reviewer: write your own solution first, then ask for an explanation, hints, tests, or feedback. Make sure you can explain every line and reproduce the solution afterward. Keep notes about concepts you repeatedly miss and build a separate practice project around those gaps.
Start building things without having AI write the code for you. Pick a small project, break it into tiny tasks, and expect to get stuck. Use language documentation, books, regular search results, and technical articles to solve specific problems. The goal is to rebuild your ability to debug and work through confusion instead of immediately receiving a finished solution. Working through old assignments and handwritten exams without assistance would also be useful practice.
I’m planning to redo my old assignments and Java exams without AI, then build a small project that I expand gradually while relying mainly on documentation.
Before worrying about syntax, write down how you would solve the problem in plain language or pseudocode. Then turn each step into a small function or task. When you’re stuck, ask a narrowly focused question—such as how to read a file or parse JSON—instead of asking for the entire program. This develops the missing skill of breaking a vague goal into manageable pieces.
NeetCode is useful for interview preparation, but it won’t necessarily teach you how to create and organize a complete application. Spend time on a structured course or book in one language and complete the exercises yourself. A roadmap or guided curriculum can provide direction, but the important part is writing, testing, and debugging the code rather than just recognizing the correct solution.

For example, if you know how to build an API but don’t understand the persistence layer, make a small project focused only on that technology and document what you learn as you go.