You don't need to learn Assembly. You also don't need to learn C. You don't need to learn how to implement an HTTP server when there is a library. It is still good and valuable to know what's underneath, but you can perfectly build a web server using Express in Node.js without needing to know how the web server is implemented underneath, or how the JavaScript code gets interpreted and wired with C++code. You definitely don't need to know C++ to write JavaScript.

But why? Because once you write the JavaScript code, if implemented correctly, it is guaranteed to work the same at all times, even though it triggers some C++ code underneath. This is called an abstraction.

As developers, we love abstractions. And we owe a lot of the current tech's ease to abstractions. Because they guarantee us that if we correctly use the abstraction, it will work.

function fetch(method, url, payload) {
    // some deep implementation most likely uses other abstractions as well
}

When you run fetch('POST', 'https://exampleserver.com', {"text": "some data"}) in Node.js, you don't care about the TCP connection or TLS. It is simply none of your concern.

Now let's talk about AI codegen (a.k.a. coding agents, a.k.a. agentic coding). I love that I can describe something and get a working prototype in minutes, if not seconds. But does it mean I should stop looking at the code? IMHO, No.

Prompts and specs are not abstractions. They are rather guidance for the implementation than abstractions. There is no guarantee that a correct spec or prompt is going to lead to a correct implementation in code (although it will likely lead to a correct implementation depending on the programming language, libraries, uniqueness of the project, etc.). Code is not some intermediate step that we can ignore; it is the final product of the intermediate steps, including research, writing code (whether by hand or generated with AI), testing, etc.

At the end, what gets executed is the code, not the spec nor the prompt. So every line of code that gets executed is a liability and has a chance to shoot you in the foot.