With a bit of forethought and attitude adjustment, it's possible for Unix experts to avoid career tarpits.By Bill Rosenblatt
(From the October 1994 issue of Advanced Systems Magazine, copyright 1994 Integrated Media Inc., all rights reserved. Reprinted in Sunflash by permission.)
The rise of the Unix operating system has been intimately intertwined with the rise of a clich subspecies of software professional known variously as the Unix Hacker, Unix Guru, Unix Nerd, and Unix Geek. You know the stereotype -- paunchy belly, prodigious facial hair, last bath taken on last birthday, most recent meal prepared by inserting 65 cents and pressing E4, blood-caffeine content triple the legal limit.
The stereotype may be old and quaint, but it does represent one view of a class of software jobs whose existence is on the wane. Whats happening to the Unix professional? There are definite signs that the traditional Unix-related jobs, and the people who do them, are in danger of fading away like the woolly mammoth that the stereotype resembles -- or like the mainframe jobs that they themselves displaced in an earlier generation. Yet, with a bit of forethought and attitude adjustment, it's possible for Unix experts to avoid the career tarpits in the years to come.
Unix came into prominence not only because of its many benefits, but also in connection with the rise of minicomputers, such as DEC VAXen, whose performance per dollar far outshined that of mainframes. Businesses bought minis; then they needed to hire programmers to keep them running and give them something relevant to do. To fill these positions, businesses hired people with Unix skills, mostly learned at universities. Thus was born the Unix professional.
As Unix elbowed its way into mainstream American business, two job categories emerged: the application programmer, who created the business-specific programs; and the system administrator, who fixed problems, performed maintenance tasks, and generally kept the system running. Those denizens of corporate MIS departments, representing the largest class of software professionals, proceeded to carve out pretty cushy careers for themselves.
Application programmers became extraordinarily productive, thanks to the unprecedented power of Unix' excellent programming tools and the C language. Both of these also encouraged such antisocial programming habits as impregnable shell scripts and C pointer calisthenics. As a result, programmers were able to make themselves relatively indispensable as they created an aura of arcane knowledge of the systems and their own code. Demand for such talent grew and so did salaries. Unix/C programmers soon became the highest paid in the software field.
Meanwhile, system administrators constructed even more untouchable existences behind the glass walls. Unix systems have always been difficult to administer; only recently have reasonable administration tools finally been created. And sysadmins of all types have thankless jobs, which consist mainly of answering the same questions from users over and over again ('Can you make it so rm asks me first before it erases my files?' followed later by, 'Can you make it so rm stops asking me every time I want to erase a file?'), getting yelled at when the system or network goes down, and being considered redundant when everything runs smoothly.
Yet, Unix administrators have had certain major advantages. One is getting the job in the first place: Claims of admin skills have been notoriously hard to verify, and experience on one brand of Unix does not transfer entirely onto another. The other advantage is the indispensability that admins, like application programmers, could create through shell-script arcana (though in this respect they must bow to their JCL-wielding superiors in the IBM mainframe world). Coupled with the high demand for admins, these factors have led to excellent career mobility, which in turn has let admins ratchet their salaries to levels that mainframers would find staggering.
Both programmers and administrators have thus created job environments where they command the best commercial software technology available, use it in ways that make it inaccessible to the uninitiated, get paid very well for doing it, and don't have to bother with much contact with anyone in the rest of the businesses for which they work. It couldn't last.
Unix professionals, you see, have created an elitist clique. Regardless of whether they shave, wear T-shirts, or eat balanced meals, Unix people tend to operate under assumptions that are becoming less and less true. Anyone who feels the assertions in the previous paragraphs are still indisputably true had better wake up and smell the double latte.
Let's look at these truisms and the new developments in technology, the economy, and business management that are shaking them.
Certainly, companies like Sun, HP, and Digital have labs containing some of the largest concentrations of stellar software talent in the world. These people produce software technology that defines the state of the art. Yet the market penetration of products from those places has been nothing compared with that of less elegant products from Mr. Bill Gates' holiday camp. There are two main reasons for this. One is that Unix vendors did not grasp the implications of the desktop PC and the increased importance of applications software. The second is that Unix has run out of chances to be a major desktop OS. One reason is the snobby attitude of so many Unix developers toward PC users and their commodity PC hardware. Microsoft Windows is the number-one desktop user interface in no small part because many developers understood that the market was in user applications; they chose to put up with Windows' Neanderthal programming constraints and low-quality consumer-grade hardware in order to take advantage of Microsoft's stranglehold on software-distribution channels.
The only people (other than developers) who use Unix machines as their desktop PCs are those who really need to wring maximum efficiency out of high-power CPUs -- people like CAD/CAM designers and Wall Street derivative traders. They don't use Windows because it currently runs on lesser processors and squanders their resources. But the next round of mainstream desktop operating systems will all be true-multitasking, virtual-memory OS, and most of them will run on post-x86 CPUs. They will all have GUIs that are better integrated than an X Window System; they will run a wider variety of popular user apps; and they will be more appropriate as personal operating systems. In other words, systems like Windows 4.0, Windows NT, and OS/2 2.1 will eat into the last significant base of Unix users.
At the same time, software innovations from Unix vendors are already moving away from OS and toward platform-independent areas such as databases, messaging, and distributed-object management. The CORBA (Common Object Request Broker Architecture) distributed-object standard, for example, says nothing about operating systems. However, even that is in danger of losing the battle for market influence to OLE 2, its technologically inferior cousin from Redmond -- which is also the source of the leading relational-database interoperability standard, ODBC (Open Database Connectivity).
Bottom line: Unix' term as the exclusive home of software innovation is coming to an end. Innovations will come from other sources, and they will be more and more independent of operating systems. The day of the Unix OS as ideology, even in advanced systems, is over.
Two technology trends have come together to cause radical changes in the way software is developed within organizations. First, and foremost, is client/server networking. With computing power on the desktop, users become empowered to do all kinds of things. They can use client/server database applications to fold, spindle, and mutilate corporate data, and they can use network schedulers to schedule meetings without dozens of phone calls... and develop software. The new breed of GUI development tools, in turn, is making software development accessible to nontechnical users as never before. Microsofts Visual Basic is quickly becoming one of the most popular programming languages of all time. It and its ilk are to GUIs what Unix shells are to tty-oriented operating systems: powerful ways of creating useful software quickly. Tools like PowerSofts PowerBuilder and Lotus Notes go even beyond Visual Basic by letting users build client/server programs.
What danger do these newly empowered users pose to 'real' software developers? Plenty. Most importantly, these people are typical in the line business, not behind some metaphorical glass wall. Therefore, they often understand the needs of the business better than the MIS staff, and armed with these tools, they can come up with solutions to business problems much faster. Of course, such solutions aren't properly engineered, nor do they necessarily fit in well with the organization's notions of enterprise architecture. But business managers typically don't care about such things; they just want their problems solved. As a result, line businesses are putting increased pressure on MIS staffs to develop software more quickly and, more importantly though less explicitly, to become partners in the business. True software developers will need to educate business managers about the long-term desirability of such things as software-development life cycles, quality assurance, and so on -- not to mention true software-design skills. To do this, software developers need to earn business managers' trust, which leads to the following:
The only reasonable way to convince business managers that you ultimately know better than the young Visual Basic-wielding hotshots in their groups is to earn their trust by becoming one of them. This means things like wearing the corporate uniform, spending lots of time away from your MIS-area desk schmoozing with the right people, and above all, learning the business. If you're successful, business management will eventually accept you as a partner.
As for the snazzy GUI tools, they are here to stay, and they have important uses. You can use them in conjunction with your software-engineering efforts as ways of involving users more directly in the development process through JAD (joint application development) methodologies. You're much more likely to achieve buy-in from your users if they helped design the user interface!
Another important reason why you can't just stay in the MIS corner anymore is that the size of the corner is shrinking. More and more corporations have stopped retaining large development staffs. This trend may have started because of the downturn in the economy, but it's not going to reverse itself when the economy bounces back.
There are several reasons why large in-house MIS staffs are shrinking. First, companies are realizing large software-development projects are simply not worth doing in house. Studies have shown that the percentage of time and effort spent on actual software development -- as opposed to that spent on 'overhead,' such as project coordination and paperwork -- decreases as project size increases. They also show the risk of failure (cost overrun, technological obsolescence) increases substantially with the size of the project. See the chart The end of large internal projects for one study's results.
Other reasons for not retaining large development staffs include the relative lack of flexibility of an existing staff and the continuous cost (in time and money) of retraining for new technologies. Theres also the problem of motivating highly trained, well-paid professionals when they aren't necessarily interested in the company's 'real' business and therefore have few advancement opportunities within the company.
Overall, companies have plenty of reasons for hiring outside consultants and outsourcees to replace permanent MIS staffs -- especially for doing large projects. Consultants cost plenty of money, of course, but they have other important advantages, such as being able to assume the risks associated with large projects and technological change. Large systems integrators, especially, are old pros at implementing large systems with very little risk. A small firm that concentrates on a specific hot technology can implement a system based on that technology without the time and expense of training your own people. Consulting firms also actually favor large projects for some of the same reasons why their clients reject them:
The disproportionate amount of overhead in large projects necessitates a disproportionately larger staff -- and therefore, disproportionately higher revenue for the consultants!
But perhaps the most important reason for the shift away from permanent MIS staffs and toward hiring consultants is the rise of ubiquitous high-speed networking and the emergence of the virtual corporation -- a term coined by venture capitalist William Davidow and MIT business professor Michael Malone in their superb book of the same name. Virtual corporations are ephemeral groups of companies and individuals that get together to do a project, then disband. The term also applies to companies with very rich interrelationships made possible by networking technology.
The virtual corporation idea has profound implications for the ways companies use technology. The most dramatic example is the outsourced data center. Cell-switched networking technology, at 155 megabytes per second, can move data from your desktop workstation to the data center at speeds exceeding those of the data bus in your machine. This makes it possible to locate data-center equipment such as file and database servers just about anywhere, and in turn, enables an outsourcee to operate a single data center that serves any number of clients in disparate locations. The outsourcee can charge companies less than what they would pay for their own data centers and still make a profit based on economies of scale.
But the biggest advantage to the outsourcing arrangement may not be cost savings; instead, it has to do with the idea of core competence -- that companies should only do what they know and are in business to do, and should leave the rest to someone else. Concentrating on core competences makes it easier to motivate people by aligning them to a company's vision and giving them more obvious career paths. Put simply, if you are a Unix system administrator for Wallys Widgets Inc., then (assuming you have no interest in widgets) you probably don't get much attention from senior management, and your next job is likely to be somewhere else; but if you work for Dave's Data Centers Inc., then you are one of your company's most important products, and you have an obvious growth path within the firm.
Now we should be able to put together a fairly complete picture of the information-technology job scene of the future. Companies who aren't in the computer business will still need IT people -- less of them, perhaps, but in more mission-critical ways. As technology finds its way into more and more aspects of business and types of businesses, IT people will have increasing influence in matters of product design and overall business strategy. They will need to determine the viability of business decisions based on technological feasibility and to manage the various consultants and outsourcees the company engages.
You need three basic attributes to succeed as an 'inside' IT professional. First, you must be a generalist -- one who has a high-level, intuitive grasp of a wide range of technologies and who can absorb new ones fast. You cannot be a specialist in one system, language, database, or a narrow-minded techno-bigot who refuses to take the broader view. If you're a programmer who is highly skilled in one particular area, you may find it difficult to let go of the bits, bytes, and API calls you have worked so hard to master; you may feel, as a generalist, you aren't doing real work. But if you're helping your company succeed, you certainly are.
Second, you need to be interested in the company's business (core competence). You have to be as eager to learn about it as you are about information technology. If you aren't, then your company's management wont -- and shouldn't -- accept you as a partner in the business. Finally, you must be a good communicator, one who is as capable of debating a detailed system design with a group of hard-core programmers as you are of communicating the benefits of that design over others to the nontechnical VP of marketing or the utterly technophobic CEO. If you fit all of these requirements, then by all means stay inside; your career path could lead directly to the executive suite.
On the other hand, if you like your life as a skilled system designer, programmer, or administrator, then you should seriously consider going 'outside' to a consulting or outsourcing firm. At any of those places, you are a profit center, not a cost center; this puts you in a much better position with which to begin. You'll find that perks, bonuses, and nicer offices come much more readily when you actually make money for the company. The better consulting firms will also give you continuous training, so your skills are always current. And you will be surrounded by other technical professionals from whose knowledge you can draw. Overall, these firms are taking the lead in making IT as much of a true profession as law, medicine, or accounting.
One disadvantage of working at a consulting or outsourcing firm is the sense of divided loyalty. You are supposed to serve your clients, but you ultimately work for the consulting firm. Sometimes, for example, you'll find you are selling the client a job whose primary attribute leads to follow-on work rather than being the best solution for the client. But there are other advantages, such as the opportunity to learn about a wide variety of businesses and meet a wider variety of people.
The choice between going inside or outside ultimately comes down to determining your own interests -- your core competences -- and pursuing them. One thing is for sure: People with up-to-date IT skills will always be in demand. We will always need to stay on top of our fields and position ourselves according to where we want our careers to be in the years ahead. Both of these tasks can be full-time jobs by themselves -- but if we do them, our futures are secure.
Contributing editor Bill Rosenblatt (email@example.com) is director of Publishing Systems at the Times Mirror Co.
The Sun FlashBack - A Full-Text On Demand Newsletter
John J. McLaughlin Publisher & Editor - flash@FlashBack.COM