Here are a few books that I found useful when I was starting out as a web
developer. I originally wrote this list for a friend who is wrapping up his
Computer Science degree, so the emphasis is on practical rather than academic
These books touch on a lot of non-technical areas of the trade.
I love the structure of Apprenticeship Patterns. The book consists of small
pieces of advice, each of which ontains a context, problem statement, solution,
concrete action to take and list of related advice. An example is something
like, “Be the worst.” In other words, try to work on a team of people better
Meanwhile, Coders at Work was so intimidating — Sibel found some legendary
programmers to interview — that I had to put it down a few times because it
made me feel like a sham.
Special shout-out to Code Complete 2 for its excellent coverage of debugging,
one of the many dark arts of our craft.
This list is a mix of titles that describe concrete pieces of web application
architecture and high-level guides to building those pieces.
The Architecture of Open Source Applications series is probably the coolest
idea for a technical book that I’ve heard of. Each chapter in the two volumes
features a team member of an open-source project giving a high-level overview
of how the project or a component works.
Meanwhile, Programming Amazon EC2 seemed dated even when I read it, but it
was still a good intro.
Both volumes of The Architecture of Open Source Applications are available to read online for free. They are also available as paper books and ebooks for a fee.
The backend language used for a web application can be anything, but on the
have much experience with jQuery, read up on it because it’s what most people
use for DOM manipulations and AJAX calls. Finally, dip your toes into faster
water with the excellent Developing Backbone.js Applications. This book
one of the most popular JS frameworks around today.
You should also check out CoffeeScript, which is a language that compiles into
documentation is short enough that you won’t need a book.
You should understand CSS, though most teams now use tools like Sass to write
These books are the most technically fun. Since almost any programming language
has networking libraries, they’ve all been used to create HTTP servers, web
frameworks and at least a couple of production sites or web services.
My web programming language of choice has been Python for a few years. Titles
like Programming Python were a nice read back when I was learning the
language, and the Django docs are a testament to how open-source software
documentation should read.
For fun — and because I’m always looking for better tools and ideas — I
learned Clojure and Go in recent years. Joy of Clojure is probably the best
A few basic algorithms and data structures titles that I return to most
frequently. Anyone could write a better list.
SICP is a classic, but I didn’t finish it. In fact, I’m “still reading” all of
Choosing a text editor was one of the first steps that led me to feel, if not
experience, more mastery as a programmer. I chose Vim first, and there aren’t
many books about more modern editors, so these items focus on Vim.
Learn Vimscript the Hard Way is a more in-depth look at programming Vim than
anything I’ve found. The one or two chapters on the subject in the other Vim
books pale by comparison.