The senior programmer/analyst participates in all phases of the system life cycle, although to varying degrees. The programmer/analyst will assist in the acquisition of client requirements, design of solution sets, coding, testing and implementation. S/he develops procedures for the solution of a variety of business problems. The programmer/analyst converts these procedures into applications and programs required for computer solutions.
Duties and Responsibilities:
Analysis and Design
Meets with clients and managerial personnel to determine and define specific analytical and technical systems information requirements, objectives and solution sets for complex application or systems enhancements or replacements; the focus is generally one system or one system to system interface.
Working with lead or project management personnel, participates in the system selection process to include the preparation of a needs assessment, RFP and vendor selection for an application or system.
Analyzes complex problems related to one system or interface.
Develops data models that describe processes and data flows related to applications moderate-to-high in complexity.
Analyzes problem relationships among and between systems.
Provides Help Desk support to resolve immediate problems.
Working with an integration specialist, ability to identify and resolve interface issues between systems of two different vendors.
Makes recommendations for improvement of operations or processes.
Specifications and Documentation
Prepares written document of the business case supporting the application, system and/or interface change or replacement.
Develops written specifications representing logical and physical design.
Develops written documentation supporting system enhancements and/or selection.
Helps establish standards for coding and documentation.
With supervision, employs data gathering techniques and demonstrates the ability to extract and codify the appropriate user, system, or application requirements.
Ability to communicate specifications clearly and intelligibly in verbal and written form for a programmer or analyst to understand the problem and expected outcome.
Ability to make oral presentations to colleagues, clients, and organizational administration using prescribed presentation tools.
Ability to clearly articulate problems, issues, and potential solutions to team members, clients, and organizational administration.
Ability to guide a team of diverse clients and IS staff while managing expectations.
Prepares project scope document, project plan, issues log and RFP for the implementation of a new system or complex enhancement to an existing system or interface.
Identifies appropriate resources required to achieve goal.
Monitors project plan tasks and milestones; identifies and reports project changes; reports status of project to Lead IS staff and/or IS Manager.
Follows departmental standards regarding change control. Reports changes to appropriate personnel.
Acts as change agent to assist and support client to move from old to new solution set.
Prepares formal change implementation plan; identifies resources required to implement change.
Presents change to the IS Change Control Committee.
Monitors change after implementation to validate the change in the production environment.
Supplies appropriate new or revised operations documentation as needed.
Self-manages time and effort. Seeks projects commensurate with work experience and level of expertise. Provides estimated time to complete work and estimated date for ISSR assignments.
Responsible for managing project plan for assigned system or interface implementation or enhancement.
Responsible for reporting project issues and staff performance issues to Lead IS staff and/or IS manager.
Codes complex programs in specified languages as defined in specifications prepared by vendors or IS personnel.
Independently modifies existing or creates new code to meet user, system, or application requirements.
Performs project evaluation and/or installation, testing and support.
Prepares conversion plans for moderate level system implementations.
Identifies conversion issues and mappings for converting data from one vendor system to another.
Develops and implements test plans that are comprehensive and inclusive of the problem to be resolved. Plans should include testing logic to produce successful and failed outcomes.
Document all outcomes from the testing process.
Tests all components of the application, including all fields and related interfaces to ensure that the expected outcomes are achieved.
For data conversions, validates the quality and accuracy of the data converted.
Engages in activities to remain current as well as enhance technical skill level.
Provide evidence of on-going training activities.
Assists with software product evaluation; recommends new software and hardware products.
Participate in vendor contact for evaluative purposes.
Devises pre-project benchmarking metrics and conducts post-project metrics for moderate to complex project assignments.
Acts as resource to other team members, especially programmer/analysts and associate programmer/analysts.
Provides teaching support to clients, Operations, and Help Desk as needed.
Provides instruction on various technical topics to other staff members.
Working knowledge of departmental standard and system development methodology.
Report status data to manager(s).
Provide assistance to clients and customers across agencies as needed.
Recommend and assist in the development mechanisms to decrease errors.
Assume responsibility and demonstrates initiative.
Document issues, risks, decisions, etc. as directed.
Act as a change agent and supports clients in the migration from current to future state in most optimal way.
Work collaboratively and constructively with team members to achieve program goals.
Foster positive communication and team work atmosphere.
Respond promptly and positively to clients, staff, colleagues and all others in a respectful, courteous and confidential manner.
Is respectful of all team members in verbal and written communications.
Demonstrate ability to balance multiple work streams and associated complexity while achieving program goals.
Follow municipal and department procedures and policies, including but not limited to safety, mandatory education, confidentiality, attendance, etc.
Follow municipal and departmental cost control standards, i.e. monitors usage of supplies and equipment to eliminate and minimizes waste and/or misuse.
Provide or facilitates a clean, safe, quiet and secure environment for all colleagues and clients.
Demonstration of knowledge and understanding of software, project management and other relevant tools as required by the program.
Participates collaboratively in staff meetings, committees, projects and teams to resolve conflicts and meet institutional goals.
Identifies own learning needs and obtains necessary education to meet requirements of position.
BS or BA Degree in IS or related field required together with demonstrated commensurate work experience. Demonstrated knowledge of the Systems Development Life Cycle. Knowledge of project tracking software. Introduction to project management and related tools. Demonstration of continued technical education. Mastery of one or more programming language preferred (4GL preferred).
Education and Experience:
4 or more years of combined systems analyst/programming experience. Working knowledge of business process methodologies. Experience working on complex team-oriented projects. Minimum of 1-year maintenance support.
Essential Functions: As above