Programmer/Analyst
University of California 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:
- Assist with design, analysis, maintenance, documentation, and testing of software.
- Code, debug, test, and document routine application programs.
- Install and test routine software packages.
- Assist users with procedural or minor technical problems.
- Advise or train users regarding the technical aspects and use of standard software packages.
- 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:
- Design new systems or enhancements to existing systems.
- Determine source data (input), processing requirements (output), output formats, timing and cost estimates.
- Verify that system meets performance criteria.
- Design, implement, and document procedures.
- Design/modify, code, debug, test, and document moderately complex application systems.
- Install and test moderately complex software packages.
- 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.
- 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.
- Consult on the use of moderately complex software packages.
- Advise users regarding program techniques and design.
- 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:
- Work with users in designing moderately complex application systems or portions of complex application systems.
- Prepare cost/benefit analysis of alternative solutions.
- Specify alternate program design approaches.
- Install or maintain complex applications systems or complex software packages, which require knowledge of interfaces and of the impact on users.
- 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.
- 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.
