News
The Web 2.0 Bookshelf
Gaining the strength and skills to build solid Web 2.0 applications
Jul. 21, 2006 11:45 AM
The Web 2.0 bookshelf
We are expecting another baby, so I was just moving my office from the
second floor to our newly finished basement. I am not complaining since
the basement turned out to be quite awesome. Its big, bright. clean
and, most importantly, conducive to some major code cranking.
Moving the office means that I have to move my books, and I just love
doing that. These rare occasions gives me a chance to remind myself how
I got where I am now. The books bring memories, but more importantly
the books shape us no less than circumstances, family and friends.
Finding a good book is precious, it really is a rare gift.
The Web 2.0 mind set
Looking at my book stack made me think about recommending some good
books for software engineers who are starting to work in the Web 2.0
space. Since the field is relatively new, we do not have any classics
out there yet. But there are a few good books that should be on your
shelf. And so I wanted to put together a list of books that help me in
my daily work.
Over and over again, through my career, I find that books that help me
the most are not just the books about programming language or software.
I have been fortunate to draw the inspiration from a multitude of
disciplines ranging from arts like poetry and music to sciences like
ecology and economics. The patterns and beauty that exist in these
diverse subjects find important place in modern software engineering.
The new web is all about creativity, cross-pollination of concepts,
media and information. But what fuels this new web is networks. In his
recent article, Dion Hinchcliffe calls social networks the Web 2.0
secret sauce. Very rightly so, because networks are one of the
fundamental blocks or patterns occurring in nature. So the some of the
books that I assembled for the Web 2.0 bookshelf are about patterns in
nature and power of networks.
Know thy basics
It does not matter what language you are programming in, it does not
matter if you are working in United States or Europe and it does not
matter what system you are building, there is a set of basic
infrastructural knowledge that any successful software engineer must
have. On my bookshelf, the indispensable and universal knowledge
includes basic algorithms, understanding of programming language
concepts, design patterns, refactoring, unit testing and agile methods.
The books below give you the essential knowledge in these areas.

If interested, click:
here for
Introduction to Algorithmshere for
Design Patterns
here for
Refactoring

If interested, click:
here for
Java Programing Languagehere for
Unit Testing in Javahere for
Agile Software Development
Know thy craft
Knowing the basics is important, but you also need to know the
specifics. Web 2.0 is not like J2EE or C++ worlds, it is idiosyncratic
and just plain different. To succeed in this world, you need to
understand its evolving principles, methods and tools. Here are the
books that I found useful for navigating the Web 2.0 jungle.

If interested in Cascading Style Sheets, please click here.

If interested, click:
here for
PHP Cookbookhere for
JavaScripthere for
XSLT Cookbook 
If interested. click:
here for Ruby on Rails
here for Hacking Atom and RSS
here for Lamp
Know thy artThe books above give you strength and skills to build solid Web 2.0 applications. But to build truly great stuff you need passion and inspiration. The three books below have helped me to expand my mind and bring patterns from other disciplines into the code that I wrote. I cherish them dearly and hope you enjoy them as well.
If interested, click:
here for Complexity
here for Six Degrees
here for Godel, Escher, Bach
Conclusion
Books are our companions. We read when we are happy and we are sad, we
read when we need to learn. The Web 2.0 world is fast changing. It
requires continuous learning. It requires good books. Lets learn
together! You can find more of my science and technology picks
in this
entry on my blog. Please use the feedback section of this article to
share the Web 2.0 books that you liked with other readers.
About Alex IskoldAlex Iskold is the Founder and CEO of adaptiveblue (http://www.adaptiveblue.com), where he is developing browser personalization technology. His previous startup, Information Laboratory, created innovative software analysis and visualization tool called Small Worlds. After Information Laboratory was acquired by IBM, Alex worked as the architect of IBM Rational Software Analysis tools. Before starting adaptiveblue, Alex was the Chief Architect at DataSynapse, where he developed GridServer and FabricServer virtualization platforms. He holds M.S. in Computer Science from New York University, where he taught an award-winning software engineering class for undergraduate students. He can be reached at alex.iskold@gmail.com.