EDITORIAL

Jonathan Erickson

Editor-In-Chief


It's becoming clear that one of the more pressing problems facing software developers will be the ability to find enough qualified programmers to write the software that needs to be written. According to many companies we've talked to, there's a shortage of good programmers right now and the indications are that the situation won't be getting any better.

A couple of recent conversations brought this to mind. In one instance, the president of a major software company mentioned to us that he is getting much of his programming done in Mexico because he can't hire enough programmers in this country. (The fact that he can hire experienced programmers in that country for one-fifth of what it costs in the U.S. is also a motivating factor, something he conceded only when we challenged him about it.) In another conversation, General Bill Thurman, commander of the Air Force's Aeronautical Systems Division, told us that recruiting, training, and keeping qualified programmers is becoming a problem of major proportions.

Compounding the problem is the simple fact that enrollments in university computer science programs continues to dip. For the first time in years, smaller colleges have openings for prospective computer science majors. Larger universities are still filling their slots, but they are seeing a dramatic decrease in interest in computer science. Last year, for instance, the University of California at Berkeley had 11 applicants for each computer science opening. Next year, one university spokesman told us a few days ago, the university expects each opening to have as few as five applicants.

Although the doctrine of supply-and-demand may provide short-term benefits for many programmers, the long-term consequences might be more detrimental. If nothing else, the pressure necessitated by competitive schedules will have an adverse impact on the sanity of many programmers. That's the bad news. The good news is that programmers will be in a better bargaining position when it comes to defining their workplace because those companies that are able to attract top-flight programmers will be the companies who get the best software products out first.

Working in real-time environments usually requires specialized development tools and sometimes specialized operating systems. The variety and complexity of real-time operating systems, however, may be foreign to those used to working with more mainstream, conventional operating systems. (The main distinction between real-time operating systems and more familiar one is in the way the real-time OS handles the task scheduling and priorities that enable predictable response time to events.)

We're of the opinion that real-time, embedded system development is an area with exciting potential. One reason for believing this is reflected in the growth in the embedded controller market itself.

By 1991, it is estimated that more than 800 million controllers will be shipped annually.

In practical terms, this has led to real technological innovation.

These emerging hardware platforms will give programmers the chance to create all kinds of new applications, but those programmers may first have to become familiar with new kinds of tools.