After a year or so using co-pilot and its cousins, I coincidentally tried a new editor and never got around to install any AI support there. I realized that AI had sneaked in on me: It had made me unlearn syntax that used to be second nature. Simple things I knew how to do before, I suddenly had to look up. That made me wonder:<p>Is the true cost of using AI, which, in its current form, I deem as "autocomplete on steroids", not the subscription you pay, but the decay of your skills?<p>And if AI decays part of your skillset, to what extent do you think that part of your skillset even matters given the trajectory of AI for coding?<p>Have any of your stopped using AI directly in your editor for similar reasons?
I think you have to ask yourself the following two questions:<p>1. Is the code that the AI generated something that I would have come up with minimal intellectual effort? (i.e. the majority of the time spent on it would have been looking up syntax, physically typing it, etc. and not higher level thought)<p>2. Do I understand what the code is doing, how to debug it when it throws an error, and can explain what it is for?<p>If you answer yes to both questions, AI isn't causing you to lose anything important.<p>That sort of code is like long division in math: it's disconnected from your actual understanding of the core concept.<p>If your answer is no to either question, AI might be dulling your coding skills. It's not a guarantee (perhaps you just forgot something that a simple Google search would have helped you remember), but it's a first check against AI eroding your skills.
I recently stopped using AI directly in my code editor, and I've felt similarly. However I have noticed I regain the lost syntax knowledge very fast. I think at the end of the day our jobs aren't to memorize syntax, that comes, goes, and changes with the tech we use. Our jobs are rather to have the knowledge needed to engineer software, and AI is just another assistant. I will continue to have it off in my IDE for a few more weeks, but I don't fear the loss of syntax knowledge (to a certain extent)
Let me start by saying that I am an experienced developer, so I doubt I'd unlearn syntax any time soon. Also the way I write with AI still has me writing a lot of the code. I use Cursor.<p>The way it helps me is in refactoring it sees 1 example and will apply the same pattern in the following 10 places in the code and it will suggest tailwind classes for colors, etc pretty accurately. That is in Rails.<p>Using AI has let me write pretty complicated Python applications, production ready, in an hour per application, even though I know no Python.<p>The other day in minutes I produced a bash script that let me loop through all sub-directories of a given directory, find all mp4 files, check with ffprobe if the audio stream within was flac or m4a, saved all metadata from those files into JSON using a python script it wrote and then ran ffmpeg to convert the mp4 to either flac or m4a and then reapply the metadata, if the filesize difference was within 800kb it would auto-delete the mp4.<p>All that in a few minutes. Obviously I could've done that either in Ruby or Bash, but this was way way way faster and it would help me debug things super quickly too.<p>I sometimes disable the AI suggestions when I am writing some novel code, but overall AI has released me from writing the 'boring code' and it allows me to leverage libraries and tools from different languages if the use case requires it. Super powerful!<p>I do understand I have the advantage of experience without AI so I am able to steer the AI towards solutions that my experience tells me are useful and I can judge the produced code pretty well. I have no idea how this all feels to a junior developer and whether it does more harm than good to their learning experience.
If remembering unimportant syntax differences between languages (e.g. "===" in TypeScript and "==" in everything else) makes you a good programmer, then yes. Or if remembering how to assign variables in stored procedures in MySQL makes you a good programmer, also yes.<p>But overall my ability to design, debug, and maintain code hasn't been dulled by having some of these minutiae stripped away. It actually frees up time and mental effort, so it's easier for me to spend time doing more important things.<p>I'm not a huge CoPilot advocate and worry a lot about the quality of code that a less-experienced dev is going to produce by leaning on it too much, but having written millions of lines of code by hand, it doesn't make me feel like I'm losing anything valuable.
If you're genuinely worried about it, give yourself a weekly "off-day" where you take the AI training wheels off. Closest equivalent for me is I'll occassionally write Chinese by hand. Do I really need to in the age of modern IMEs like Sogou? No, but I appreciate the deliberate cognitive load.
No. I use AI as a fast but stupid research assistant. It aggregates information to point me in the right direction but I don't trust it at face value. I tried copilot for the first time last week and found it useful for writing bash boilerplate but not much else.
No. It's made me a much better and more effective programmer, by a huge amount.<p>I'd still be able to get stuff done without AI, and sometimes do, as a practice, but it'd be a drag.