Plenty of people write code for a living without ever learning what a computer is. It works until it does not — until performance, concurrency, or a subtle abstraction leak demands the understanding that bootcamps skip. Computer science fundamentals are the bedrock that makes everything above them feel less like magic and more like engineering.
The subject has a natural order, from the physical to the abstract. First understand the machine itself, then how programs run on it, then the theory that defines what computing can and cannot do. Following that arc means each layer explains the one you already learned, and this path is built along it.
Understand the machine
Start with Code. Charles Petzold builds a working computer from relays and switches, so binary, logic, and memory feel earned rather than memorized. Then The Elements of Computing Systems — the famous "nand2tetris" — has you build a whole computer and compiler from first principles, which cements the ideas by making you construct them. But How Do It Know is a gentler companion that explains the CPU's fetch-decode-execute cycle in plain terms, and Computer organization and architecture by Stallings is the thorough reference for how real hardware is structured.
See how software runs
With hardware understood, move up a level. Computer Science Distilled is a fast, friendly overview of the core ideas — complexity, data structures, logic — that orients the whole field. Grokking Algorithms: An illustrated guide for programmers and other curious people makes algorithms visual and approachable. Then Operating Systems: Three Easy Pieces explains virtualization, concurrency, and persistence — the three problems every OS solves — and Computer Systems: A Programmer's Perspective (3rd Edition) connects your code all the way down to how the machine actually executes it.
Grasp the theory
Finally, the deep ideas. Introduction to the Theory of Computation by Sipser covers automata, computability, and complexity — what is possible in principle — and Structure and Interpretation of Computer Programs (SICP) teaches the nature of abstraction itself, changing how you think about programs forever.
Follow the path in order and you will understand computing from the transistor to the theorem — the foundation that makes the deep-learning, security, and networking paths click.