One of the most satisfying pieces of developing web apps is how far from the machine you are, and how close to people. The majority of the work in web apps is thinking about interaction design, usability, aesthetics, flow. Human squishy subjects that let you pretend that at the end of the day that you aren’t getting a huge amount of your social interaction from a machine.
But somedays the insecurity creeps in, I mean, this isn’t “real” programming. There are no algorithms, no data structures, no balanced red-black trees.
Which is why it’s nice, every now and then, to have call to pick up a book like Doug Lea’s “Concurrent Programming” and flip around a bit looking for answers.