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, firstname.lastname@example.org, or to the Chair, Tina Darmohray, email@example.com. Feel free to join the working group as well by sending email to firstname.lastname@example.org, with the body of the message "subscribe sage-jobs". Tina Darmohray SAGE Jobs Working Group Chair email@example.com 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.