I've been stuck on the backend for years now, working on webservices, DBs, SDKs, APIs and all that jazz, and so that's an area that I have a decent grasp of, but I've absolutely no clue about how the frontend works.

What's a good place to start for a backend monkey like me who wants to learn the best practices, latest technologies and the philosophy behind modern web page design and its interaction with the server? I want to be cool like all of the other javascript kids.

To bolster your JavaScript learning and understanding of modern server-client interaction I recommend you learn node.js as well.

Oh and these days libraries are popular, eventually you should learn some. There's a large list at micro.js, I would recommend backbone/spine and the ES5-shim for libraries.

Edit:

@DarinDimitrov removed his answer with some good links. Those being the

video series by Douglas Crockford, A must watch for learning JavaScript

Dive into HTMl5 which is an excellent website about the recent new APIs for modern browsers

I'll also refer the Good Parts, which is the only other JavaScript book worth having and I'll mention Modernizr which will upgrade older browsers to use the new HTML5/CSS3/ES5 features so you can just happily code to the most recent standards.

Read up on UX and related subjects.
As a front end developer I find it very usefull when talking with designers.
Also in a lot of jobs (especially with smaller dev teams) there won't be a UX specialist and knowing about it gives you an edge.
Finaly, it also helps to be able to do some basic image manipulation, for example optimizing images for web use.

Everyone here recommended starting with reading books...I disagree! I'd suggest making a few simple websites (feel free to reference books), and THEN reading books about the theory and best practices. Would a programming book really hold your interest if you haven't programmed yourself? I feel like you'd benefit the most from books after having some of your own perspective.

After diving right in (and making some crappy sites), then read all those wonderful books the other posters recommended.

JavaScript: The Missing Manual is not a bad book. It'll be too easy for you in the beginning, but it has some nice examples and it focuses on jquery, which is the most popular js framework at the moment.
Do install web-developer plugin for FF and get in a habit of validating your html and css and use Firebug add-on for debugging javascript.

That books seems to be far too focused on jQuery. I recommend against this from a learning point of view. For a pragmatic need to get a website done now, it might be useful.
–
RaynosJun 21 '11 at 22:31

Like everything else, pick a cool 'front-end' technology and dig in. If you have an interest in JavaScript, pick up a book on JQuery. If you're trying to shift jobs, learn one of the popular web frameworks (Struts, Spring MVC, etc.).