Software development always seemed to be separated into two main categories: graphic designers who devised the user interface and software engineers who implemented it. There was a very distinct line between these two functions; the graphic designers did no programming and the software engineers did no user interface design. The web is an interesting animal because it blurred the line between these two functions. Graphic designers began learning HTML, as did software engineers.
The problem is that this traditional two-step process is, in my opinion, no longer valid. Software engineers are too worried about business logic to optimize the client-side code, and graphic designers don’t have the programming background to understand what code optimization is. Thus enters the web user interface engineer.
For companies whose livelihood depend on the web, it is time to take notice: you cannot simply give a software engineer or a graphic designer a book and expect them to be productive web user interface engineers. Such a position requires experience, knowledge, and dedication to the gray area between graphic design and hardcore software engineering. There are nuances that can only be learned through experience and experimentation. I predict the companies that will succeed in the next wave (call it Web 2.0 if you want) will be those that understand this and setup their organizations to make room for web user interface engineers.