Linux in Government: Linux System Administrators
Few information technology professionals can appreciate the skill, knowledge and experience required to administer Linux servers and workstations. The lack of appreciation reflects less on Linux professionals than on the people who should hire them. Regardless, CIO's need to understand better what a Linux system administrator brings to an organization, understand better the Linux skill set and learn how to evaluate qualified Linux technicians.
I have observed a particular problem related to Linux deployments in technology shops around the country. Most shops try to convert UNIX system administrators and/or Microsoft Certified Professionals into Linux administrators. They send people to courses thinking that if a person can master Microsoft NT/2000 or Solaris, they should have the ability to pick up knowledge of running a free operating system too.
Converting NT and UNIX system administrators to Linux, however, fails more often than not. Linux system administrators typify a different segment of the population and culture than most trained IT professionals. In general, a Linux system administrator has an easier time working on Microsoft and UNIX operating systems than the other way around.
Two years ago, one such convert publicly took exception to a milestone I established for a project. The convert asserted that we could not accomplish the tasks associated with that milestone in a year much less in two weeks. By the time our friend created a ruckus in the organization and brought in an IT auditor, we had reached that milestone and were working on the next phase of the project.
Similarly, on numerous occasions customers have told us we were "crazy" to believe we could complete projects in the time and for the fee we offered. Usually when I heard those assertions, I already had tripled my actual estimates, knowing that the real target would not be believed and find rejection. The model used in open-source software projects allows for rapid development and quick times to market and does not fit the paradigm of the typical IT professional.
A well-known and highly documented process called "skunk works" gives us a hint at why Linux people can accomplish so much in such little time. It also may explain why one might hesitate in a conventional hiring sense to bring a Linux system administrator or developer on board. While we tease out the skunk works process below, you might want to reflect on how Linux came into being.
If you understand the Skunk Works model, you should have a better understanding of Linux system administrators and developers. Unofficially, Skunk Works represents the name for Lockheed Martin's Lockheed Advanced Development Projects Unit, the unit responsible for the production of famous aircrafts, including the U-2, the SR-71 and the F-117. Skunk Works began during World War II, when Kelly Johnson and his small team developed the P-80 Shooting Star in makeshift quarters in only 143 days. This aircraft was the US Air Force's first jet fighter. Kelly Johnson headed Skunk Works until 1975.
Businesses now use the term skunk works in a generic manner. In most organizations, skunk works is a group of people who work on a project in a way that is outside the rules in order to achieve unusual results. Skunk works consist of a small team that assumes responsibility for developing something in a short time with minimal constraints. The name is taken from the moonshine factory in Al Capp's cartoon, Lil' Abner.
The Linux culture unwittingly meets and in some cases exceeds the model Kelly Johnson devised for rapid deployment. If you know anything about the history of Linux, you should see the similarities in the personalities of Kelly and Torvalds. You also should understand the kind of people attracted to Linux.
One of the more useful analysis tools I have seen qualifies individuals by distinguishing between conscious knowledge and competence. In this model, a conscious individual knows what to do and a competent person knows how to do it. The ultimate professional knows what to do and how to do it. Let's look at a model of this in Figure 1 and see if we can find distinctions that help define a skunk works sort of person.
A person in the ability matrix with capabilities in the regions of conscious and competent would be a real find. On the one hand, he or she can look into the environment and see what is "wanted and needed". Once they determine those requirements, they have the capability to accomplish the tasks associated with the requirements. Such an individual usually falls into the early adopter category of the population. In many ways, this is the mantra of the Linux guy.
The culture of the Linux community breeds people who know how to identify a problem and solve it by "doing it themselves". I once read on an internal IBM Linux User Group discussion list about several engineers who wanted to build a Lotus Notes client for Linux. One of the engineers said that they would not wait for the software engineers to build the client; they simply would do it themselves--like Linux guys.
So, when hiring managers are looking for a Linux guy, they should be prepared for a unconventional resume with a lot of interests, perhaps a checkered career path, someone you might consider over-qualified. If a hiring manager presented a candidate to Kelly Johnson using conventional constants, I doubt he would accept such a candidate.
Consider how Ralph Waldo Emerson describes a person who fits the ability model in his essay "Self-Reliance":
If our young men miscarry in their first enterprises, they lose all heart. If the young merchant fails, men say he is _ruined_. If the finest genius studies at one of our colleges, and is not installed in an office within one year afterwards in the cities or suburbs of Boston or New York, it seems to his friends and to himself that he is right in being disheartened, and in complaining the rest of his life. A sturdy lad from New Hampshire or Vermont, who in turn tries all the professions, who _teams it_, _farms it_, _peddles_, keeps a school, preaches, edits a newspaper, goes to Congress, buys a township, and so forth, in successive years, and always, like a cat, falls on his feet, is worth a hundred of these city dolls. He walks abreast with his days, and feels no shame in not `studying a profession,' for he does not postpone his life, but lives already. He has not one chance, but a hundred chances.
Emerson wrote during a time when the United States had approximately 13 states, so his references need some adjustment. Still, his message explains the personal characteristics of the skunk works personality: a dabbler.
According to traditional definitions, such as the one on the Sage Web site, you can find what many people believe fits a Linux system administrator:
system administrator n. a system administrator is one who, as a primary job function, manages computer and network systems on behalf of another, such as an employer or client.
Another page on that site provides classic definitions of UNIX system administrators. Sage divides them into Novice, Junior, Intermediate/Advanced and Senior. You should visit the Sage Web site if you want to look at these definitions.
Fortunately, we do not have to agree with the delineation used by Sage. Instead, we can see Linux administrators as specialists in a variety of areas. For example, a Linux person could be senior in administration of Web sites, networking, interoperability, kernel management, e-mail, network storage or maintaining a development environment. At a minimum, Linux system administrators should know user management, hardware and software maintenance and network administration. From there, a Linux guy probably specializes, as Linux now can be found in so many different areas of information technology, including embedded devices and virtual machines.
Is a Linux system administrator any less proficient if he deals with content management or streaming media servers instead of file and print servers? Undoubtedly, we would have to say no. In the world of Linux 2005, the old rules do not necessarily apply.
If you are looking for someone to manage Linux computer and network systems on behalf of another, such as an employer or client, be prepared. You may discover that the vast majority of Linux system administrators learned their trade on their own networks. Once they gained the knowledge they needed, they may have offered their services for hire.
When you find an appropriate Linux systems administration candidate, recognize that he probably does not fit your mold. But, if you use his skills correctly, he will empower your organization and make everyone around him better. If your are not getting that from your Linux guy, you could be facing one of two issues: your people have closed their minds to what Linux brings or you have the wrong person. You can correct them both.
Tom Adelstein lives in Dallas, Texas, with his wife, Yvonne, and works as a Linux and open-source software consultant with Hiser+Adelstein, headquartered in New York City. He's the co-author of the book Exploring the JDS Linux Desktop and author of an upcoming book on Linux system administration, to be published by O'Reilly and Associates. Tom has been writing articles and books about Linux since early 1999.