Free Online Web Design and Development Books
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!
Web Design
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.
Atomic 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.
Read Atomic Design by Brad Frost.
Buy Atomic Design by Brad Frost.
Resilient web design
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.
Read Resilient web design by Jeremy Keith
The Shape of Design
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.
Read The Shape of Design by Frank Chimero.
Buy The Shape of Design by Frank Chimero.
Butterick’s Practical Typography
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.
Read Butterick’s Practical Typography by Matthew Butterick.
Frontend Development
Learning JavaScript Design Patterns
Addy Osmani is a developer at Google, and back in 2012 he wrote a book that completely jumpstarted my interest in JavaScript development. This book (revised in 2017 online only) introduces the idea of programming design patterns, what they are, why they’re useful, etc., and then shows how to implement some of them in JavaScript. The idea of design patterns in software ignited my imagination, and I haven’t stopped learning since. This is a useful book whether you are a beginner or a more advanced developer.
Read Learning JavaScript Design Patterns by Addy Osmani.
Eloquent JavaScript
This is another book I was heavily inspired by early on in my developer career. Marjin Haverbeke’s introduction to JavaScript is thorough, with great example snippets you can interact with directly in the browser. If you are learning JavaScript, this is a great place to start. I would highly recommend buying this one to have around the house or office.
Read Eloquent JavaScript by Marjin Haverbeke
Buy Eloquent JavaScript by Marjin Haverbeke
Front End Developer Handbook (updated yearly)
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.
Read Front End Developer Handbook 2019
General Programming
You Don’t Know JS
JavaScript can be confusing and frustrating, but Kyle Simpson is here to help you make sense of it all. The YDKJS series focuses on one or two topics per book, and they are honestly the best place to start when you decide to take the JS plunge. Highly recommend you buy these babies (“Scope and Closures” and “this & Object Prototypes” are required reading IMO), but they are totally free to read on GitHub. Oh, and it looks like a second edition is in the works.
Read You Don’t Know JS 1st Edition by Kyle Simpson.
Buy You Don’t Know JS: Up & Going by Kyle Simpson.
Buy You Don’t Know JS: Scope & Closures by Kyle Simpson.
Buy You Don’t Know JS: this & Object Prototypes by Kyle Simpson.
Buy You Don’t Know JS: Types & Grammar by Kyle Simpson.
Buy You Don’t Know JS: Async & Performance by Kyle Simpson.
Buy You Don’t Know JS: ES6 & Beyond by Kyle Simpson.
Functional-Light JavaScript
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.
Read Functional-Light JavaScript by Kyle Simpson.
Buy Functional-Light JavaScript by Kyle Simpson.
Professor Frisby’s Mostly Adequate Guide to Functional Programming
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.
Read Professor Frisby’s Mostly Adequate Guide to Functional Programming.
Software Architecture
The Twelve-Factor App
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.
Read The Twelve-Factor App by Adam Wiggins.
Programming JavaScript Applications
This book by Eric Elliott is a bit long in the tooth (it was published in the ancient year of 2014), but it’s filled with super-useful, still-relevant architectural concepts for building applications that go well beyond the world of JavaScript. Just know this is not a book for beginners. Try reading this after you have a few projects under the belt.