Visual Presentation Skills
A picture might be worth more than 1000 words when putting together a Web site. Even if the Web site works properly, graphical enhancements and layouts attract new users and give a professional appearance to the site. Depending on what's being presented, many different skills are needed. The minimal skill set is HTML.
HTML Development
HTML development doesn't require the same technical expertise as coding in Java, but it isn't necessarily easy. J2EE applications have both dynamic and static pages. The dynamic pages are written in JSP and servlet format, whereas the static pages are plain HTML.
Dynamic HTML (DHTML) is an extension of the HTML scope. Using JavaScript, HTML objects can be manipulated to form menus, for example. Also, cascading style sheets (CSS) files can be used in conjunction with HTML to provide a changeable look and feel. A good HTML developer has experience in laying out forms, working with specific tag properties, working with DHTML, and knowledge of CSS tags. There's a difference in how different browsers and versions of browsers display information. A good HTML developer knows these differences and implements browser-neutral applications.
It's also necessary to point out that senior Java developers could have adequate skills for HTML and design, which is helpful. But in my experience, they don't necessarily create the most attractive sites using and watching out for any nuances the way a dedicated HTML person would.
JavaScript
Although they share a similar name, JavaScript is not Java. It's not even a subset of Java. JavaScript was created by Netscape to add scripting to HTML pages. JavaScript is useful in applications by providing a method to access form data and manipulate HTML objects. JavaScript was designed as an easy-to-use component for HTML developers. Consequently, most good HTML developers know this information.
GUI Design
Graphical user interface design is the key component to application usability. Most of the time, the designs change several times before a product is released. The actual programmers sometimes work with the users to find the screen layouts and functionality. This isn't always the best idea. Users are normally used to the old way they did things, so instead of improving the process or using a new layout that might be easier, they want exactly what they had before.
A better choice is to use a GUI designer who understands these concepts and components. Bigger application companies employ designers for this reason. Sometimes it's not feasible to hire one because of budget constraints. In that case, the developers must be trained in GUI development. Good GUI design can make or break an application because the GUI is what the customer sees first. The customer won't see all the work that was put into the back end of an application, and applaud you for that design, until he can easily learn, find, and use the application's front end.
Graphic Arts
The days of presenting green screens full of data are gone. The presentation of data is now expected to please the senses. In a WLS format, not only must data be created, but pictures, movies, sounds, and other multimedia must also be created and distributed. Engineers don't usually have the skills to create and manipulate this art (they're too busy reading technical manuals). A graphic artist is now becoming a must in the development of applications. The graphic artist works with the GUI designer to create visually appealing screens. The skill of the graphic artist obviously depends on the applications you're building. The more visually intensive your applications are, the better the artist must be.