Class Specifications - F.15
Programmer/Analyst I - 7278
Programmer/Analyst II - 7277
Programmer/Analyst II - Supervisor - 7276
Programmer/Analyst IIl - 7275
Programmer/Analyst III - Supervisor-7274
Programmer/Analyst IV - 7273 v Programmer/Analyst IV - Supervisor - 7272
Programmer/Analyst V - 7271
Programmer/Analyst V - Supervisor - 7270

April, 1986

Series Concept

This series encompasses computer progranuning and/or systems analysis. Because the duties of programmers and analysts almost always overlap, the broad scope of this series is intended to reasonably accommodate both types of work.

NOTE: This series is NOT intended for positions that use computers as a tool, e.g., for data analysis, data retrieval, report writing. Such positions

should be classified according to their primary functional responsibilities.

Computing specialities may include, but are not limited to: systems software; administrative applications; scientific applications; research, . instructional, or administrative user services/consulting; databases; data communications/ networks. It is recognized that these specialties differ in terms of required technical knowledge and complexity; therefore, positions at the operational level of each specialty may vary in classification.

Progranvners/Analysts: Define and analyze problems to effect computer-orientedsolutions; gather information, prepare charts and documents describing what needs to be done and how it is to be done; analyze existing systems; design new systems; develop new forms, reports, and screens; confer with users (management, instructional, research, medical, or administrative); design and code; develop test data; test and debug programs; document all proceduresutilized by programs; evaluate and/or modify computer programs; select precoded program elements; develop special and general or multi-purpose programs to facilitate interface with a computer; install, document and maintain compilers, programning and other software packages, and database systems; monitor systems performance; plan, design and implement data communications networks, including computer-to-computer links, terminal to mainframe links, and microcomputer-to-microcomputer links; provide assistance to users on how to use computing facilities; provide one-on-one consulting; teach courses; prepare documentation, evaluate hardware and software; and specialize in programning languages, use of microcomputers, or graphics, depending on the needs of the unit or campus.

Reference attached "Definition of Terms" for the accepted definitions of the complexity of tasks for the positions classified as Programmers/Analysts.

Skills range from those needed at the entry level up to those used to develop major systems. Actual positions may use different working titles appropriateto the office, campus, or situation, as determined by local management.

The Programmer/Analyst series specifically recognizes supervisory responsibility in four of its five levels (II -V). Positions allocated to the supervisory titles in this series must meet the criteria for supervisionas defined in the Supplemental Guidelines for Supervisor Classes (SAM 12).

Class Concepts

Programmer/Analyst I

Under close superv1s1on, incumbents perform programming and/or systems analysis tasks for routine application programs. Incumbents may assist in programming and analysis of systems in a trainee capacity. This is normallyconsidered the entry level for the series for incumbents who have had some exposure to the fundamentals of programming or analysis.

Examples of duties typically include:

  1. Assist with design, analysis, maintenance, documentation, and testing of software.
  2. Code, debug, test, and document routine application programs.
  3. Install and test routine software packages.
  4. Assist users with procedural or minor technical problems.
  5. Advise or train uiers regarding the technical aspects and use of standard software packages.
  6. Assist in maintaining program libraries, users' manuals, or technical documentation.

Programmer/Analyst II
Programmer/Analyst II-Supervisor

Under supervision, incumbents perform operational-level programming and systems analysis functions for routine application systems or for portions of moderately complex or complex systems. A position at this level may be the sole computing professional in a department. A position at this level may supervise lower level computing or other support staff.

Examples of duties typically include:

  1. Design new systems or enhancements to existing systems.
  2. Determine source data (input), processing requirements (output), outputformats, timing and cost estimates.
  3. Verify that system meets performance criteria.
  4. Design, implement, and document procedures.
  5. Design/modify, code, debug, test, and document moderately complex application systems.
  6. Install and test moderately complex software packages.
  7. Install and maintain operating systems software in a small computing center or assist in installing and maintaining operating systems software in a medium to large computing center, e.g., operating systems, data base software, data communication/network software, and utility sqftware.
  8. Develop and/or teach seminars, workshops, or classes to users or other Programmer/Analysts on the technical aspects or use of computer hardware, software packages or application systems.
  9. Consult on the use of moderately complex software packages.
  10. Advise users regarding program techniques and design.
  11. Maintain program libraries, users' manuals, or technical documentation.

Programmer/Analyst III Programmer/Analyst III-Supervisor

Under general supervision, incumbents perform programming and/or systems analysis for moderately complex or complex application system. Assignmentstypically require either advanced knowledge of hardware, software, or systemsanalysis techniques and standards, or specialized knowledge of a subject matter, discipline, or administrative function. Positions in this class mayhave project leadership or supervisory responsibility over several Programmer/Analysts with responsibility for more than one portion of a system, or be responsible for a portion of a complex system with no supervisory responsibilities. Incumbents work on multiple tasks that are not necessarily well defined; make recommendations that may have an impact on an entire project or system, or on a medium-to-large-scale computing facility. Incumbents may provide on a continuing basis advanced technical guidance to others at the same or lower level.

In addition to performing work described at Level II, examples of duties typically include:

  1. Work with users in designing moderately complex application systems or
  2. portions of complex application systems.
  3. Prepare cost/benefit analysis of alternative solutions.
  4. Specify alternate program design approaches.
  5. Install or maintain complex applications systems or complex software
  6. packages, which require knowledge of interfaces and of the impact on
  7. users.
  8. Install and maintain operating systems software in a medium to large
  9. computing center, e.g., operating systems, database software, data
  10. cormnunication/network software, and utility software.
  11. Provide consulting service in specialized prograrrming languages and
  12. software.

Programmer/Analyst IV
Programmer/Analyst IV-Supervisor

Under direction, incumbents work as functional leader or as technical experts.

Functional Leader

As a functional leader, incumbents provide leadership for planning, development, implementation, maintenance, and documentation of large systems using multiple functions and crossing organizational lines:
  • Supervise Programmer/Analyst staff working on multiple projects affecting several departments;
  • Select and train staff in systems analysis and design techniques, machine approach, programming, time estimation, and scheduling;
  • Provide technical review and direction;
  • Plan and develop processing systems by conferring with high-level managementto determine problems and feasibility of departmental requests;
  • Analyze proposed new systems or changes to existing systems in terms of cost, benefit, timeliness, and effectiveness.

Technical Expert

As a technical expert, incumbents function as top-level technical contributors in a computing speciality. Exhibits full technical mastery of system internals and operating systems software and hardware interrelationships. This is the advanced operational level for complex software support typically in a large or multiple-CPU computing environment.

  • Design, evaluate programs, or provide advanced technical direction for systems with multiple tasks or interfaces, including responsibility for system integrity, recoverability, and controls.
  • In a large or multi-CPU computing environment with campus-wide impact, install, maintain, administer, monitor, or consult on operating systems software with responsibility for performance and reliability. This includes operating systems, databases, data communications/networks, teleprocessing monitors, or similar software.

Programmer/Analyst V
Programmer/Analyst V-Supervisor

Under general direction, incumbents work as functional leaders or as creative technical experts.

Functional Leader

As a functional leader, incumbents perform Level IV functional leader duties, supervise two or more Level IV programmer/analysts, and perform one of the following:

  • Manage small, highly technical software groups, e.g., network programming, systems software, or database systems in a large-scale mainframe environment. OR
  • Manage multiple projects or teams having campus-wide impact or involvement; formulate pol icy; .determine priorities and resource requirements, typically in a large-scale mainframe environment.

Technical Expert

As a creative technical expert, incumbents:

  • Design or develop state-of-the-art operating software systems in a large-scale or linked multiple CPU environment, usually with multiple vendor systems software or control programs. The technical systemscontributions are original, innovative, and significant. Typically,design is for teleprocessing monitors, database software, compilers, networks, multiple-user interactive systems, operating system, or similarly complex products.

Minimum Qualifications

Incumbents are expected to possess the skills, knowledge, and abilities essential to the successful performance of the duties assigned to the positions.

NOTE: Special qualification requirements are approved by the Personnel Manager in accordance with the provisions of Staff Personnel Policies 210.8 and 210.9.

Definition of Terms

The accepted definition of terms describing the size of the computing environment and the complexity of tasks for positions classified as Computing Resource Managers and Programmer/Analysts are as follows:

Computer Center - Small
An organization responsiblefor operating at least one minicomputer, for operating computers supporting up to 100 workstations concurrently, or for support of more than 50 microcomputers.
Computer Center - Medium
An organization responsiblefor operating at least two minicomputers with different operatingsystems supporting 100-300 work stations, one mainframe computer supporting 100-300 work stations concurrently, or more than one mainframe computer.
Computer Center - Large
An organization responsible for operating at least three mainframe computers or one mainframe computer supporting more than 300 work stations concurrently.
Routine Programs Applications
An application program using compiled language which reads up to two files, performs processing involving arithmetic operations, character search or sorting, and creates output.
Moderately Applications Complex System
An integrated set of up to five user written programsusing compiled language which read from multiple files or Data Base Management System (DBMS) based data base; processes intermediate files usina arithmetic functions, character manipulation, and sorting; writes the processed data to one of several output files based on processing results; and produces multiple outputs.
Complex Applications Systems
A highly integrated set of programs with the following: each program using compiled language may read multiple files or a DBMSbased data base; process intermediate files using the full range of software functions available; write the processed data to multiple output files based on processing results; updatethe master files, if any,with a capability for full error recovery; and produce multiple outputs.
Routine Software Packages
Vendor supplied and maintained sets of programs which do not require modification of the operating system (systems software) to install nor user configuration.
Software Packages of Moderate Complexity
Vendor supplied and maintained sets of programs which do not require modification of the operating system to install, but do require user configuration during the installation process.
Complex Software Packages
Vendor supplied and maintained sets of programs which require modification of the operating system (systems software) to install.
Operating Software Systems
Software that is fundamental to the operation and maintenance of a computer system, often vendor-supplied. It serves as an interface between the hardware and programs written to supportapplications.