Engineering is defined as the branch of science and technology concerned with the design, building, and use of engines, machines, and structures.
In the Computer Science context, this is data structures, paradigms, software architecture and so on and so forth (one would agree that certain related stuff like ML algorithm creation and optimization belong primarily to the Mathematical Realm and not to CS).
Coding is, in this context, the ability to materialize these concepts.
For the sake of answering the question on a way that can lead to knowledge increase, I assume, by reading the comments of the OP that the main concern is “how things behave under the hood and why is this working”.
To answer that we need to understand how a transistor (a.k.a. transfer resistor) works so you can understand how digital computers work (by using zeroes and ones), then understand binary and how can you encode information in binary, then you reach C++, code a program and compile it.
You’ll receive binary code so gap fulfilled. Now if you want to understand how a C++ compiler transforms our code to binary code (parse trees and so), but now how the program runs? This opens the door to Random Access Memory, Data Storage etc to understand which are the steps on computing something and why.
Then maybe you reach JS to create a UI and some backend services in Node to bring something to life while using interOp with some C++ program for a critical building block of your software architecture.
This requires knowing how V8 engine works, whats the JIT compiler, how does it does its thing, what are the OSI model to understand how internet layers work, how JS runtime interacts with Cpp executable and so on and so forth.
You can keep on going for ages, so to avoid falling into an endless spiral, the first thing you should do is going to the fundamentals.
There’s a book called Computer Science, an overview by J Glenn Brookshear which I recommend to anyone that wants to become a professional on CS.
It will give you the required surface knowledge regarding the big picture of CS which you can then explore by knowing the concepts (it’s way easier to find details of something if you already know that it exists) plus the book provides a good amount of information that helps on connecting the dots an understanding the whole much better.