|
The Power of Patterns
Enterprises can use patterns to extend the reach of Java experts to all development projects
by Peter Varhol
October 2003 Issue
Many enterprises have adopted the Java platform and language to replace legacy computing systems and software with more modern and maintainable distributed applications. One of the side effects of these strategic directions is that many of the application developers lack skills, not only in Java but also in distributed systems, object-oriented programming, and graphical and Web user interfaces.
Further, technology researchers at Gartner, who have studied the skills gap extensively, have concluded that it takes approximately a year to retrain an experienced Cobol/mainframe developer as a Java programmer, and that approximately 60 percent fail to achieve competence.
This supposition is one of the dirty little secrets of Java and Java 2 Platform, Enterprise Edition (J2EE) used in enterprise application development. Yet for those of us who were raised on modern, object-oriented languages (Lisp and Smalltalk in academia, in my case), Java made perfect sense. While the language and platform were too comprehensive to learn casually, you could focus on the type of application you were interested in, and quickly learn enough to make you productive in that particular niche.
But for the legion of corporate IS developers who know enterprise business systems cold, it's a different story. Their skills are so radically different than those needed by J2EE analysts and developers that transferring them is more a matter of luck than perseverance. In a few unfortunate cases, the experienced mainframers simply aren't very good at application development in general, and won't make the transition.
However, there are several reasons why the strategy of turning Cobol developers into Java programmers is necessary. At any point on the intersection between radically different technologies, there is the need for skills of both types. Enterprises need to keep their core skills alive even as new Java applications are being developed and deployed. And those who can easily bridge the gap between the two are more valuable than any new hire. So mass layoffs of existing personnel typically aren't an option, even though many of those staff members may no longer be strategic to IT development.
There is a strategy that may be able to combine existing skills with new technology, however. Most enterprises maintain at least a small core of true experts in any technology vital to the business. That's typically true of Java application development. Most organizations maintain a small contingent of expert developers and application integrators to act as a resource center for ongoing projects, and to work on critical applications and advanced development efforts.
A corresponding characteristic is that most application development projects strive for standardization. For productivity and maintenance purposes, it's to the advantage of enterprises to reuse code, as long as that code is fully documented and is the best solution across multiple applications. Reuse is more difficult than it appears at first glance, primarily because little advance thought is given to how particular code segments may be applied across different applications.
Back to top
|