I'm a computer engineering senior graduating in December, and I've become heavily dependent on AI coding tools during my last three semesters. I made it through data structures and algorithms with relatively little assistance at first, but my reliance gradually increased. Now I want to work in software development, yet I struggle with impostor syndrome and feel unprepared compared with my peers.
My conceptual understanding seems reasonable, but when I start a project or try to implement a solution myself, I often don't know where to begin. I get stuck on breaking the problem into steps, remembering syntax, and turning an idea into working code. I've been using NeetCode to review algorithms; I can often recognize or explain an optimal solution, but implementing it independently is much harder.
What would be a good plan for rebuilding these skills? I'm considering redoing old assignments and exams without AI, working through a textbook or structured course in one language, and building a small project incrementally using documentation instead of generated code. I'd appreciate practical advice on developing independence, debugging, and problem-solving again.
5 Answers
You don’t necessarily need to ban AI forever, but stop letting it produce the solution. Treat it like a teacher or code reviewer: ask about a narrow concept, request an explanation of an error, or have it critique code you already wrote. Make sure you can explain every line and why each alternative might be better. If it writes the implementation for you, you’re skipping the exact practice you need.
Before writing code, describe the solution in plain language or pseudocode. Break the project into very small tasks, such as reading a file, parsing the data, transforming it, and writing the result. Once each step is clear, translating it into syntax becomes much easier. The bigger issue may not be memorizing syntax, but learning how to decompose an unfamiliar problem into manageable pieces.
Algorithms practice is useful for interviews, but it won’t automatically teach you how to build software. Pair it with a structured language course, textbook, or project-based curriculum. Work through exercises from start to finish, including debugging and testing, rather than looking only at the optimal answer. A roadmap or guided course can provide structure if independent study feels overwhelming.
Impostor syndrome is common even among people who learned before generative AI, but in this case there is also a real skills gap to address. That’s not a permanent judgment; it just means you need deliberate practice. Choose one language, build progressively larger programs, read the documentation, and get used to being stuck. Consistent hands-on work will reconnect the concepts you already understand.
The most direct fix is to build things without AI assistance. Pick a small project, write the code yourself, and use official documentation, books, search results, and carefully chosen tutorials when you get stuck. The frustration is part of rebuilding the skill. Redoing old assignments and handwritten programming exams can also expose exactly which fundamentals you’re missing.

I’m going to revisit my old assignments and Java exams without AI, then build a small project gradually using documentation alone. I have a lighter course load this semester, so I want to use that time to rebuild the fundamentals properly.