My learning habits have changed over the years. Now most of my learning takes place via Pluralsight, Lynda.com, or YouTube on my iPhone 8 Plus. I try read one book every 1-2 months. They're not necessarily technical, as I love novels, manga, and learning about life. What follows is a list of books that have made me grow as a developer.
If you want to improve your coding skills, this book is a must. I think it should be read twice. Once as an advanced beginner, and again when you've become proficient in your language of choice. There are many constructs in programming that we take for granted: while loops, gotos, if-statements, etc. This book shows you when you're "doing it wrong" and why. It undos some of the bad habits you may have picked up in your beginner computer science courses. If you want to write cleaner, understandable, efficient code, I cannot recommend this enough.
C# 5.0 Pocket Reference
This and version 4.0 of the book is something I carried around everywhere. Left it in the car, or near a high traffic area at home. Whenever I had little bursts of downtime, I would pick this up and be reminded of something I forgot or learn something new altogether. For quick reference though, I always turn to Mr. Google.
Designing Web Usability
Oldie, but goodie. Defines the building blocks of usability. Strips out the artistic side of building a web site for a more efficient= focused approach. How can we do this with less actions? Is this clear to the user? If we add more clicks and scrolling, does it actually make it more intuitive? Covers the architecture of a website down, single pages, conventions, and the psychology of users.
High Performance Web Sites
IIS Administration and Programmer's Guide to Internet Mail
These are two different books. Only the IIS one is listed here. If there's a subject that will put me to sleep, it has to be IIS and basically any protocol like SMTP. Nonetheless we can't deny the importance, especially for me since I use it every day. It's my behind-the-scenes friend that I often take for granted. Heck, it's my last phase of troubleshooting a bug when I know it just CAN'T be my code. The same goes for emailing. These two books, although I wouldn't necessarily call them the greatest reads, were influential in that I got a deeper understanding of the web.
Joel on Software
This is based on a series of Joel's blog posts. If you don't know Joel, he cofounded Stack Overflow, was a program manager for Excel, and works on Trello. While I don't always agree with his viewpoints, this book covers important topics in software development. His writing style is very real-world and no nonsense. The book was published in 204, but the ideas still apply today.
The Pragmatic Programmer
I consider this book a must. Basically, if you've done programming for about a year, this will take you further by showing you what's possible in the world of software engineering. It focuses on productivity: which tools to use, what conventions to follow, how to structure your code. Quick reads, so no excuses! :)
All developers have to gather requirements at some point. Business, technical, etc. How do you gather them? What questions do you ask? How do you organize requirements? When is too much or too little documentation? How do you communicate with a business analyst? With stakeholders? This book was a good eye-opener for me. When I first started my path as a software engineer, I thought, "What is there to know about the subject?" Then I took a look at this book... yeah... that much.
Web Form Design
As a front-end developer, sometimes you'll be tasked to create/modify a form. What's the best design pattern for the job? There are several human factors to consider when designing a form and its controls. Should we align left all the fields? Align center? What about validation messages? Another must-read for all developers.