Database application development draws on a large array of skills. It is unreasonable to assume that anyone is an expert in all these areas, nor is it essential to have in-depth knowledge in all applicable areas.
The database application developer must first know database design. Component skills include entity-relationship modeling and normalization.
Once the database is designed, it is implemented via a database application - in this case PostgreSQL. To use PostgreSQL up to its potential requires knowledge of its various features (e.g., keys, referential integrity, functions, views, the Pl/pgsql language) and its implementation of SQL. Fortunately, PostgreSQL adheres pretty closely to SQL standards and has few idiosyncracies. Knowledge of performance tuning issues is particularly helpful with large databases in heavy use environments.
Creating a client interface requires an understanding of GUI development principals. The user interface is developed in a language using a specific Integrated Development Environment (IDE) - in this case Java, Eclipse, and the Eclipse Rich Client Platform. Using the Java Eclipse RCP environment requires several specific component skills. Of course, the developer must have a good knowledge of the Java programming language. There are many specifics regarding implementations in the Eclipse API and RCP. Some knowledge of HTML, XHTML, XML, and cascading style sheets (CSS)is also needed.