ill the increasing importance of the Java programming language in the IT world eventually stunt its own growth? Ironically, the answer may be yes.
Why? Because there aren’t nearly enough qualified people creating things in Java. The difficult-to-learn, cross-platform programming language may become a victim of its own success because trainers are not turning out enough “Java grads” to keep up with job openings. Time and money are lost while companies invest to retrain developers.
A study released in April 2001 by the Information Technology Association of America has determined that the national IT workforce numbers about 10.4 million people. According to the ITAA, U.S. companies would like to hire an additional 900,000 workers this year. Of this total, 425,000 positions will go unfilled because of a lack of applicants with the requisite technical skills.
Definitive numbers on Java-related job openings that go unfilled aren’t available. However, we can get a pretty good estimate from the ITAA report. Even though there is a dropoff in overall openings due to the slowing economy, the percentage of unfilled IT jobs remains consistent; in most categories—and this includes Java-related areas, such as Web development and database administration—approximately half the positions go unfilled.
ITAA’s U.S. Jobs Breakdown Chart
|Job Openings/Gap||Job Openings/Gap|
|Overall Software Development||134,637/69,292||213,890/109,928|
|Web Development and Administration||120,982/56,957||161,301/90,137|
Jobs involving the programming of Java make up one out of eight new software projects, Howard Rubin of META Group said recently in Java World. Rubin’s META Group colleague, IT analyst Tom Murphy, told DevX that most new hiring involves people with Java, XML and .NET-type skills. “A high percentage of those 56,957 Web development jobs (see chart above) that will go unfilled this year are not being filled precisely because the candidates lack the Java or Java-related skill set,” Murphy said. Same with the overall software development job numbers, he said.
In Part I of “Judging Java,” DevX asked a large sampling of developers (2,600) to determine just how well-equipped they believe they are to handle the current demands in the marketplace. The results show (see Figure 19 on this page) that indeed there is a real skills gap when it comes to the highest level of expertise in key categories. Java showed a 33 percent potential gap in available expertise. XML development showed a more than 40 percent gap between currently skilled developers and upcoming hiring demand.
So, the message looks pretty clear: If you’re thinking of moving into the software development world—or laterally from another sector of the business—you are hereby advised to get certified in how to program Java or Java-related (Enterprise Java Beans, JINI, JSP, JMS, etc.) applications. If you’re a particularly hardy soul and don’t mind programming with a lot of restrictions, you might want to consider embedded Java development. Those are the future growth areas, as identified in studies by Gartner, IDG, META Group, and other industry researchers.
In our interviews with a number of CTOs and high-level IT hiring managers, three key points were made, almost across the board:
- Java skills of any kind: Good.
- Deep-development (EJBs, servlets, business-logic modules) Java skills and good knowledge of best practices: Better.
- Deep development, best practices, UML (Unified Modeling Language), and server-side Java skills: Best.
There was another point that came up fewer times, but nonetheless with strong conviction: Experience in the extreme programming (XP) environment not needed. Those who subscribe to this school of thought should apply elsewhere. The word on the street is this: Companies want their custom-built e-business and Web-server Java applications as bulletproof as possible and very scalable, even if it takes weeks (or even months) longer to do the job right. And they’re willing to pay top dollar for those who can deliver the goods.
(Go here to find the Java Pro 2001 Java Salary Survey.)
Trends Coming to the Fore
There are some noteworthy trends emerging from this research:
- For new, build-from scratch, Web-centric business application projects, Java skills are considered mandatory.
- For older apps, upgrading, database access, or maintenance-type development jobs, VB, C++ are often the required skills.
- Web-page production skills utilizing Java are still needed but aren’t as in demand as they were two to three years ago. Developers with those skills are plentiful, and jobs can still be had.
- Deep-application Java development is definitely needed at all levels: the ability to build an EJB or other component from scratch, or with minimal legacy code. It also helps to be fully trained in using the development cycle.
- The ability to invoke the unified modeling language (UML) when needed within a project is also a high priority.
|“For deep development-type and business-logic-related jobs, Java 2EE is the premium skill required, and those guys can basically write their own tickets.”|
Client Dictates Terms of the Job
Cynthia Morgan, vice-president of content at Techies.com, reported that in October of last year, nearly 16 percent of all posted IT jobs required Java skills; in March 2001 it dropped to just more than 13 percent, a likely reflection of the loss of jobs due to the shakeout in the dot-com business.
“So much depends upon the client here,” Morgan said in an interview on CNET radio. “For deep development-type and business-logic-related jobs, Java 2EE (Enterprise Edition) is the premium skill required, and those guys can basically write their own tickets.
“If you’re a good Web developer, there’s still work, but it’s going to be somewhat more difficult to get placed. Most new projects are Web-based, so the Java background in building business logic and communication modules is super important. If you’re just updating an older app, say for an institutional client such as local government, a bank or other financial company, you more than likely will be needing other skills, such as VB, C++, or ASP.”
Ved Sinha CTO of eLance.com, an online placement service for developers that offers a bustling RFP directory, said he sees a clear spiral up in the desire for Java-related skills unabated by any downturn in the industry. In the last six months, Java skills requests have gone up an average of 45 percent per month on eLance, Sinha said, with no sign of a letup.
“At any one time, we’ll have maybe 600 jobs on our board, and an increasing number of them involve some sort of Java development,” he said. “We’ve had 966 Java or Java-related projects on our board since October 1999; more than 1,000 of our 3,500 registered users have Java skills. The downturn in the IT economy in the last year hasn’t affected the Java skills market one bit, as far as we’re concerned.”
|“Since Java runs and scales so well in the mobile-app world, which is where we’re doing a lot of our development, those kinds of skills are what we’re after at the moment.”|
Molly Mangan and Ten Chu of Chicago Systems in Chicago, which employs 58 developers, says that a bit more than half of them are skilled in Java. They recently completed the construction of a major new mobile-application Web site for the state of Illinois in which they employed all of their Java-skilled people.
“Generally, when we’re doing a job for a government agency, it requires VB skills,” Mangan said. “But most new projects involving building an application from scratch are Web-centric and require the Java skill set. Since Java runs and scales so well in the mobile-app world, which is where we’re doing a lot of our development, those kinds of skills are what we’re after at the moment.”
Chicago Systems designed and is administering a Web site—accessible by both desktop and portable devices and built using the Oracle platform—that monitors and reports on the flow of traffic in the downtown Chicago area. In seconds, subscribers can get a real-time snapshot of the city’s five major expressways at any time during the day.
Why ‘Deep’ Java Skills Are at a Premium
Paul Neto, HR manager for Covalent Technologies, one of the leading producers of products and services for the popular open-source Apache Web server, says he’s being more selective now of whom he hires because of the complexity of new development projects.
|We’re looking at those (we’ll hire perhaps 20 over the next year) who have a good foundation in C, C++ or Java, can build an app from start to finish, who know the development cycle, and who know UML and use best practices.|
“At Covalent, we’re looking for deeper Java skills, such as those used to build business logic modules, EJBs and deep development within protocols, such as communications. At the moment, there are plenty of Web-page developers available, and there’s not that much work for them. We’re looking at those (we’ll hire perhaps 20 over the next year) who have a good foundation in C, C++ or Java, can build an app from start to finish, who know the development cycle, and who know UML and use best practices.
“If you’re from an extreme programming (XP) shop, you’re not going to find work here, because I won’t hire you. XP work doesn’t scale; there could be too many loose ends. It might be suitable for some short-term projects on hard deadline, but not for the kinds of things we’re doing.”
David Knight, CTO of Portera Systems in Campbell, Calif., a professional services application service provider with its own propriety software, is in charge of 255 developers—about 50 of which work solely in Java.
|If you can write good, modular code that is reasonably complex—like a typical e-commerce business invoice, for instance—then you’re the type that will always have work.”|
“Although we’re not hiring quite as briskly as we were, say, eight months ago, we’re always on the lookout for good talent,” Knight said. “A developer with good server-side Java skills who’s done some hosted application work is always ideal for us. Somebody with good e-commerce site skills and sysadmin development experience also is in demand. If you can write good, modular code that is reasonably complex—like a typical e-commerce business invoice, for instance—then you’re the type that will always have work.”
Database skills are always in high demand, Knight said, especially familiarity with Oracle, SQL, and JDBC programming.
Certification: How Important Is It?
Companies, programmers and training vendors all value Java certification, but for different reasons. “Enterprises must understand what value certification holds for them—e.g., it can serve as one measure by which to compare developers’ relative skill levels. However, certification does not guarantee that a candidate can effectively complete a Java development project,” analyst Mark Driver wrote in a 1999 Gartner report. Those decisions must be made by individual hiring managers or project directors, he said.
There is a high number of qualified—but not necessarily certified—Java developers out there, in both the corporate and contracting sectors. There are also plenty of developers in both areas who don’t specialize in Java but know enough about how to use it to “get by.” In fact, a DevX research study (see our article in Part I, “Six Years and Counting: Developers Weigh in on the State of the Java Market”) shows that only about one in four Java developers actually have earned certification. In addition, most Java developers don’t work exclusively in Java; they use at least one or two other programming languages on a day-to-day basis—most often Visual Basic, C++, and XML.
“There are benefits to getting certified in Java,” Rob Petigo, director of certification programs at Sun Educational Services, said recently in Java World. Petigo said 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 won’t reveal the number of certified developers trained in Java, says there has been a 550 percent increase in the ranks of certified Java and Solaris developers since the program began in 1996.
Sun introduced the language to the development community in May 1995. When developers heard that Java could be “written once and run anywhere,” they were skeptical but drawn to it in droves; its popularity quickly went skyward. For the next two years, the growth of worldwide Java developer seats continued at a fast pace, expanding 62.9 percent, according to the 1999 IDC Worldwide Professional Developer Model. The IDC Worldwide Developer Model is a detailed study of the number of professional developers in 195 countries and professional developer seats for 13 language classes and five geographic regions from 1996 through 2003. The same report forecast continuing Java developer growth in years to come. Java usage, for example, is expected to continue to grow at a slower but still-impressive 29.4 percent in 2003.
What Next to Learn: Embedded Java
Dr. James Gosling, who led the early ’90s Sun Microsystems team that created Java, and his colleague, Sun senior staff engineer Greg Bollella, addressed the audience at the annual Embedded Systems Conference in San Francisco in April of this year and suggested that embedded Java will be the fastest-growing use of the language in the years to come.
“In languages like C and C++, when things fail in mysterious ways, as they often do, it’s often very difficult to get to the source of the problem,” Gosling said. “Java, while being derivative of the C language, is much more transparent in its architecture, meaning that it is easier and faster for people on a development team to find and kill the bug. This speeds up the project and makes the app more stable. With so many new embedded systems about to go into things like cars, phones, handhelds—you name it—we need good, clean, simple apps that work, that are reliable, and that work across many systems.” (You can get more from Java creator James Gosling in our exclusive Q&A interview.)
Gosling and Bollella described embedded systems development as “the new frontier in which predictable execution takes precedence” over other system attributes, such as speed, bandwidth and payload-carrying ability. They explained how Java enables this through its Real Time Specification for Java (RTSJ), which will provide developers with the advantages and productivity gains of the Java language and platform. The specification is being debated and edited by the Java Community Process and still has a ways to go (most likely several months) before final approval and implementation.
The take-away message: Smart developers will get familiar with this spec sooner rather than later. The number of jobs and the salaries they will pay will continue to be very attractive in the years to come.
Where to Get Java Training
Many programmers learn new languages on their own time, either by reading books on the subject or using tutorials. A more efficient way would be to learn Java through class instruction and/or online courses. DevX, Sun Educational Services, jGuru, LearningPatterns.com, DevelopMentor, and others provide formal training at various levels.