GENERAL DESCRIPTION OF CLASS
Positions in the class of ANALYST/PROGRAMMER are primarily responsible
at varying levels for the analysis, design, modification, testing, installation and maintenance of application
programs, integrated systems, or software solutions including databases to meet user and organizational information
needs at the system-wide, campus-wide, or individual unit level.
Positions in this classification may reside in the central computing
department or in individual administrative or academic departments or schools. Common working titles include Applications
Programmer, Software Developer, Systems Analyst, Programmer Analyst, Database Analyst, Data Administrator, Data
Analyzes and develops systems and technology-based solutions
to meet user needs including applications, databases, and related systems.
DUTIES AND RESPONSIBILITIES
The core functions of the Analyst/Programmer are:
- Systems analysis and development
- Applications programming
- Database analysis
These core functions represent major categories of work within
the Analyst/Programmer classification. Typical activities for each core function cited below are illustrative;
campus assignments may vary.
Systems Analysis and Development
Systems Analysis: Analyze
user system and application needs, determine and evaluate alternative solutions and approaches to meeting those
needs, and select the optimal technology solution. Examples of typical work activities include:
- Consult with users to identify and document software/system
purpose, work flow issues, output needs and to determine overall functional and technical system requirements and
- Develop alternative solutions and conduct feasibility studies;
- Evaluate the procurement of third party software and troubleshoot
new software installations.
- Act as a consultant to other state agencies/institutions.
Develop specifications and requirements for the optimal integration and implementation of systems and equipment.
Examples of typical work activities include:
- Develop requests for proposals for system components;
- Evaluate specifications and requirements against available systems;
- Design fully integrated systems, which may include applications,
databases, networks, and related systems;
- Ensure system integrity and efficiency.
Application Design/Modification: Design application programs to meet user requirements that optimize the use of
available resources. Examples of typical work activities include:
- Develop program specifications and review them with the user
to ensure that requirements are met; may consult with other state agencies or institutions;
- Design effective and efficient interfaces to systems, applications,
- Recommend modifications to third party software to meet user
- Act as a software vendor liaison;
- Act as a team leader/supervisor in some environments.
Programming and Software Development: Develop succinct, timely programming code or modify software in a logical fashion
which optimizes programming resources. Examples of typical work activities include:
- Write code to meet user specifications;
- Use productivity tools to develop and modify applications software
to meet user needs;
- Work with users to test and debug programs;
- Verify data acquisition and output media and format;
- Modify existing or third party software;
- Write documentation to provide user support for new or modified
programs and production/operation procedures.
Applications Installation and Maintenance: Maintain and support assigned systems to ensure minimal downtime and loss
of productivity and service. Examples of typical work activities include:
- Evaluate and enhance the efficiency of existing programs in
meeting current and future user needs;
- Maintain and support associated databases;
- Install new, modified or third party software releases and/or
- Evaluate and supplement vendor supplied documentation for third
implement and maintain database systems to optimize data access and security. Examples of typical work activities
- Design database systems and programs which include access methods,
access time, file structures, device allocation, validation checks, statistical methods, and security;
- Work with user community to understand data access and integration
- Ensure the integration of systems through the database structure;
- Monitor database standards and procedures, system usage and
- Troubleshoot and resolve database and data problems;
- Develop and administer disaster recovery plans.
Data Administration and Support: Establish and administer policies, standards and procedures for strategic data
planning, data analysis and modeling, and data element standardization and use to ensure accurate, useful and readily
accessible data. Examples of typical work activities include:
- Develop and administer data use policies, procedures, and standards;
- Monitor, analyze, and verify data to ensure data integrity;
develop assigned databases to support specific applications;
- Analyze data requirements, develop and document data dictionary,
and develop data models;
- Maintain the database archives by acquiring and installing data
sets and docummentation;
- Assist in data transfers or sharing of files;
- Develop policies and procedures to access or interact with remote
- Conduct file maintenance;
- Maintain the data dictionary.
RELATIONSHIPS WITH OTHERS
Employees in this class have regular contact in person, by e-mail,
or by telephone, with university staff and colleagues in the Information Systems Department. Employees in this
class may act as a team leader/supervisor of other Analyst/Programmers in some circumstances.
The level of supervision will vary depending upon the individual's
skill level. Inexperienced employees, or those with limited technical skills, will receive close supervision. Whereas,
employees with advanced technical skills may work with a high degree of independence.
Positions are found on campuses throughout the Oregon University
System and in the Corvallis Chancellor's Office.
This classification requires a basic foundation of knowledge
and skills in systems analysis and related programming support functions generally obtained by a bachelor's degree
in computer science, or an equivalent amount of training and applied experience.
Typical skills for each core function are cited below.
Systems Analysis and Development
- Knowledge of campus-defined systems, applications, and standards;
- Ability to identify hardware/software interface problems;
- Knowledge of system/equipment capability, design restrictions,
and security requirements;
- Knowledge of structured systems development concepts;
- General knowledge of network connectivity, integration, configuration,
- Understanding of and ability to integrate all systems including
operating systems, applications, networks, and databases, as well as knowledge of distributed processing technology;
- Knowledge of client/server, database, and web-based technologies;
- Ability to communicate effectively;
- Ability to apply consultative skills to assess user needs and
communicate technology systems and solutions;
- Ability to perform systems and applications needs analysis,
prepare requests for proposals, and conduct feasibility studies;
- Ability to research and evaluate the functionality of vendor
software to meet user needs, assess vendor proposals, and serve as a technical/vendor liaison;
- Ability to define and set up an effective testing environment
- Ability to use one or more industry standard programming languages
and various report/screen generators as required by the position;
- Ability to use applications software, data structures and utilities,
operating systems, and communication interfaces within the computing environment;
- Ability to perform interactive debugging and to test and analyze
- Ability to use appropriate productivity tools to provide for
more rapid development of applications;
- Ability to develop program implementation plans, install software,
and apply fixes;
- Understanding of technical and vendor documentation and ability
to maintain internal documentation
- Knowledge of network configuration, programming, and protocols;
- Specialized skills in new systems and programming technologies.
- Knowledge of formal data structure design, relational database
design, and file structure;
- Ability to design data structures to maximize efficiency and
- Ability to perform database maintenance tasks, develop access
routines,and maintain dictionary;
- Knowledge of data administration principles and data modeling
- Ability to identify and resolve software/hardware interface
problems, data requirements, and access methods;
- Ability to establish and execute data security standards and
procedures and disaster recovery plans;
- Knowledge of distributed processing and client/server technologies;
- Ability to perform database backup and recovery procedures as
part of database management system utilities;
- Ability to use data resource and productivity tools applicable
to the database management system;
- General knowledge of network configuration, programming, and
- Ability to provide database support in multiple hardware platform
and operating system environment;
- Ability to work and communicate with users to define and meet
database needs and requirements.