In my Applied AI Cohort, at the end, when we chit-chat, someone asked this question: Given that AI is generating most of the code, is it even useful to learn new languages deeply? Here is my take.

You should learn at least one programming language really well - like, really, really well - and know the specifics of others.

For example, if you are building something in Go for the first time, you can get far by prompting your way through it. You can ship working code without knowing the basics.

But yes, you can read the code, but can you truly understand it? Let me double down…

Go has goroutines and channels. Rust has ownership and lifetimes. These are not syntax details; they are mental models.

AI can generate code in a language you do not know, but it cannot generate intuition for a language you have never understood.

When a deadlock happens, memory usage balloons, or a race condition surfaces, you need that mental model to reason about it. AI cannot hand you that reasoning.

According to me, what AI changes is the ramp-up time - more specifically, syntax friction. That cost is now close to zero. The remaining work is the interesting part: building intuition for how the language thinks.

So, you do not need to memorize every standard library method in every language. But you do need to deeply understand at least one language and then pick up the specifics of others as needed.

That depth in one language gives you the mental model to reason about all the others.

As engineers, our job is to solve problems, not necessarily to write code.

Arpit Bhayani

Principal Engineer II at Razorpay - building Agent Studio, Ex-staff engg at GCP Memorystore & Dataproc, Creator of DiceDB, ex-Amazon Fast Data, ex-Director of Engg. SRE and Data Engineering at Unacademy. I spark engineering curiosity through my no-fluff engineering videos on YouTube and my courses