What are the essential skills for a web developer?
vida: It's an interesting question. Here's my (admittedly incomplete) laundry list:* You should know (really really know) one language - preferably one conducive to writing web applications. PHP, Python, Ruby, Java and .NET seem to be the ones in vogue today. Perl, Haskell, Scheme, Smalltalk, as well as several others, will absolutely work too, but tooling seem to be somewhat a step behind, at least when compared w/ the ones in the first group. You should know Javascript. Not jQuery, Prototype, or MooTools. You should know web_developer.prototype.javascript.* You should have great communication skills. Arguably, the ability to clearly and eloquently express yourself is sine qua non for (being successful at) doing pretty much anything that involves other people but, given that the bar seems to be considerably lower for us folks in traditionally left-brain professions, I feel obliged to mention it.* You should have a knack for aesthetics, and be familiar w/ interface design and usability. You don't necessarily need to be able to produce aesthetically pleasing, usable anything, but you should be able to _know it when you see it_. And this is a lot less subjective than conventional wisdom would have you believe.* You should have an understanding of how to store and retrieve data, what sort of operations are expensive when querying, and be able to model at least simple schemas.* You should be able to write concise, uniform looking markup and css (or (and?) be familiar w/ the myriad use tools that can make this considerably easier for you).* You should enjoy it.Also Helpful:* A background in Comp Sci will presumably give you some knowledge of design patterns (more helpful than algorithms for most web development work out there today, in my experience), a familiarity w/ different languages and general approaches, and the ability to write somewhat decoupled, modular, testable code amongst a few others.* Being naturally curious, as well as enjoying it, will help you keep up with a fairly fast-evolving landscape of different standards, platforms and approaches.