SAGE Job Descriptions
Note: an expanded version of this document can be ordered from
USENIX for
$5.00.
Organizations that rely on computing resources to carry out their
mission have always depended on systems administration and systems
administrators. The dramatic increase in the number and size of
distributed networks of workstations in recent years has created a
tremendous demand for more, and better trained, systems
administrators. Understanding of the profession of systems
administration on the part of employers, however, has not kept pace
with the growth in the number of systems administrators or with the
growth in complexity of system administration tasks. Both at sites
with a long history of using computing resources and at sites into
which computers have only recently been introduced, systems
administrators face perception problems that present serious obstacles
to their successfully carrying out their duties.
Systems administration is a widely varied task. The best systems
administrators are generalists: they can wire and repair cables,
install new software, repair bugs, train users, offer tips for
increased productivity across areas from word processing to CAD tools,
evaluate new hardware and software, automate a myriad of mundane
tasks, and increase work flow at their site. In general, systems
administrators enable people to exploit computers at a level which
gains leverage for the entire organization.
Employers frequently fail to understand the background that systems
administrators bring to their task. Because systems administration
draws on knowledge from many fields, and because it has only recently
begun to be taught at a few institutions of higher learning, systems
administrators may come from a wide range of academic backgrounds.
Most get their skills through on-the-job training by apprenticing
themselves to a more experienced mentor. Although the system of
informal education by apprenticeship has been extremely effective in
producing skilled systems administrators, it is poorly understood by
employers and hiring managers, who tend to focus on credentials to the
exclusion of other factors when making personnel decisions.
Understanding system administrators' background, training, and the
kind of job performance to be expected is challenging; too often,
employers fall back into (mis)using the job classifications with which
they are familiar. These job classification problems are exacerbated
by the scarcity of job descriptions for systems administrators. One
frequently used misclassification is that of programmer or software
engineer. Although the primary responsibility of the systems
administrator is not to produce code, that is the metric by which
programmers are evaluated, and systems administrators thus classified
often receive poor evaluations for not being "productive" enough.
Another common misclassification is the confusion of systems
administrators with operators. Especially at smaller sites, where
systems administrators themselves have to perform many of the
functions normally assigned (at larger sites) to operators, systems
administrators are forced to contend with the false assumption they
are non-professional technicians. This, in turn, makes it very
difficult for systems administrators to be compensated commensurate
with their skill and experience.
SAGE, as the professional organization for systems administrators,
formed the `sage-jobs' working group to address these problems. Its
goals include the creation of a set of appropriate job descriptions
for systems administrators and promotion of their adoption by
organizations that employ systems administrators.
Below are the current job description templates that the working group
has produced. We have created an additional list of check-off items.
The templates are intended to describe the core attributes of systems
administrators at various levels of job performance, while the
check-off list is intended to augment the core descriptions. In
particular the check-off list is intended to address site-specific
needs, or special areas of expertise that a systems administrator may
have. Job descriptions for more experienced systems administrators or
more senior positions will typically include more items from the
check-off list.
As a SAGE member, we'd like to encourage your comments on the work to
date. Please send your input to the sage-jobs working group,
sage-jobs@usenix.org, or to the Chair, Tina Darmohray,
tmd@eticket.llnl.gov. Feel free to join the working group as well by
sending email to majordomo@usenix.org, with the body of the message
"subscribe sage-jobs".
Tina Darmohray
SAGE Jobs Working Group Chair
tmd@eticket.llnl.gov
Definitions
A "small site" has 1-10 computers, all running the same operating
system, and 20 or fewer users. (A computer used by only the
administrator does not qualify as a site.)
A "midsized site" has up to 100 systems, running no more than 3
different operating systems, and up to 100 users.
A "large site" has 100 or more computers, potentially running more
than one operating system, and 100 or more users.
The following are the core templates:
Novice
Required skills:
-
Has strong inter-personal and communication skills; is capable of
explaining simple procedures in writing or verbally, has good phone
skills.
-
Is familiar with UNIX and its commands/utilities at a user level; can
edit files, use a a shell, find users' home directories, navigate
through the file system, and use i/o redirection.
-
Is able to follow instructions well.
Required background:
-
2 years of college or equivalent post-high-school
education or experience.
Desirable:
-
A degree or certificate in computer science or a related
field.
-
Previous experience in customer support, computer
-
operations, system administration or another related area. Motivated
to advance in the profession.
Appropriate responsibilities:
-
Performs routine tasks under the direct supervision of a more
experienced system administrator.
-
Acts as a front-line interface to users, accepting trouble
reports and dispatching them to appropriate system administrators.
Junior:
Required skills:
-
Strong inter-personal and communication skills;
capable of training users in applications and UNIX fundamentals, and
writing basic documentation.
-
High skill with of most UNIX commands/utilities. Familiarity with most
basic system administration tools and processes; for example, can
boot/shutdown a machine, add and remove user accounts, use backup
programs and fsck, maintain
system database files (groups, hosts, aliases). Fundamental
understanding of a UNIX-based operating
system; for example, understands job control, soft and hard links,
distinctions between the kernel and the shell.
Required background:
One to three years of system administration experience.
Desirable:
-
A degree in computer science or a related field.
-
Familiarity with networked/distributed computing environment concepts;
for example, can use the route command, add a workstation to a
network, and mount remote filesystems.
-
Ability to write scripts in some administrative language (Tk, Perl, a
shell).
-
Programming experience in any applicable language.
Appropriate responsibilities:
Administers a small site alone or assists in the administration of a
larger system. Works under the general supervision of a system
administrator or computer systems manager.
Intermediate/Advanced:
Required skills:
-
Strong inter-personal and communication skills; capable of writing
purchase justifications, training users in complex topics, making
presentations to an internal audience, and interacting positively with
upper management. Independent problem solving; self-direction.
-
Is comfortable with most aspects of UNIX systems administration;
for example, configuration of mail systems, system installation and
configuration, printing systems, fundamentals of security, installing
third-party software.
-
A solid understanding of a UNIX-based operating system; understands
paging and swapping, inter-process communication, devices and what
device drivers do, file system concepts ("inode", "superblock").
-
Familiarity with fundamental networking/distributed computing
environment concepts; can configure NFS and NIS, can use nslookup or
dig to check information in the DNS, understands basic routing
concepts.
-
Ability to write scripts in some administrative language (Tk, Perl, a
shell).
-
Ability to do minimal debugging and modification of C
programs.
Required background:
Three to five years systems administration experience.
Desirable:
-
A degree in computer science or a related field.
-
Significant programming background in any applicable language.
Appropriate responsibilities:
-
Receives general instructions for new responsibilities from
supervisor.
-
Administers a mid-sized site alone or assists in the
administration of a larger site.
-
Initiates some new responsibilities and helps to plan
for the future of the site/network.
-
Manages novice system administrators or operators. Evaluates and/or
recommends purchases; has strong influence on purchasing process.
Senior:
Required skills:
-
Strong inter-personal and communication skills; capable of writing
proposals or papers, acting as a vendor liaison, making presentations
to customer or client audiences or professional peers, and working
closely with upper management.
-
Ability to solve problems quickly and and completely.
-
Ability to identify tasks which require automation and automate them.
-
A solid understanding of a UNIX-based operating system;
understands paging and swapping, inter-process communication, devices
and what device drivers do, file system concepts ("inode",
"superblock"), can use perfomance analysis to tune systems.
-
A solid understanding of networking/distributed computing environment
concepts; understands principles of routing, client/server
programming, the design of consistent network-wide filesystem layouts.
-
Ability to program in an administrative language (Tk, Perl, a shell),
to port C programs from one platform to another, and to write small C
programs.
Required background:
More than five years previous systems administration
experience.
Desirable:
-
A degree in computer science or a related field.
-
Extensive programming background in any applicable language.
-
Publications within the field of system administration.
Appropriate responsibilities:
-
Designs/implements complex local and wide-area networks of machines.
-
Manages a large site or network.
-
Works under general direction from senior management.
Establishes/recommends policies on system use and services.
-
Provides technical lead and/or supervises system
administrators, system programmers, or others of equivalent seniority.
-
Has purchasing authority and responsibility for purchase
justification.
Check Offs
These are things you might want to add to the base job descriptions as
either required or desirable.
- Local Environment Experience
- Experience with the specific operating systems, applications, or
programming languages in use at the site (for example SunOS, AIX,
CAE/CAD software, FrameMaker, Mathematica, Fortran, Ada). Experience
with the work done by the users at the site.
- Heterogeneity Experience
- Experience with more than one UNIX-based operating system. Experience
with sites running more than one UNIX-based operating system.
Familiarity with both System V and BSD-based UNIX operating systems.
Experience with non-UNIX operating systems (for example, MS-DOS,
Macintosh OS, or VMS). Experience with internetworking UNIX and other
operating systems (MS-DOS, Macintosh OS, VMS).
- Programming Skills
- Extensive programming experience in an administrative language
(Tk, Perl, a shell). Extensive programming experience in any
applicable language.
- Networking Skills
-
Experience configuring network file systems (for example, NFS, RFS, or
AFS). Experience with network file synchronization schemes (for
example, rdist and track). Experience configuring automounters.
Experience configuring license managers. Experience configuring
NIS/NIS+. Experience with TCP/IP networking protocols (ability to
debug and program at the network level). Experience with non-TCP/IP
networking protocols (for example, OSI, Chaosnet, DECnet, Appletalk,
Novell Netware, Banyan Vines). Experience with high-speed networking
(for example, FDDI, ATM, or SONET). Experience with complex TCP/IP
networks (networks that contain routers). Experience with highly
complex TCP/IP networks (networks that contain multiple routers and
multiple media). Experience configuring and maintaining routers.
Experience maintaining a site-wide modem pool/terminal servers.
Experience with X/X terminals. Experience with dial-up networking
(for example, SLIP, PPP, or UUCP). Experience at a site that is
connected to the Internet. Experience installing/configuring DNS/BIND.
Experience installing/administering Usenet news. Experience as
postmaster of a site with external connections.
- Security
-
Experience with network security (for example, building firewalls,
deploying authentication systems, or applying cryptography to network
applications). Experience with classified computing. Experience with
multi-level classified environments. Experience with host security
(for example, passwords, uids/gids, file permissions, file system
integrity, use of security packages).
- Site Specialities
-
Experience at sites with over 1,000 computers, over 1,000 users, or
over a terabyte of disk space. Experience with supercomputers.
Experience coordinating multiple independent computer facilities (for
example, working for the central group at a large company or
university). Experience with a site with 100% uptime requirement.
Experience developing/implementing a site disaster recovery plan.
Experience with a site requiring charge-back accounting.
- Documentation
- Background in technical publications, documentation, or desktop
publishing.
- Databases
-
Experience using relational databases. Experience using a database
query language. Experience programming in a database query language.
Previous experience as a database administrator.
- Hardware
- Experience installing and maintaining the network cabling in use
at the site. Experience installing boards and memory into systems.
Experience with SCSI device setup and installation. Experience
installing/configuring peripherals (for example, disks, modems,
printers, or data acquisition devices). Experience with board-level
diagnosis and repair of computer systems. Experience with
component-level diagnosis and repair of computer system.
- Management
- Budget responsibility. Experience in writing personnel reviews, and
ranking processes. Experience in interviewing/hiring.