MIRACOSTA COLLEGE CLASS TITLE: PROGRAMMER/ANALYST BASIC FUNCTION: Under the Director or assigned supervisor, work independently to coordinate and perform difficult and complex programming in the analysis of systems requirements and the preparation of computer programs. This involves making independent decisions for providing computer solutions within and across divisions through designing, creating, or modifying computer programs; researching applicable regulations and policies; writing documentation; and working with users within and across divisions. DISTINGUISHING CHARACTERISTICS: This position performs complex functions; may work on specific projects or on specific steps as a member of a project team independently; may provide training for lower-level programmers; this position is accountable for computer systems across divisional lines which affect the fiscal and student records integrity of the institution. REPRESENTATIVE DUTIES: 1. Working independently and with little direction, develop statement of systems, scope, and objectives based on functional requirements; utilize editors, form design tools, and database query languages to solve users' needs; prioritize workload with current requests, problems, and department needs. 2. Debug, correct, and maintain systems and programs developed by other programmers or oneself. 3. Assume overall responsibility for the technical phases of an entire project, providing workload direction, as appropriate to other programmers. 4. Assess workload implications and feasibility of new system requirements; analyze existing systems performance in relation to specified requirements to assure proper integration of new programs. 5. Develop logical data models using entity relationships and data flow diagram; identify new data elements needed within the systems data dictionary and the relationship to existing data structures. 6. Perform database modifications and complex applications programming to develop new information systems modules; prototype application to assure production of desired outputs. 7. Adapt purchased software as needed to assure compatibility and proper interaction with existing systems and applications. 8. Do advanced computer systems analysis and design of information systems for various College divisions and departments using complex programs. 9. Anticipate a changing environment, future needs and possible sources of trouble; prepare solutions which fit the available and anticipated resources; review, redesign, or modify existing systems to improve efficiency; learn and implement new languages and technology, as MIRACOSTA COMMUNITY COLLEGE DISTRICT (E) = Essential job function xx/xx/xx PROGRAMMER/ANALYST 2 required. 10. Write, test, implement, and modify District systems using software utilities and tools, mainframe and microcomputer hardware and software. 11. Develop and maintain a cross-functional reporting environment based on quality and integration; develop informational reports to facilitate decision making by senior-level institutional administrators; edit and verify reports and data. 12. Develop controls into data entry to revise current data and establish credibility. 13. Conduct feasibility studies and prepare feasibility definition and design reports; prepare and give oral and written presentations. 14. Participate in selection of new systems. 15. Meet with regional and statewide consortia members; provide input to the design and development of projects for MiraCosta College; design, write, modify projects for use by consortia members statewide. 16. Consult with users within and across divisions to establish their priorities, solve problems, provide input and receive feedback. 17. Train lower-level Programmer/Analysts through on-the-job direction and guidance; review work of lower-level Programmer/Analysts; provide technical assistance and direction to others. 18. Serve as project director, supervising other Programmer/Analysts on a regular or project development basis; divide and prioritize large studies, assign various segments to others; review reports of project segments and recommendations. 19. Communicate with District users and Technical Services staff to assure information needs are being met; serve as a resource person to the District with users, vendors, and other community college consortia members; answer questions and deal with complex data issues and system design; establish relationships to ensure that information is accessible; coordinate flow of information. 20. Perform related duties as assigned. KNOWLEDGE AND ABILITIES: KNOWLEDGE OF: Comprehensive concepts, principles, techniques and applications of computer systems, analysis, design, and programming. Programming and operation of District's computer systems and related equipment. Principles and techniques of program planning, job scheduling, and related control requirements. Capabilities and limitations of the operating and application systems. District organization, operations, policies, and objectives. Interpersonal skills using tact, patience, and courtesy. Applicable sections of State Education code, MIS mandates, and other applicable laws. Oral and written communication skills. Applicable computer languages, including a 4th Generational language such as Speedware. MIRACOSTA COMMUNITY COLLEGE DISTRICT (E) = Essential job function xx/xx/xx PROGRAMMER/ANALYST 3 New relational database engines such at ALLBASE; client-server tools such as Visual Basic and Powerbuilder; and making the transition to such things as object-oriented databases. Data file organization, structure, and access methodology. ABILITY TO: Span the user spectrum from neophyte to experiences; compress complex issues into easily grasped concepts. Consolidate information, develop the most advantageous path, sell an idea, implement it, plan for inevitable change, and modify original plan. Demonstrate proficiency in several computer languages as dictated by the needs of the District. Analyze situations accurately and adopt an effective course of action. Prepare flow charts and diagrams. Apply the principles and techniques of computer programming to specific user problems. Perform complex analysis on an individual task and project basis. Determine source data, processing requirements, output formats, and time and cost estimates. Read, interpret, apply, and explain rules, regulations, policies, and procedures, as well as technically written data processing material and software packages. Detect errors in data and/or program structure, logic, and coding; understand relational nature of program structure, logic, and coding. Write clear, concise, complete, and accurate computer operator instructions and Job Control Language for mounting magnetic tapes, discs, and other components for computer operations. Communicate verbally and on paper in a manner that clearly and accurately conveys complicated and sophisticated technical language and concepts to a wide spectrum of college users and non-users of technology. Work independently with little direction. Make decisions that affect integrity of entire institution. Work confidentially with discretion. Prioritize, plan, and organize work. Train, supervise, and provide work direction for others. Establish and maintain cooperative and effective working relationships with others. Observe legal and defensive driving practices. EDUCATION AND EXPERIENCE: A Baccalaureate degree in Information Systems, Computer Science, or related fields; or, a Baccalaureate degree in any field with supplemental course work in Informational Systems, Computer Science, etc., and two years of computer programming/analysis equal to journey level. LICENSES AND OTHER REQUIREMENTS: Valid California driver license. WORK DIRECTION, LEAD, AND SUPERVISORY RESPONSIBILITIES: Train lower-level Programmer/Analysts by on-the-job direction and guidance; review their work; provide technical assistance, as needed. Function as project leader, supervising other Programmer/Analysts on a regular or project-related basis. Serve in a lead capacity to other Data Processing personnel; assign and review the work of others. Divide and prioritize large studies and assign segments to others. CONTACTS: Coworkers, lower-level Programmer/Analysts; Department and Division heads; vendors; external MIRACOSTA COMMUNITY COLLEGE DISTRICT (E) = Essential job function xx/xx/xx PROGRAMMER/ANALYST 4 consortia members; designers of externally purchased software and systems. This position spends 50 percent of time explaining complex issues to involved staff; explaining computer-based issues to users; interpreting logical data flows; taking user criteria and turning it into computer-based models with the necessary checks and balances. PHYSICAL EFFORT: The mental demands of this position translate into considerable physical effort. Painstaking searches into thousands of lines of code, tracking a multitude of variables all the while one is answering the telephone and helping others is not only mentally demanding, but physically taxing. Extreme mental stamina, which creates corresponding physical efforts, is required to focus on minute detail using a personal computer/video display terminal for testing, debugging, designing computer programs and documenting same, or using it to explore informational resources and learning to utilize new software tools demands precise visual concentration. This position uses the computer terminal 50 percent of the time. EMOTIONAL EFFORT: . WORKING ENVIRONMENT: When working in the computer room, exposure to a high level of noise emanating from the computer equipment, line printers, and high performance air conditioning system. Computer room contains a number of high voltage connections. MIRACOSTA COMMUNITY COLLEGE DISTRICT (E) = Essential job function xx/xx/xx