In the age of AI, is it still worth it to learn programming?

Yes.

The two things that allow a software of any kind, to have any sort of longevity are: Readability and Maintainability.

AI software development tools are rapidly becoming more and more powerful. Many people argue that with the sweeping industry-wide developer layoffs that this is a sure sign that the need for development work is on the decline. But this is not necessarily the case, and there are several reasons for this; 1. The Pandemic made things weird, and 2. AI advancement does play a role in how the nature of development work is evolving.

During the pandemic a large amount of people were hired in order to help with a globally strained tech infrastructure as video calls became vital to keep companies running as people were taking emergency social distancing measures. Simultaneously, after the pandemic, we saw a drop off of need for the workers added to reduce the strain on the industry, while at the same time AI has rapidly evolved and changed the game in terms of how to provide the most value as an individual worker.

AI makes it so that it’s harder to become a senior developer, due to how it’s drastically changed the way we learn. Of course you can ask an AI model to write code for you, but that code doesn’t always work, or it’s not optimized for your current project, or it adds technical complexity that the AI has no context of in the larger project, and sometimes it can’t quite find the solution you’re looking for and you end up needing to use your flesh brain to solve your issue like a lowly peasant.

And even though it DOES know everything about everything that has been posted online about how to develop any type of software, it STILL can absolutely not come up with novel ideas, only re-mixes of the ideas it already has. So if your problem isn’t similar enough to what it already knows, you still need to rely on good old human novel ideas.

You still need to understand how the piece of code that an AI generates fits into your code. You still need to be able to check that code for mistakes.

Things are rapidly evolving though. It’s genuinely hard for anyone to keep up.

But, even though the nature of programming has a new, highly-complex layer of abstraction to learn and work with, you are still at the heart of it all, weather it’s a prompt for an ML or hand-writing code, we’re still just writing a set of instructions that a computer can understand and execute on in the desired way.