My post about an MIT programming experiment resonated with many of you and led to a lively debate 🗣️. It’s clear that while we agree mastering a domain requires serious dedication 🎓, there’s less consensus on which skills we need to master in the era of AI assistants 🤖. This debate has two main perspectives:

On the one hand:

• Some believe English will replace traditional programming languages like Java or Python 📝. Natural language becomes the new abstraction layer. There is no need to understand the output of the AI. Clearly articulating the desired outcome in English is becoming the essential skill.
• Any limitations in current coding assistants will soon be overcome by more powerful AI models 💪.
• Detractors live in denial and are just afraid that their hard earned skills are now obsolete.

Others believe that:

• The abilities of large language models are overestimated. The user interface of OpenAI’s newest model (o1) uses words like “thinking” and “understanding” but it does no such thing ❌.
• Developers remain instrumental in understanding the business domain, designing the software architecture, and breaking down the problem into smaller parts that the AI can handle (write code for) 🔧.
• Developers also still need the skill to understand the AI generated code because they have to validate its quality and they will have to maintain it 🛠️.