And Then There Were Three
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.
Though still a relatively unknown quantity in smaller companies, web user interface engineers are a key to the evolution of the web. These engineers, of which I consider myself one, focus on understanding (at an expert level) the client-side triumverate of HTML, CSS, and JavaScript. We are the ones who work between the graphic designers and the software engineers, not just writing HTML code, but architecting the client-side solution. Devising strategies for layout and how style sheets and JavaScript interact, enabling customization by swapping out style sheets, increasing usability with logical interactivity…these are the things web user interface engineers are concerned with.
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.