TLDR: I am changing my AI usage Habits due to reduced critical thinking skills, shortened attention spans, and degraded programming ability.
I started my BS in Computer Science in September 2022. I went through my first programming course the way any computer science student would at then time:
Digging through error messages, trying to trace the flow of execution, crying over an infinite loop whose existence makes no sense.
But I was very grateful, having no option other than to put your head down and try to figure out how to make your program run taught me the proper way to go about things, that was until things changed for ever.
In late December 2022, OpenAI released ChatGPT, a weird chatbot that seemed unreal, I could ask it for code and it would generate it (and it works), I could give it my code and it would notice syntax errors, logical errors, and even implementation mistakes and offer how to improve them.
I used it as a tool to study for my final programming exam, understanding how sorting algorithms worked, why my instructor used this approach, and other things.
My second semester came, and I refused to use it to do the coding for me, beside some guidance on how im thinking about a problem. However I did use it to do my english papers and summarize texts.
Semester by semester came, and I surrendered more control to this weird tool, until I suddenly I could not go a day without asking chatGPT about anything.
In my last semester, I had 3 projects, and no time, I used ChatGPT to code all 3 projects, I oversaw the code, the logic, made adjusments if needed, and went on my life. And mind you, I did well in all 3 projects, and I knew what I was doing (for the most part). But I realized I was not able to critically think like before, couldnt code on my own, my attention span became much shorter.
End of uni was approaching, I started applying to jobs, I got invited to an interview, and got asked your most typical interview questions: Two Sum, Sorted Two Sum, K most occuring elements, etc …
And I am ashamed to say, I struggled. I could say how to solve it out loud (‘just use a hashmap and check if the sum minus an element exists in the array’), but when I went to code it, I would feel immense brain fog, I would struggle with syntax, with debugging, with basic implementation.
Over-reliance on AI had, effectively cooked me. I was no better than a first year student using AI to mindlessly copy and paste code.
I started doing leetcode and refraining from using AI, I would glance at a problem, try to implement, fail, try again, look at the explanation (shout out neetcode), and I would try to write the implementation myself.
I managed to get a bit better, and by some miracle landed a job at wafeq.
But I still suffer from an overreliance on coding agents like cursor and chatGPT.
Sometimes I would copy paste code from cursor because I did not understand the codebase enough to know if the code I am pasting belongs there, or if what I am writing makes any sense.
It got me thinking, I am still weak at programming.
So now, I am trying to undo the 3 years of damage and brain-rot.
First, by fully stopping the habit of copy pasting code and skimming it. If I do not understand every single bit the AI has given me, and know how the codebase implements things, I will not copy and paste that code.
Second, by using the AI only in the following ways.
- Ask it to explain a portion of code, or write documentation for it, then I read the code again on my own and try to understand it.
- Use it to give me examples of usage of a certain pattern, or component, my senior calls this ‘using AI as a glorified grepper’
- make suggestions on how to approach a task, implement it, but not fully, use it a tool to bounce ideas off of.
Aside from work, I am trying to restore my attention span, cutting off long duration usage of TikTok, Instagram, watching long youtube videos without skipping.
Critical thinking wise, I am trying to read documentation from the website by myself without GPT reading it for me. And write on my own again. Including articles like this, without any use of AI whatsover. even if i make any mistakes (including the intentional one I just made).
Implementation wise, I aim to go about leetcoding again, and websites like Project Euler.
It will take a lot of time, and I will have to keep using AI as a tool in this rapidly moving market. But staying on the old way, I will never reach a senior Position, Senior Devs don’t just know libraries and frameworks, they understand how they work under the hood, their design choices, their implementation, and think how they can utilize/improve them. With AI Copy and Pasting, I would remain a half-baked junior at Best.