SAGE Job Descriptions

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.