Short Topics in
System Administration Jane-Ellen Long, Series Editor
Job Descriptions for System Administrators 3d Edition, Revised tina darmohray NEW! Management Level Job Descriptions
Booklets in the Series #22: Job Descriptions for System Administrators, 3d Edition, by Tina Darmohray #21: Foundation for Cloud Computing with VMware vSphere 4, by John Arrasjid, Duncan Epping, and Steve Kaplan #20: Running the Numbers: System, Network, and Environment Monitoring, by Daniel V. Klein and John Sellens #19: Configuration Management with Bcfg2, by Narayan Desai and Cory Lueninghoener #18: Deploying the VMware Infrastructure, by John Arrasjid, Karthik Balachandran, Daniel Conde, Gary Lamb, and Steve Kaplan #17: LCFG: A Practical Tool for System Configuration, by Paul Anderson #16: A System Engineer’s Guide to Host Configuration and Maintenance Using Cfengine, by Mark Burgess and Æleen Frisch #15: I nternet Postmaster: Duties and Responsibilities, by Nick Christenson and Brad Knowles #14: System Configuration, by Paul Anderson #13: The Sysadmin’s Guide to Oracle, by Ben Rockwood #12: B uilding a Logging Infrastructure, by Abe Singer and Tina Bird #11: Documentation Writing for System Administrators, by Mark C. Langston #10: Budgeting for SysAdmins, by Adam Moskowitz #9: Backups and Recovery, by W. Curtis Preston and Hal Skelly #8: Replaced by #22 #7: System and Network Administration for Higher Reliability, by John Sellens #6: A System Administrator’s Guide to Auditing, by Geoff Halprin #5: Hiring System Administrators, by Gretchen Phillips #4: Educating and Training System Administrators: A Survey, by David Kuncicky and Bruce Alan Wynn #3: System Security: A Management Perspective, by David Oppenheimer, David Wagner, and Michele D. Crabb, and edited by Dan Geer #2: A Guide to Developing Computing Policy Documents, edited by Barbara L. Dijker
Short Topics in
System Administration Jane-Ellen Long, Series Editor
Job Descriptions for System Administrators 3d Edition, Revised Tina Darmohray
Published by the USENIX Association 2012
© Copyright 2012 by the USENIX Association. All rights reserved. ISBN 978-1-931971-90-4 To purchase additional copies, see http://www.sage.org/pubs/short_topics.html. The USENIX Association 2560 Ninth Street, Suite 215 Berkeley, CA USA 94710 http://www.usenix.org/ USENIX is a registered trademark of the USENIX Association. USENIX acknowledges all trademarks herein.
Contents Introduction 1 1. Core Job Descriptions 3 Definitions 3 Level I: Novice System Administrator 3 Level II: Junior System Administrator 4 Level III: Intermediate/Advanced System Administrator 5 Level IV: Senior System Administrator 6 Management Level I: Technical Lead 8 Management Level II: System Administration Manager 9 Management Level III: IT Director 10 Management Level IV: Chief Information Officer 11 2. Check-offs 13 Local Environment Experience 13 Heterogeneity Experience 13 Programming Skills 13 Networking Skills 13 Security 14 Site Specialties 14 Documentation 15 Databases 15 Hardware 15 Management 15 3. Alternative and Ancillary Titles 17 Network Administrator 17 System(s) Programmer 17 System(s) Manager 17 Systems Support Specialist 17 Help Desk Staff/User Support Specialist 18 Consultant 18
About the Author 19
Introduction Organizations that rely on computing resources to carry out their mission have always depended on system administration. 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, system administrators. Employers’ understanding of the profession of system administration, however, has not kept pace with the growth in the number of system 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 where computers have only recently been introduced, system administrators face perception problems that present serious obstacles to the successful execution of their duties. System administration is a widely varied task. The best system administrators are generalists: they can wire and repair cables, install new software, fix bugs, train users, offer tips for increased productivity across areas from editing to databases, evaluate new hardware and software, automate a myriad of mundane tasks, and expedite work flow at their site. In general, system administrators enable people to exploit computers at a level that gains leverage for the entire organization. Employers frequently fail to understand the background system administrators bring to their task. Because system administration draws on knowledge from many fields and because it has only recently begun to be taught at a few institutions of higher learning, system 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 system administrators, it is poorly understood by employers and hiring managers, who tend, when making personnel decisions, to focus on credentials to the exclusion of other factors. Understanding system administrators’ backgrounds, training, and the kinds 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 system administrators. One frequently used misclassification is that of programmer or software engineer. Although producing code is not a system administrator’s primary responsibility, that is the metric by which programmers are evaluated, so system administrators thus classified often receive poor
2 / Introduction evaluations for not being “productive” enough. Another common misclassification is the confusion of system administrators with support staff. Especially at smaller sites, where system administrators have to perform many of the functions normally assigned (at larger sites) to support staff, they are forced to contend with the false assumption that they are nonprofessional technicians. This, in turn, makes it very difficult for them to be compensated commensurately with their skill and experience. The USENIX professional organization for system administrators (LISA, formerly named SAGE) created the sage-jobs working group to address these problems. Its goals included the development of a set of appropriate job descriptions for system administrators and promotion of their adoption by organizations that employ system administrators. This volume contains the current job description templates, with additional lists of check-off items and of alternative and ancillary titles. The templates are intended to describe the core attributes of system administrators at various levels of job performance, while the check-off lists augment the core descriptions. In particular, they address site-specific needs and special areas of expertise. Job descriptions for more experienced system administrators or more senior positions will typically include more items from the check-off lists. When originally introduced in 1993, the Job Descriptions were focused on UNIX system administrators. In 2001 the descriptions were updated in general and revised specifically to be more inclusive of non-UNIX operating systems, primarily reflecting the increase of Windows-based operating systems. Particular attention was paid to addressing some of the titles originating in the Windows environment and to mapping them accurately into the system administration descriptions. For the first time, the 2010 update included management job descriptions for system administrators and those who manage them and their efforts. The new material was reviewed by managers responsible for hiring all flavors of system administrators. We would like to encourage interested parties to join USENIX to further this and other activities. Please visit http://www.usenix.org to find out more about USENIX’s sysadmin-specific activities and services. Tina Darmohray [email protected]
Core Job Descriptions Definitions These definitions are guidelines, not rigid categories. As any of the variables at a site increases—number of computers, number of users, types of hardware, variety of software, and operating systems supported—the site becomes more complex. Increased site complexity typically requires increased system administration resources and also requires more experienced system administrators to manage the more complex aspects of the site. Small, uniform site: Fewer than 100 computers and fewer than 100 users, all running the same base operating system. (Multiple versions of one operating system, e.g., Windows 2000, Vista, and Windows 7, or Red Hat, Solaris, and SuSE, would be considered one base operating system; Windows and Linux would be considered more than one base operating system.) Complex site: Up to 1000 computers and up to 1000 users, running more than one base operating system. Large, complex site: More than 1000 computers and more than 1000 users, running more than one base operating system. The titles proposed here may not be suitable for all sites. Senior System Admin istrator is a relatively standard title, but the titles in use for the lower levels vary widely from place to place. You should feel free to use whatever title is most appropriate for your situation.
Level I: Novice System Administrator Required Skills n Strong interpersonal and communication skills; ability to explain simple procedures in writing or verbally; good phone skills n Strong ability to learn; ability to follow instructions well; strong analytical skills n Familiarity with an operating system and its commands/utilities at a user level; ability to edit files, use basic utilities and commands, find users’ home directories, navigate through the file system, install software on workstations, and use I/O redirection; some understanding of how user authentication happens in a directory service context
4 / Core Job Descriptions n Ability
to identify/locate shared resources and perform simple tasks (e.g., manipulate jobs in a print queue, figure out why a network file system isn’t available) n Works well alone or on a team Required Background n Two years of college or equivalent post–high school education or experience Desirable Background and Skills n A degree or certificate in computer science or a related field n Previous experience in customer support, computer operations, system administration, or another related area n Interest in structured approaches to system configuration management n Strong intellectual curiosity, motivation to advance in the profession Appropriate Responsibilities n Performs routine tasks under the direct supervision of a more experienced administrator n Acts as a front-line interface to users, accepting trouble reports and dispatching them to appropriate system administrators
Level II: Junior System Administrator Required Skills n Strong interpersonal and communication skills; ability to train users in applications and operating system fundamentals and to write basic documentation n Strong skills with most operating system commands/utilities n Familiarity with most basic system administration tools and processes; for example, ability to boot/shut down a machine, add and remove user accounts, use backup programs and fsck or chkdsk, manage shared resources (e.g., file systems, printers), add a workstation to a network, mount remote file systems, and maintain system database files (groups, hosts, aliases, usermanager) n Familiarity with the principles and practice of system configuration management using modern declarative tools n Understanding distinctions between system processes/services and user processes, the authentication/authorization processes in use at the site, local and network resources and resource sharing, basic networking concepts and practices
Core Job Descriptions / 5 n For
Windows administrators, familiarity with the basic Windows administrative tools and how to locate them (e.g., Computer Management tool, lowest-level Active Directory tools) n Works well alone or on a team Required Background n One to three years of system administration experience Desirable Background and Skills n A degree in computer science or a related field n Familiarity with networked/distributed computing environment concepts; for example, ability to use the route command, administer routing and remote access service, and modify deployed group policies n Ability to write scripts in some administrative language (e.g., Perl, Python, VBScript, Windows PowerShell) n Programming experience in any applicable language Appropriate Responsibilities n Administers a small, uniform site alone or assists in the administration of a larger or complex site n Works under the general supervision of a system administrator or computer systems manager
Level III: Intermediate/Advanced System Administrator Required Skills n Strong interpersonal and communication skills; ability to write purchase justifications, train users in complex topics, make presentations to an internal audience, and interact positively with upper management n Independent problem-solving, self-direction n Comfort with most aspects of operating system administration; for example, managing processes and services, configuration of mail systems, system installation and configuration, printer systems, and fundamentals of security n Familiarity with the principles and practice of system configuration management using modern declarative tools; ability to model and reduce complex system requirements as configuration declarations n A solid understanding of the operating systems in use at the site; under standing of paging and swapping, inter-process communication, devices and what device drivers do, and filesystem concepts n Familiarity with fundamental networking/distributed computing environment concepts; ability to configure file sharing (NFS/SAMBA or Windows); ability to query DNS records; understanding of basic routing concepts
6 / Core Job Descriptions n Ability
to write scripts in some administrative language (e.g., Perl, Python, VBScript, Windows PowerShell) n Works well alone or on a team Required Background n Three to five years of system administration experience Desirable Background and Skills n A degree in computer science or a related field n Significant programming background in any applicable language n Ability to do minimal debugging and modification of C or Java programs Appropriate Responsibilities n Receives general instructions for new responsibilities from supervisor n Administers a complex site alone or assists in the administration of a larger site n Initiates some new responsibilities and helps to plan for the future of the site/network n Manages novice system administrators or operators n Evaluates and/or recommends purchases; has strong influence on purchasing process
Level IV: Senior System Administrator Required Skills n Strong interpersonal and communication skills; ability to write proposals or papers, act as a vendor liaison, make presentations to customers or client audiences or professional peers, and work closely with upper management n Ability to solve problems quickly and automate processes n Familiarity with the principles and practice of system configuration management; experience using a declarative configuration management system and a broad understanding of the role of desired configuration as part of strategic organizational knowledge n A solid understanding of an operating system; understanding of paging and swapping, inter-process communications, devices and what device drivers do, filesystem concepts (inode, clustering, logical partitions), ability to use performance analysis to tune systems n A solid understanding of networking/distributed computing environment concepts, including principles of routing, bridging and switching, client/ server programming, and the design of consistent network-wide filesystem layouts
Core Job Descriptions / 7 n Ability
to program in an administrative language (e.g., Perl, Python, VBScript, Windows PowerShell) n Works well alone or on a team Required Background n More than five years of previous system administration experience Desirable Background and Skills n A degree in computer science or a related field n Extensive programming background in any applicable language n Publications in the field of system administration n Ability to port C programs from one platform to another and to write small C or C# programs Appropriate Responsibilities n Designs/implements complex local and wide-area networks of machines n Manages a large, complex site or network n Works under general direction from senior management n Establishes/recommends policies on system use and services n Provides technical lead and/or supervises system administrators, system programmers, or others of equivalent seniority n Has purchasing authority and responsibility for purchase justification NEW: MANAGEMENT-LEVEL JOB DESCRIPTIONS
Computers continue to dominate new technologies, automate business processes, and store information in ways that have eclipsed even the most visionary predictions. The proliferation of computer use has outpaced the increase in efficiency, with the net result being more computers in more places than ever before. And they don’t run themselves! Professional system administrators are in high demand, and their numbers have increased along with the systems they oversee. When the number of machines to manage begins to require a group of system administrators to manage them, naturally a management hierarchy evolves. In larger organizations, it’s common for an entire department to be dedicated to running the computers, networks, and applications necessary to facilitate the organization’s computing and computing infrastructure. In fact, information technology has become such an integral part of organizations that the highest-level IT manager often reports as a C-level executive position. These new management-level job descriptions capture the management hierarchy common for those who manage system administrators and their efforts.
8 / Core Job Descriptions
Management Level I: Technical Lead Required Skills n All Senior System Administrator skills, including: n Strong interpersonal and communication skills n Ability to solve problems quickly and automate processes n A solid understanding of an operating system n A solid understanding of networking/distributed computing environment concepts n Ability to program in an administrative language and to understand, modify, and use higher-level languages such as C/C++ programs n Ability and desire to lead and the flexibility to also share the duties of the technical team n Willingness to mentor, train, and share knowledge with peers Required Background n More than five years of previous system administration experience Desirable Background and Skills n A degree in computer science or a related technical field n Experience mentoring employees n Experience in project, product, or team management Appropriate Responsibilities n Serves as a member of the team n Aggressively automates repeated tasks to allow the team to scale with the organization’s growth n Directs and participates in system administration efforts n Assists the system administration manager in setting staff goals and training, defining technology priorities, and developing long-term strategies to manage and scale system administration n Supervises one or more staff and provides them with technical guidance and mentoring n Communicates and acts as liaison with end users and colleagues n Acts as liaison between team members and the system administration manager n Communicates progress on priorities and budget to management and team
Core Job Descriptions / 9
Management Level II: System Administration Manager Required Skills n Management skills, including: n Strong interpersonal and communication skills n Strong writing, meeting, and organizational skills n A solid understanding of an operating system n A solid understanding of networking/distributed computing environment concepts n A solid understanding of programming languages and scripts n Ability and desire to manage a technical team n Willingness to mentor, train, and share knowledge with team members Required Background n More than two years of previous project, product, engineering, or team management Desirable Background and Skills n A degree in computer science or a related technical field n Senior system administrator skills n Experience mentoring employees n Experience in hiring and team-building n Budget management experience n Course work or training in business or management n Knowledge of IT-related regulatory and legal requirements Appropriate Responsibilities n Sets staff goals, defines technology priorities, and develops long-term strategies to manage and scale the organization’s system administration n Supervises one or more staff and provides them with technical guidance and mentoring n Provides career guidance and performance feedback to team members n Communicates and acts as liaison with end users and colleagues n Acts as liaison between team members and the IT director n Communicates progress on priorities and budget to management and team
10 / Core Job Descriptions
Management Level III: IT Director Required Skills n Senior management skills, including: n Strong interpersonal and communication skills n Writing, presentation, negotiation, facilitation, meeting, and organiza tional skills n Experience in hiring, team-building, and mentoring n Experience in budget management Required Background n A degree in computer science or a related technical field n Ability to manage a technical team n More than five years of previous project, product, engineering, or team management n Solid understanding of computers and computing environments, including operating systems, networking, distributed computing environments, databases, and programming languages n Knowledge of IT-related regulatory and legal requirements Desirable Background and Skills n A degree, course work, or training in business or management n Background in system administration or IT n At least five years at Management Level II n Experience with medium to large IT environments, multiple-platform OSes, and high availability data centers n Solid grounding in technical problem resolution and analysis Appropriate Responsibilities n Plans and provides tactical direction, sets management goals, defines priorities, and develops long-term strategies to manage and scale the organization’s system administration n Develops, implements, and manages a 24x365 IT environment, ensuring site scalability, integrity, performance, economy, and reliability n Leads vendor selection process, negotiates contracts, and manages ongoing relationships and deliverables n Supervises one or more direct managers and provides them with tactical guidance and mentoring n Provides career guidance and performance feedback to direct reports
Core Job Descriptions / 11 n Communicates
with partners across the organization and with management to ensure that infrastructure-related priorities are tied to overall organiza tional objectives and needs n Acts as liaison between IT managers and CIO or senior management n Communicates progress on priorities and budget to senior management and direct reports
Management Level IV: Chief Information Officer Required Skills n Senior management skills, including: n Strong interpersonal and communication skills n Writing, presentation, negotiation, facilitation, meeting, and organiza tional skills n Experience in hiring and team-building n Experience in financial management and accounting Required Background n A degree in computer science, information systems, business, or a related technical field or the equivalent in experience n Ability to lead the IT effort of an organization n More than ten years of previous project, product, engineering, or team management n Solid understanding of computers and computing environments, including operating systems, networking, information security, distributed computing environments, databases, and programming languages n Solid grounding in technical problem resolution and analysis n Executive-level understanding of finances and accounting n Knowledge of IT-related regulatory and legal requirements Desirable Background and Skills n Both a degree, course work, or training in business or management and a degree, course work, or training in computer science or information systems n At least five years at Management Level III n Experience managing medium to large IT environments, multiple-platform OSes, and high availability data centers n Knowledge of business-related regulatory and legal requirements
12 / Core Job Descriptions Appropriate Responsibilities n Plans and provides direction, sets management goals, defines priorities, and develops long-term strategies to manage and scale secure, reliable IT efforts for the organization n Supervises one or more direct managers and provides them with strategic guidance and vision n Provides
career guidance and performance feedback to direct reports n Communicates with partners across the organization and with the Board of Directors and senior management to ensure that IT-related agendas are tied to overall organizational objectives and create competitive advantage for the organization n Acts as liaison for IT needs between the Board of Directors and senior management and organizational units n Communicates progress on priorities and budget to the Board of Directors and senior management and to direct reports
2. Check-offs Any of these additional criteria may be appended to the base job descriptions in either the “Required Skills” or “Desirable Background and Skills” categories.
Local Environment Experience n Experience
with the specific operating systems, applications, or pro gramming languages in use at the site (e.g., Solaris, Windows, Linux, CAE/ CAD software, database software) n Experience with the work done by the users at the site
Heterogeneity Experience n Experience
with more than one UNIX-based operating system n Experience with sites running more than one UNIX-based operating system n Experience with a Windows-based operating system n Experience with sites running more than one Windows-based operating system n Experience with both UNIX-based and Windows-based operating systems n Experience with internetworking non-similar operating systems (e.g., UNIX, Windows, Macintosh)
Programming Skills n Extensive
programming experience in an administrative language (e.g., Perl, Python, VBScript, Windows PowerShell) n Extensive programming experience in any applicable language
Networking Skills n Experience
configuring network file systems (e.g., NFS, RFS, AFS, CIFS, SAMBA) n Experience configuring automounters n Experience with network storage solutions (e.g., SANS) n Experience configuring license managers
14 / Check-offs n Experience
configuring NIS/NIS+ or LDAP n Experience with TCP/IP networking protocols; ability to debug (tcpdump, etherpeek, netstat, lsof ) and program at the network level n Experience with high-speed networking (e.g., Infiniband) n Experience with highly complex TCP/IP networks (networks that contain multiple routers and multiple media) n Experience configuring and maintaining routers n Experience with VPNs n Experience installing/configuring DNS/BIND n Experience as postmaster of a site n Experience installing/configuring a Web server n Experience installing/configuring load balancers, packet shapers, or proxies n Experience configuring wireless LAN controllers and access points and configuring wireless security
Security n Experience
with network security (e.g., configuring firewalls, deploying authentication systems, or applying cryptography to network applications) n Experience with host security (e.g., passwords, uids/gids, SIDs, file permissions, ACLs, filesystem integrity, use of security packages) n Experience deploying VPNs n Experience using intrusion detection software n Experience with Kerberos n Experience with classified computing or with multi-level classified environments n Experience performing forensic investigations, including proper documentation and chain-of-evidence procedures
Site Specialties n Experience
at sites with at least several thousand computers and terabytes or petabytes of disk space n Experience configuring virtualized environments (desktop and server) and managing virtual servers (e.g., resource allocation, configuration management) n Experience coordinating multiple independent computer facilities (e.g., working for the central group at a large company or university, managing international locations/sites) n Experience managing remote access and remote users (e.g., portable devices, secure remote access to internal services and data and secure management of remote devices)
Check-offs / 15 n Experience
managing and securing social media for business use n Experience maintaining compliance with applicable laws or regulations (SOX, HIPAA, PCA, FISMA) n Experience with a site requiring 100% uptime n Experience developing/implementing a site disaster-recovery plan n Experience with a site requiring charge-back accounting n Experience with supercomputers
Documentation n Background
in technical publications, documentation, or desktop
Databases n Experience
using relational databases n Experience programming in a database query language n Experience with database backup and restore n Previous experience as a database administrator
Hardware n Experience
installing and maintaining the network devices and cabling in use at the site n Experience installing/configuring peripherals (e.g., disks, modems, printers, data acquisition devices) n Deployment and administration of portable devices (e.g., smart phones, tablet PCs), network devices, specialized hardware (e.g., scientific equipment, research apparatus), or other non-computer hardware n Experience with board-level diagnosis and repair of computer systems n Experience with component-level diagnosis and repair of computer systems n Experience designing a server room
Management n Experience
supporting and implementing business/IT alignment responsibility n Experience in writing personnel reviews and ranking processes n Experience in interviewing/hiring n Budget
3. Alternative and Ancillary Titles Several job titles associated with this sort of work are not covered in this booklet. Below is an attempt to describe their differences from and similarities to the jobs actually in the system administration family.
Network Administrator There are several common uses of this title. Typically the title refers to router and hardware specialists who manage the networking infrastructure and who may have no operating system experience whatsoever. At some sites, intermediate or better system administrators with a specialty in networking are also called Network Administrators. Historically, this title had also been used for people administering Novell and Macintosh networks, or for Microsoft system administrators.
System(s) Programmer In general, this title applies to positions that primarily involve creating new operatingsystem-level services (as opposed to user applications) and/or tuning existing services. This title is sometimes used for senior system administrators at sites that have no senior positions in the system administration job family; it may also be used to indicate people within a system administration group who specialize in programming to support system administration instead of direct user interaction and system debugging.
System(s) Manager System Manager was a synonym for System Administrator generally used at sites that are not now or were not originally UNIX-based. System Manager is the VMS equivalent to the UNIX System Administrator.
Systems Support Specialist A Systems Support Specialist is usually a system administrator with concentrated knowledge in a non-computer field (for instance, statistics, biology, or chemistry) who is designated to support systems used in that field. This title may also indicate someone within a system administration group who specializes in user interaction.
18 / Alternative and Ancillary Titles
Help Desk Staff/User Support Specialist Within a system administration group, these titles are usually used to refer to novice or junior system administrators who specialize in user interaction. At universities the term “consultant” is very frequently used for a student employee assisting other students with computer use. When these titles occur outside of system administration groups, they generally refer to people engaging in the separate and demanding profession of providing direct user support, often for a commercial product. For instance, a System Administrator faced with a broken printer would expect to fix the printer, whereas a User Support Specialist would expect to walk somebody else through the process of fixing the printer, or the process of identifying the printer as broken and calling whoever is supposed to actually fix it.
Consultant Consultants are generally very experienced professionals or have great expertise in a particular area. Often they are hired on a per-job basis. They tend to focus on advising how best to use information technology to meet an organization’s business objectives or, in the case of special-skillset consultants, to certify, implement, or deploy IT systems for the organization.
About the Author Tina Darmohray is Assistant VP and Chief Information Security Officer for Stanford University. Previously she spent a decade as a consultant specializing in the area of computer and network security. Prior to that she was the lead for the UNIX support team at Lawrence Livermore National Laboratory. Darmohray was a founding board member of SAGE, the System Administrators Guild, and has served on the USENIX Board of Directors. She holds B.S. and M.S. degrees from the University of California, Berkeley.