------------------------------------------------------------------
Programmer/Analyst
UCI Series Concepts
Class Specifications - F.15
Programmer/Analyst I - 7278
Programmer/Analyst II - 7277
Programmer/Analyst II - Supervisor - 7276
Programmer/Analyst III - 7275
Programmer/Analyst III - Supervisor - 7274
Programmer/Analyst IV - 7273
Programmer/Analyst IV - Supervisor - 7272
Programmer/Analyst V - 7271
Programmer/Analyst V - Supervisor - 7270
April, 1986
******************************************************************
SERIES CONCEPT
This series encompasses computer programming 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.
Programmers/Analysts: Define and analyze problems to effect computer-oriented
solutions; 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 procedures
utilized 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, programming 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 programming 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 appropriate
to 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 supervision
as defined in the Supplemental Guidelines for Supervisor Classes (SAM 12).
CLASS CONCEPTS
Programmer/Analyst I
Under close supervision, 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 normally
considered 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 users 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), output
formats, 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 software.
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. Assignments
typically require either advanced knowledge of hardware, software, or systems
analysis techniques and standards, or specialized knowledge of a subject
matter, discipline, or administrative function. Positions in this class may
have 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
portions of complex application systems.
2. Prepare cost/benefit analysis of alternative solutions.
3. Specify alternate program design approaches.
4. Install or maintain complex applications systems or complex software
packages, which require knowledge of interfaces and of the impact on
users.
5. Install and maintain operating systems software in a medium to large
computing center, e.g., operating systems, database software, data
communication/network software, and utility software.
6. Provide consulting service in specialized programming languages and
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
management to 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 policy; 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 systems
contributions 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
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 responsible
for operating at least one
minicomputer, for operating
computers supporting up to
100 workstations con-
currently, or for support
of more than 50
microcomputers.
COMPUTER CENTER - MEDIUM An organization responsible
for operating at least two
minicomputers with
different operating
systems 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 APPLICATIONS PROGRAMS 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 COMPLEX APPLICATIONS SYSTEM An integrated set of up to
five user written programs
using compiled language
which read from multiple
files or Data Base
Management System (DBMS)
based data base; processes
intermediate files using
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
DBMS based 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; update
the master files, if any,
with a capability for full
error recovery; and produce
multiple output.
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 SYSTEMS SOFTWARE 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 support
applications.
******************************************************************