Resources to Become a real Software Engineer
These books cannot be read as storybooks, at least from my point of view. Rather than trying to read cover to cover, you should instead try to go through the exercises they might contain. Trying to understand and seeking necessary help will do you a great favor in this journey of yours
This book focuses on the bigger picture when building out programs. It does not talk about syntax, but rather the basic constructs every engineer should know. Github repo also available here
For this book, I found a public repository that contained the PDF. As a software engineer, you build your software on, well, a computer, which in itself has an operating system that abstracts what is happening from you. This book will dissect the fundamental concepts of an operating system, which are crucial for any engineer. Operating systems manage resources, handle processes, and provide the foundation upon which software applications run. Gaining insight into these core concepts can greatly enhance your ability to design and develop software effectively and understand why certain things are done the way they are.
Just like the book above, this one focuses on explaining low-level stuff to the programmer. These explanations are what will be the defining difference between someone who knows how to code and someone who is an engineer. Topics like processes, threading, caches, and file systems are all explained here. The link above is to the course, taught by the author. For the book, you can go here