Awesome Conferences

The road to intentional, formal, system administration education

System Administration is maturing and, yet, there is no accepted standard curriculum. It is ironic, and somewhat scary, that a field that society is more and more dependent on has no formal, accepted, educational path. I propose a framework that is similar to that of the electrical/electronics industry.

To become a doctor there is a generally accepted educational path. Undergraduate "pre med" or biology program, medical school, internship, and so on. It gives me great comfort that the doctors that I see follow a formal path. Sysadmins, however, often "fall into" the career. I know many sysadmins whose formal education is in physics, for example, because it teaches them the rigors of mathematics, measurement, and thinking in terms of systems. I know many sysadmins who got their start with computers as a hobby by experimenting at home, possibly fixing friend's computers, and then "fell into" system administration as a job and are enjoying a highly successful career. Yet, I know of exactly zero doctors who got their start performing medical experiments at home. The medical profession went from "barbershops" to the scientific study and practice of medicine. System administration must make a similar journey.

Education of system administration is evolving into a 3-part framework similar to the electrical industry. If we are to mirror that industry it is important to first understand their framework.

The electrical industry has three tiers: the technician, the engineer, and the researcher.

The technician is someone you might hire to install a new electrical outlet in your home, or on a construction site installs the electrical infrastructure. People in this role follow the accepted practices of the industry, called "building codes". A technician literally might not know Ohm's Law. They do know, however, that the building code says every n feet of this there has to be one of that. That every 15 Amp circuit can have a certain number of outlets. They might not know, or care, why these rules exist, but they are rules to be followed. They know that if such a rule is violated the work will not pass when the building inspector checks their work. Technician jobs generally do not require a college education.

The engineer generally has formal college education. They have a depth of knowledge that enables them to design the systems that technicians install. They understand not just what building codes exist but they understand the science behind them. They are responsible not just for small designs such as the wiring for a new home, but also for large designs such as the power of a stadium lighting grid. More senior engineers write new building codes. Some engineers have a general practice while others specialize. Some are involved in relatively mundane projects while others are on the cutting edge.

The researcher invents. While engineers may design something that has never been designed before, researchers create entirely new categories. They may have a design approach and invent new components or they may take a physics approach and invent entirely new paradigms.

The field of system administration would benefit from a similar approach.

The system administrator technician deploys and maintains the systems as designed by others. They may not know all the details of why a standard exists but they know how to stay within those bounds. This already exists in terms of "vendor certifications". A technician learning a Red Hat, Cisco, or Microsoft certification is equivalent to an electrician learning the building codes. Rather than a government inspector providing a "certificate of occupancy" (C.O.), the pressure to follow the standards set out by the vendors who withhold support from designs that do not follow certain best practices. When designing a MS-Exchange environment one could choose to not use ActiveDirectory but it would be against the vendor recommendation and would not be a supported configuration. I've been told by network engineers that they were choosing one design idea over another because Cisco would not "certify" designs of such stripe. While vendors use the "carrot" of the promise of support, it is as powerful as the "stick" of a building inspector's "C.O."

The system administration engineer is less well defined. There is a serious need for University level degrees to fill this void. There should be BA/BS level degrees as well as degrees at the Masters level.

The systems administration researcher is the Ph.D level. This does not need much explanation. However, it should be pointed out that one does not need a Ph.D to invent in the world of systems administration. The industry is moving too quickly to isolate the creation of new paradigms to an ivory tower. The entire DevOps paradigm is a "found pattern" i.e. evolved organically and was given a name once many individuals all reached the same conclusion.

What should our next steps be?

Educating technicians is being taken care of by vendors. That's fine and appropriate.

PhD level education is something that will come in time.

The gap is at the University level. That should be the focus. To be more specific, the ultimate goal should be to define a 4-year degree in systems. To that end, we should begin by finding who is currently teaching "system administration" at a University level, catalog what they are doing, and bring them together to flesh out standards for curriculum.

I would be interested in talking with university-level instructors that would like to join forces and do such a project.

Tom Limoncelli


Posted by Tom Limoncelli in Education

No TrackBacks

TrackBack URL:

9 Comments | Leave a comment

I agree, there needs to be a recognized curriculum for the practice of system administration. Excellent article :)

I seem to recall a uni in Queensland AUS that has sysadmin courses as part of their BS curriculum. There are probably others.

I'm not a university professor, but I agree with the need for a formalized program. It's one of the potential career paths I see for myself after completing my M.S.

While I'm a Network Administrator, not a Sysadmin, but I kind of agree and disagree. While it would be nice to have a standardized curriculum for current, up to date IT related education in the formal education system we can't even get that for current subjects. Let alone a career that's changing constantly. I don't see the current education system being able to keep up so that courses would be accurate.

Without discounting the problem space you've mapped and some of the benefits you ascribe to a more formal process for training and certifying systems administrators, let me offer some counter-thoughts.

  1. It will raise costs. Education is expensive. Certification bureaucracies are expensive. Initially, I suppose, the students will bear those costs, but sooner or later they'll get passed through the labor market to employers and customers. There may be an argument that money spent on education and certification will end up lowering the overall cost of doing business (increased uptime, keeping data safer, etc), but the direct cost of system administration will grow.
  2. Guilds are notoriously conservative, even reactionary. At their worst, they seek to maintain an artifically high wage structure for their members and work against changes that undermine those wages. Bureaucracies reward error avoidance far more than innovation, and they tend toward in-fighting and budget wrangling. If that's the professional environment that defines successful system administrators, I think we'll all be poorer for it.
  3. I'm not sold on the analogies you've chosen. Mistakes by a physician or electrician can lead to death, disfigurement, and substantial property damage. While there are some system administrators who can do that sort of damage, there are far more whose mistakes have fewer and less permanent real-world consequences. Certification for, say, hospital IT staff sounds like an excellent idea. Requiring similar training for .edu admins? Not so much.

I partly agree with your assessment--The reason there is a lack of undergraduate and graduate level System Administration curriculum is that Computer Science and Software Engineering fills these roles.

Building on your assessment:

the technician:
System Administrators fall into this category. Think of Electricians in the
field of Electrical Engineering.
System Administrators use tools and
products produced by Engineers to
build and maintain enterprise networks.

the engineer:
Software Engineers fall into this category. The Engineers use the
properties of Computer Science to build
products (application/system software, network appliances, etc.) that are used by system administrators to build and maintain complex systems and networks.

the researcher:
The Computer Science researchers create
new techniques and explore the outer edges of Computer Science/Software Engineering.

Tom, does this program at Seneca College in Canada fit the bill for what you are looking for?

I guess I'm in the unique position here at the OSL. We have roughly a dozen sysadmins in training, in a handful of degree programs.

My first thought is that we don't really need 4 year degrees in system administration. I suspect that as the author of books, an organizer of conferences and public blogger whose identity is entwined with "system administration", your motivation is to glorify and improve the status of your profession, rather than fill any particular market need. Moreover, I'm concerned we'd lose a lot of diversity though this narrow focus credential.

Still, I do recognize that traditional CS and MIS degrees leave a hole; I'm just uncertain you can fit an entire 4 year degree in that void. I am slowly collecting materials and building courseware for sysadmin training in the course of my duties, and have ideas percolating on the subject. Perhaps we should talk.

I am afraid the job of a sysadmin cannot be reduced to a formal university degree. A formal education and consequently, a degree is possible in areas that are static. The hallmark of a sysadmin is the dynamic nature of his job responsibilities. He has to keep himself abreast of what is happening in the world of computing, assimilate it and translate into job competence. If this fluid nature of the job is not understood, the sysadmins will get dated and then outdated !

Posted by: anand aivalli at June 16, 2012 10:11 AM

Leave a comment