Mahdi's Engineering

why i won't deliberately use AI for programming

2 min read

As of 2023, with the emergence of generative AI and tools like chatGPT, the integration of AI into developers' workflows has become quite common. AI now comprehends our code, offers suggestions, generates different kinds of tests, and provides explanations that would otherwise require manual searching on Google or Stack Overflow.

Back in 2021, I had the opportunity to try out the beta version of Copilot, and I must say, it was truly astonishing (still is!). It significantly slashed the time I spent writing repetitive code, although there were instances when it ended up being a bit obtrusive. At that time, I began learning Go, but I had to disable the GitHub Copilot extension. This was because I was trying to grasp the language's syntax, but the extension was consistently auto-completing my code, creating a bit of a hindrance.

Apart from that observation, I stumbled upon an interesting idea, which called "collateral knowledge" or "chain of learning." This simply implies that while attempting to grasp new concepts, numerous questions might crop up that encourage you to delve deeper and acquire additional knowledge. This chain of curiosity and learning contributes to personal growth and a better comprehension of the world around you. Particularly in the realm of programming, it can transform you into a more adept software engineer, moving beyond the role of mere developer.

Using AI for learning is akin to consuming fast food – it's quick and easy, but lacks substantial nourishment. While it's true that you can generate a plethora of data by employing multiple prompts to learn various things, this doesn't quite compare to the experience of having over 30 tabs open, toggling between them, and grappling with the material until you truly understand it. In my view, the more effort you invest in understanding concepts, the longer that understanding will endure, and the more effectively you'll be able to apply it across diverse scenarios.

Use AI for text-formatting, composing emails and other shallow tasks, but not for learning. learn it yourself.