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
2012-06-04