Two essential books every web dev should read

My brother is applying for a jr. web-dev position so I was thinking about what tips to give him. That thought process lead from one thing to another and I realized that two of the most influential web-dev books I’ve read are not ones that would normally jump out at you. These are not replacements for a good HTML or JavaScript book, these are a bit more high-level. No matter what your development expertise (front-end, java, php, ruby, etc) these books will each take you up a significant notch in your web-dev skills and will set your web-applications way above the norm.

RESTful Web Services by Leonard Richardson and Sam Ruby

From the title you might think this is just another book about web services. You would be so wrong. This book is about HTTP. Doesn’t that sound far more exciting? :-) Actually, this book provides the reader with a great understanding of how the web works by looking at the interaction between a web-client and a web application (i.e. a web service). Think of it as seeing how to surf the web without a web-browser. By understanding concepts such as statelessness (which a lot of web applications don’t get right), http response codes, cookies, authentication and request headers you’ll be able to create web applications that work robustly, are search engine friendly, and are very web 2.0 friendly (mashups, json, xml, etc). Get it. Oh, by the way, Leonard is a co-worker of mine but I didn’t know that when I bought the book. It’s always fun to order a book and then see the author and go, “oh hey, I know that guy!”

Mastering Regular Expressions by Jeffrey Friedl

Until you learn them well, regular expressions seem like magic. If you don’t know what they are, the short definition is “powerful, flexible text patterns for doing complex find or find and replace operations.” After finishing the second chapter of that book I was able to do things with a few lines of code that made other developers think I was a programming god. Want to strip all the html attributes from some markup except the a href and img src attributes while leaving the tags in place? Wish you could get a list of hrefs in a page that link to local resources? Separate CSV data? All easy with regular expressions. But the benefits go far beyond the actual results. Since most developer’s editors support regex syntax you can be more productive or use Unix command line tools to find files.

OK, those are my two major recommendations. Anyone who calls themselves a web-dev will find them a great read. If you know others, leave suggestions in the comments.

A few final recommendations

Oh, before this article ends, here are some other books that I found to be greatly influential to me. They lack the universal appeal of the previous two books though:

  • Danny Goodman’s JavaScript Bible (I own the 3rd edition, a lot has changed since then though)
  • Danny Goodman’s Dynamic HTML: The Definitive Reference getting old but a great reference covering HTML markup, CSS and essential JavaScript techniques (I didn’t realize it was the same author as JavaScript Bible until just now. ;-))
  • Eric Meyer’s CSS: The Definitive Guide Great CSS book by one of the masters
  • Roger Parker’s Looking Good in Print perfect introduction to essential design techniques. There is a reference for the web but it’s not as good as the print version imho.

I own (or have owned) and read cover to cover all of the books mentioned above. And yes, despite the long list, there are numerous books that I have owned and read that I didn’t feel worth mentioning. :-)

Reply

The content of this field is kept private and will not be shown publicly.
  • You can use Markdown syntax to format and style the text.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
17 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Back to top