While Java is the biggest development language to emerge in many years, a shortage of experienced Java programmers could dash all hopes within the IT industry for large-scale Java deployment anytime soonJava was released in 1995 by Sun Microsystems, and the popularity of the cross-platform language skyrocketed in the first two years after its introduction. From 1997 to 1999, the worldwide growth of Java developer seats occurred at a blistering pace, expanding 62.9 per cent over those two years, according to the "1999 IDC Worldwide Professional Developer Model". The same report forecast continuing, if slower, Java developer growth in years to follow. Java, for example, is expected to be growing at a still-impressive 29.4 per cent in 2003.
But even an apparent dot-com meltdown is unlikely to free up enough Java talent to meet IT needs. At the same time, training existing staff in Java is no simple task.
"Java is finally getting to the place where it's widely infused," says Howard Rubin, executive vice-president at the Meta Group. "About one out of eight new systems is being done in Java."
Besides cross-platform support, improved productivity is a potential Java attribute that intrigues application development managers.
Still, in many locations, skilled Java programmers are difficult to find. Lack of experience may play a part in slowing Java growth, as time and money are lost while companies train developers. For example, according to a recent study by research organisation Gartner, training COBOL developers in Java would prove too expensive and time-consuming for many enterprises.
"The cost of converting a COBOL developer to Java could be close to 90 per cent of a COBOL developer's salary," said Joe Feiman, vice-president and research director at Gartner. Even so, he noted, all COBOL developers do not succeed in learning Java.
Moreover, Feiman said there are many factors to consider besides cost, including the time required to develop software and train developers. You have to ask yourself how long you can afford to wait for those people to get up to speed, he says.
Despite the cost, some companies may choose that route because of the shortage of professional Java developers. "It is impossible to find developers in some areas [of the world]," Feiman says.
Although training can help alleviate the problem, many developers learn through self-education. "There's a lot of do-it-yourself out there," Meta Group's Rubin says. That includes books, informative Web sites, and just plain on-the-job trial and error.
According to Feiman, 40 per cent of developers learn through self-training and hidden training, meaning that they learn on the job.
As a result, Java productivity has yet to peak, Rubin says. Those experienced in Java, however, have shown productivity increases of 40 per cent over levels seen in the traditional environment.
Java application quality is still hard to judge. "With the recent economic rush and fast demand to learn Java, quality remains an issue," he says.
Faster C++ migration?
Learning the new developer language can be more challenging for some IT workers than for others, says Anil Hemrajani, CTO at iSavvix, a technology services firm for Java and the Internet.
"Java's background contains a lot of features from C and C++. Therefore, it's easier for C developers than Visual Basic developers to learn it," he says.
In fact, Feiman's research at Gartner indicates that C++ programmers are more likely to succeed in learning the new language, and they do so more quickly.
However, unlike those who learned C++ a few years ago, Java learners may not experience a traditional training style.
"People used to go to training classes and then do the work," Rubin says. "Now they do training as they do the job, which can drain productivity. [There's been] some backsliding into bad habits from the early days of computing. Some people think it's a marvelous productivity tool and they can just start coding, and that's dangerous. You do have to design it, and you do have to think about what you're doing. Because of this, we're starting to see testing time going up."
Feiman points out that trainers might have more ready success teaching some developers to be casual Java developers rather than professional Java developers. Learning object-oriented design and analysis Web architecture, and application server design - not just the Java language syntax - takes more time, he says.
In addition to self-training, programmers can learn Java through class instruction and online courses. DevelopMentor, Computer Skills Centre, Sun Educational Services, and others provide formal training.
There are benefits to getting certified in Java, says Rob Petigo, director of certification programs at Sun Educational Services. He says that certification provides "a clear-cut demonstration of collective confidence". Self-educated students can never be entirely certain if their knowledge of the program is correct.
Sun, which refuses to reveal the number of certified developers trained in Java, claims a 550 per cent increase in the ranks of certified Java and Solaris developers since the program began.
Petigo says companies that encourage certification have lower attrition, or turnover rates, than those that do not. Because of certification, they tend to retain their top talent.
Currently, the most popular courses are those that involve introductory skills, he says. For its part, Sun offers three types of certification in Java: programmer, developer and architect. "There are a huge number of people coming to the platform right now," Petigo says.
Steve Garone, vice-president of application development and deployment at IDC, says a downturn in the dot-com job market would not create a rash of out-of-work Java programmers. "If we are expecting a slowdown, it will probably affect the number of positions available for developers in general, but Java will not be singled out," he says. "Java is becoming a technology that is not just about Web pages anymore. It has a robust server side as well. One could make the case that Java will be the least affected."