City and County of San Francisco

IS Programmer Analyst-Principal (#1064)

We are currently accepting applications for this position.
To apply, click here to close this window and view the list of open jobs for this job class.

$56.41-$70.99 Hourly / $9,778.00-$12,305.00 Monthly / $117,338.00-$147,654.00 Yearly


Definition

Under General direction, provides direct ongoing supervision to other Programmer/Analysts, or provides technical leadership and direction and assumes technical responsibility for completion of major programming projects, or serves as the top technical authority for one or more related specialties and performs programming functions for those projects requiring the most difficult and complex programming work; works with users to clarity and modify system requirements; analyzes, designs, writes, documents, and maintains the more complex computer application source code in one or more programming languages, generally in a mainframe or other centralized data processing facility.

Distinguishing Features

The Supervisor IS Programmer/Analyst is the highest level in the Programmer/Analyst series. When assigned as a supervisor, develops, coordinates and executes policies, methods and procedures, super-vises personnel and may perform the more complex work of the unit; when assigned as an expert, performs work requiring a very high level of technical knowledge of a specific area or ability to integrate at a high level the knowledge of several areas (this is not considered to be a part of the normal career path for employees in this series; rather it is reserved for those employees with a mastery of specific technologies or a particular expertise); when assigned as a project leader, manages and provides technical leadership of projects involving large-scale, complex and highly analytical tasks. Positions at this level are distinguished from Senior IS Programmer/Analysts in that the latter perform more specific and small-scale, though complex, analytical tasks. Work is performed within a broad framework of general policy and requires creativity and resourcefulness to accomplish goals and objectives. Judgement is required both in interpreting established policies, goals and objectives, and in applying concepts, plans and strategies which may deviate from traditional methods and practices.

Supervision Exercised

May supervise subordinate Programmer/Analysts, Business Analysts, technical, clerical and other functional staff in the assigned work unit; or as a Project leader, coordinate a team of workers within the assigned work unit or jointly with other units.

Examples of Important and Essential Duties

According to Civil Service Commission Rule 109, the duties specified below are representative of the range of duties assigned to this job code/class and are not intended to be an inclusive list.

1. Provide assistance to staff in the analysis and determination of appropriate action to respond to service requests and problem reports; evaluate user service requests to determine and recommend the most appropriate solution which meets user business and application system requirements; coordinate scheduling between technical support staff and departments; prepare project plans, time and cost estimates of new projects and enhancements or changes to existing systems/applications.

2. Plan, analyze, design and implement a variety of new systems establishing internal and external controls; develop procedures for access, update and retrieval of information; ensure programs designs meet user requirements; ensure design/program adherence to standards.

3. Determine requirements for new systems and enhancements to existing systems; develop or modify and document general system design; establish a production environment and migrate approved programs to production.

4. Review departmental work-flows, functions performed and procedures used; consult with departmental personnel to obtain information on existing systems procedures; develop proposals and plans for installing new or revised complex systems.

5. Design, code, test and debug programs for special projects and interfaces; prepare final systems design and documentation necessary for programming; review the work of others and provide technical assistance.

6. Analyze, research and repair program logic and systems; modify program logic.

7. Analyze and respond to service requests; determine the most cost effective approach and the appropriate staff time required to achieve needed modifications; recommend appropriate solutions to meet user needs and project requirements.

8. Ensure program specifications are complete; produce basic components to ensure complete programming; review specifications submitted by vendors and users to ensure compatibility with current systems.

9. Analyze and logically design database systems to support on-line and batch reporting including data analysis and normalization, record specification and definition or logical relationships between records; define functional requirements.

10. Write, modify and/or run programs to provide reports and for extraction of database information and downloading to personal computers as necessary.

11. Assist users and other analysts in diagnosing complex program failures; develop recovery and backup procedures; detect, identify and correct software deficiencies.

12. Assist in developing and maintaining standards of hardware and software utilization.

13. Develop detailed specifications necessary to support applications programming.

14. Advise management on the capabilities and limitations of current systems and recommend improvements.

15. May create and document long term strategies for project related information systems operations; identify new information systems technologies.

16. May prepare project plans, time and cost estimates of new projects and enhancement or changes to existing systems/applications; coordinate integration into existing systems and procedures.

17. May prepare project budgetary cost estimates; develop project implementation proposals, documentation and scheduling; write technical specifications and request for proposals.

18. Coordinate and/or attend project team meetings, user meetings and the like as needed.

19. Monitor project related work schedules and completion dates.

20. Monitor and review work in progress, providing technical assistance and guidance.

21. Conduct studies of designated operations, work with assigned user department personnel; define projects.

22. Prepare user and technical manuals and instructions; instruct users on new capabilities.

23. Performs related duties and responsibilities, as assigned.

24. Write, modify and/or run programs to provide reports or file processing as necessary.

25. Provide advice and consult with users regarding problems, special reports, revisions and enhancements to existing systems; provide progress reports on programming activities.

26. Provide technical support for complex systems; monitor system performance to ensure proper functioning, interaction with other subsystems, and timely and accurate report production.

27. Analyze and resolve system problems; develop and implement solutions; resolve technical problems with end users in the implementation, maintenance and modification of complex application programs.

28. Coordinate with other agencies, units and vendors regarding interfaces and program requirements, or new development; advise and assist user departments in system planning.

29. Review, evaluate and purchase technical literature and documentation for reference, training and education; develop and implement training programs for staff or users as needed.

30. Analyze and recommend procedures consistent with departmental directives, policies and regulations which are developed by higher level management staff.

31. May research and evaluate new technologies, software and hardware products; consult with vendors regarding product functions and features; recommend software and hardware purchases.

32. May supervise, assign, review and participate in the work of subordinates in assigned unit.

33. May review and recommend a variety of personnel actions in such areas as performance evaluation, training, selection and disciplinary measures.

34. May ensure that appropriate policies and procedures are followed by subordinates.

35. May monitor, coordinate and assist in development of the assigned work budget.

Knowledge, Skills and Abilities

Knowledge of: Computer languages; electronic data processing and its applications; requirements, installation procedures, hardware, software and maintenance of systems; emerging technologies and software; systems development life cycle; common operating systems; job flow within a large scale data processing environment; systems analysis and design; multi-platform applications and software; script/procedure languages; designing, coding, testing and implementing highly complex programs; relational database systems; functional requirements, structured systems or procedures analysis; data modeling; business applications development; technical writing; network environments; multi-platform applications and software; LAN and mainframe communications; systems development life cycle; training techniques; techniques and practices of supervision and project management.

Ability and Skill to: Manage and direct a group of workers, including the ability to provide counseling and mediation; persuade, convince and train others including the ability to act in a lead worker capacity; decide the time, place and sequence of operations within an organizational framework, as well as the ability to oversee their execution; exercise the judgement, decisiveness and creativity required in situations involving the direction, control or planning of a program or multiple programs; communicate effectively orally and in writing; use logic and analysis to solve computer and systems problems; prepare budgets and cost estimates; establish and maintain good working relationships with other employees in IS positions, vendors and end users; translate functional requirements into system specifications; perform data and process modeling and normalization; read and understand professional journals and literature; prioritize requests for service; develop new approaches and solutions outside of existing theories and principles; engage in high level consulting.

Minimum Qualifications

These minimum qualifications establish the education, training, experience, special skills and/or license(s) which are required for employment in the classification.  Please note, additional qualifications (i.e., special conditions) may apply to a particular position and will be stated on the exam/job announcement.

Education:
An associate degree in computer science or closely related field from an accredited college or university OR its equivalent in terms of total course credits/units [i.e., at least sixty (60) semester or ninety (90) quarter credits/units with a minimum of twenty (20) semester or thirty (30) quarter credits/units in computer science or a closely-related field].

Experience:
Five (5) years of experience in applications or software programming or development.

License and Certification:

Substitution:
Additional experience as described above may be substituted for the required degree on a year-for-year basis (up to a maximum of two (2) years). One (1) year is equivalent to thirty (30) semester units or forty-five (45) quarter units with a minimum of 10 semester / 15 quarter units in computer science or a closely related field.

Disaster Service Workers

All City and County of San Francisco employees are designated Disaster Service Workers through state and local law (California Government Code Section 3100-3109). Employment with the City requires the affirmation of a loyalty oath to this effect. Employees are required to complete all Disaster Service Worker-related training as assigned, and to return to work as ordered in the event of an emergency.

CLASS: 1064; EST: 1/1/1900; REV: 7/5/2016;