1. Code: The Hidden Language of Computer Hardware and Software
It starts with flashlights blinking through windows, moves to Morse code, introduces electrical relays and demonstrates how they can be connected to form logic gates, then uses those gates to construct an ALU/counter/RAM and multiplexors. It goes on to describe the development of an assembly language and the utilization of input and output devices.
This book will fill the holes in your understanding of how computers work at the base level.
2. Code Complete: A Practical Handbook of Software Construction, Second Edition
Many consider this book to be the best practical guide to software development. It will provide you with a foundational idea on how to "construct" software that includes detailed design, coding, debugging, integration and developer testing. This book can be long and sometimes dry. And some advice is obvious. But it will help give you more confidence when constructing software, when giving code reviews, and when forming a culture of good habits on your team.
5. The Pragmatic Programmer: From Journeyman to Master
The Pragmatic Programmer is a book full of a series of articles containing tips that are meant for programmers who want to be effective and efficient, have team members they need to work with and want to constantly update and groom their skills to advance their career. It is an essential read for anyone who wants a fulfilling career in software development.
6. The Mythical Man-Month: Essays on Software Engineering
This book will give you insights into the nuts and bolts that exist behind large, complex software projects. The wisdom in this book has become so ingrained in the software development industry that people quote it without even realizing it.
7. Don't Make Me Think: A Common Sense Approach to Web Usability
A very helpful usability manual that doesn't read like a textbook. This book is focused on user experience and will give you important lessons on making things for your end-user as simple as possible. Approaching software development with these ideas will help you build things users love to use!
8. How to Win Friends & Influence People
Working with others is a key part of being a software developer. This book will address specific behaviors you should be using with people and give you a guide on how to deal with situations in any type of work environment you may find yourself in.
Build Something Cool & Share It!
Reading books will be extremely helpful for becoming a great Node.js developer. But, at the end of the day, you need to build things and constantly push the edges of your knowledge. There is no substitute.
And when you are done building something, share it! Keeping a continuous cycle of learning <=> building <=> sharing will keep you growing at a consistent rate.
Thanks for reading!