One of my favorite pastimes is reading. When I started out as a developer, I would read anything I could get my hands on. And, since I was cheap, I tried to find as many free books as I could. What follows is a list that I've accumulated over the past few years of fantastic, completely free material that has helped me grow as a developer.
A quick note before I get started: If you like what you're reading, consider either buying the original source material or making a donation to the author. When you do that, you are paving the way for even more publicly available, high-quality material. Okay, here's the list!
Software developers are designers by extension. We interpret (or sometimes ignore) what we are given by designers. If you want to become a better developer, I would argue you need to build empathy for good design.
When I grow up, I want to be Brad Frost. His material was heavily inspirational in my early freelance web design career. In Atomic Design, Brad introduces the concept of how to break a web design down into systems instead of pages. This is required reading for anyone who designs or develops design systems. This is one book I highly recommend buying.
Jeremy Keith is a thought leader in the web design community. This book (beautifully designed for reading on a screen) is a call to embrace inclusivity in web design and development. This book, and anything written by Jeremy Keith, makes me want to be a better web developer.
Frank Chimero's treatise on design is both beautiful and useful, whether in digital or printed form. You will come away from this book believing that, as software developers, we are uniquely positioned to build things that can shape the design of this world.
If you want to become a better frontend developer, you need to learn what makes for good typography. This resource by Matthew Butterick is an extensive journey through the core concepts of typography. Bookmark this and return to it frequently.
Frontend Masters is an online learning website that is known for their quality, up-to-date front end info, and starting in 2018, they started releasing these nice handbooks that highlight some current front end best practices. I highly recommend both the handbooks and Frontend Masters' paid content.
Kyle Simpson knows JS, and he also knows functional programming. To prove it, he wrote a whole book about it. This book, squarely aimed at the beginner, effectively introduces the core concepts of functional programming, something I'm excited about. There's even a Frontend Masters class if you are so inclined.
Okay, this is definitely an advanced book. Functional programming is one of those concepts that takes a while to get, but in my opinion, it's well worth it. This book introduces the core concepts of functional programming through the voice of Professor Frisby, a cute, unassuming badger that somehow learned to type and then get tenure at university. Later, the book gets super heady. I honestly struggled to finish, but the beginning stuff is gold.
I learned about The Twelve Factor App from David Ayers, who was the Technology Director at the time I started at The Container Store. It piqued my curiosity regarding technical architecture, and now I'm actually starting understand some of it.