Today’s web applications have a large focus on UI — not just how an application looks, but also how it all works and performs. Most developers/engineers today don’t have a good balance between UI skills and back end programming skills. Finding someone who is strong on both ends is particularly difficult. We don’t need a java programmer that “can” learn HTML/JS/CSS. We need a programmer who already knows it! In my experience, it’s much more difficult to learn the intricacies of HTML/JS/CSS than it is to learn any programming language. CSS, for example, is a black hole for most conventional programmers. Writing good HTML/CSS is a skill born out of months to years of experience. To be fair, the same goes for being a great programmer. I suppose that’s probably why most people specialize to a particular set of skills.
The problem, however, is that in today’s world, it’s much better to be balanced with strong UI and back end programming skills. If you’re asked how you would build a 2.0 style application, you need to be able to describe in detail of how you would build the model, view, and controller and explain the modern ways of how a user will interact with your application. This all seems pretty simple, but in reality, there are not very many programmers that can do this — or at least do it well. Maybe I’m wrong, but in my years of working with enterprise application developers, finding someone who has good UI instincts/skills and the ability to write good code is a tough thing to do.
So, my tip is this… if you’re a programmer and want to be a web 2.0 developer/engineer, make sure you’re well balanced and know HTML/JS/CSS like the back of your hand. Likewise, if you’re a web developer and want to be a web 2.0 developer/engineer, make sure you’re well schooled in today’s most popular programming frameworks.