Technology Services - Computer Programmer Analyst I/II/III

City Hall, 555 Walnut Street, Abilene, Texas, United States of America Req #552
Monday, May 15, 2023

GENERAL DESCRIPTION

Under direction of the Information Technology Department Director or assigned supervisor, develop, design, and implement new and/or modified software products to support the City’s business needs. Coordinate activities and changes closely with Departments and business users for changes to software, security, and back up processes. Apply, prepare and modify computer programs; conduct systems analysis; maintain databases, enforce standards and controls, perform complex programming and program maintenance duties; operate a computer and auxiliary peripheral equipment to test and observe new or revised programs; and assist other technical services staff with problems.

SUPERVISION EXERCISED

Programmer Analyst I, II – This position exercises no supervision.

Programmer Analyst III – This position may exercise technical or functional supervision over lower level staff as directed.

IMPORTANT AND ESSENTIAL DUTIES

Use analytical and programming skills.

Ensure that existing installed applications software continues to meet user needs.  Modify existing programs as directed.

Analyze and test programs and products before formal launch.

Maintain documentation, including but not limited to record layouts, flowcharts, screen formats, print layouts, linking instructions, necessary to recreate the environment.

Perform testing of programs and databases, including job control routines, subsystems, utilities, using appropriate test data and environments.

Provide references for use by writing and maintaining user documentation.

Confirms program operation by conducting tests; modifying program sequence and/or codes.

Identifies requirements, establishing good communication and coordination to understand service requirements.

Arranges project requirements in programming sequence by analyzing requirements; preparing a work flow chart and diagram using knowledge of computer capabilities, subject matter, programming language, and logic.

Develops and maintains applications and databases by evaluating client needs; analyzing requirements; developing software systems.

Prepares for database expansion by studying plans and requirements; advising senior technical management; coordinating design and programming.

Keeps senior technical management informed by preparing reports on system performance and problems.

Assist other technical services staff and departmental staff.

Troubleshoot coding problems quickly and efficiently.

Monitor all Enterprise applications to ensure successful conclusion and product functions and user satisfaction.

Maintain backup, file maintenance, library, documentation, and other systems used for Enterprise applications. 

Maintain documentation providing operating instructions for user systems, i.e., backups and restores, software product installations/upgrades, locations of user accounts for data files, log in authorization forms, and security.

Install user software.

Ensure software security by developing programs to actively monitor the sharing of private information, intrusions, suspect transactions, and user activity.

OTHER JOB RELATED DUTIES

Perform other job related duties and responsibilities as assigned.

KNOWLEDGE, SKILLS, AND ABILITIES

Knowledge of:

Computer Programmer I, II, III

Various computer languages, databases, and operating systems including, but not limited to: C++, C#, HTML, JAVA, and SQL, Windows, open source; security architecture; securing and hardening Operating Systems; Networks; Databases; and Applications.

Documentation and user acceptance. Development approaches such as: Agile, Waterfall, and others.

Computer Programmer III

Analytical and problem solving skills, coding and debugging, managing databases, designing and testing computer structures, and editing source code.

Technical documentation, functional and non-functional testing, and systems integration.

Leadership, team building, supervision in a technical environment.

Skill to:

Computer Programmer I

Define and analyze system problems; designing and testing standards and solutions.

Design solutions, document, test, and maintain requirements, and software architecture.

Communicate with a wide variety of others.

Create statements to retrieve data from databases.

Create and maintain complete documentation.

Establish and maintain cooperative working relationships with those contacted in the course of work, both internally and externally.

Follow and embrace the City of Abilene Core Values – Respect, Integrity, Service Above Self, and Excellence in All We Do.

Computer Programmer II

Understand cause, effect and remediate common issues.

Develop solutions with clean and functional coding.

Understand, develop, and deploy Application Programming Interfaces (APIs). Capable of independent work.

Picture better methods and practices than the ones that are being implemented and develop a process to improve.

Create and maintain complete documentation.

Computer Programmer III

Lead and manage subordinates as assigned.

Become competent in a wide variety of technical solutions and best practices.

Analyze performance, draw correct conclusions, and implement solutions independently.

Develop libraries of code to add more functionality that can be used many times.

Maintain databases with tools such as: mirroring and replication.

Take charge and ownership of projects and coordination.

Provide mentorship for those less experienced.

Understand business value.

Create and maintain complete documentation.

Ability to:

Computer Programmer I and II          

Flow chart the logic of a program supplemented with decision tables.

Prepare clear, detailed programs of instruction for efficient machine utilization.

Install operating systems and applications software; perform updates to the operating systems; use system utilities for controlling user access and other system functions.

Perform extensive analyses of user functional areas through formal systems analysis techniques including grid charts and forms analysis.       

Design forms, checklists, terminal entry screens, print layouts, and new/replacement systems and programming specifications.

Communicate technical information to non-technical staff.

Perform as a team member in a manner that accomplishes the Division’s mission and treats team members with dignity, courtesy, and respect.

Computer Programmer II and III

Develop solutions independently.

Perform extensive analyses of user functional areas through formal systems analysis techniques including grid charts and forms analysis.

Design forms, checklists, terminal entry screens, print layouts, and new/replacement systems and programming specifications.

Manage databases.

Converting data between incompatible systems.

Computer Programmer III

Develop and present system/applications status, inventory, and schedule for changes and replacement.

Manage system and application performance.

Editing source code.

Designing and testing computer structures.

Lead Agile, Waterfall, and other development approaches.

Use and leverage languages such as: Python, Java, C, C#, and SQL.

Lead and manage a team in a manner that accomplishes the Division’s mission and treats team members with dignity, courtesy, and respect.

Experience and Training Guidelines:

For positions with more than one level, all listed requirements at the lower levels are required at the higher levels. Any combination equivalent to experience and training to provide the required knowledge, skills, and abilities may be qualifying. Knowledge, skills, and abilities may be obtained through:

Experience:

Computer Programmer I

One (1) year experience, including but not limited to: C++, C#, HTML, JAVA, and SQL, Windows, open source. TCP / IP protocol suite; security architecture; securing and hardening Operating Systems; Networks; Databases; and applications is required.

Documentation and user acceptance processes experience is required.

Computer Programmer II

Three (3) years of experience, including but not limited to: C++, C#, HTML, JAVA, and SQL, Windows, open source is required.

TCP / IP protocol suite; security architecture; securing and hardening Operating Systems; Networks; Databases; and Applications.

Documentation and user acceptance processes is required.

Computer Programmer III

Five (5) years of experience, including but not limited to: C++, C#, HTML, JAVA, SQL, Windows, open source is required.

TCP / IP protocol suite; security architecture; securing and hardening Operating Systems; Networks; Databases; and Applications. Documentation and user acceptance processes.

Education/Training:

Computer Programmer I

Equivalent to an Associate’s degree from an accredited college or university with major course work in computer science, or a degree in computer science supplemented by course work in computer programming, databases, application integration and support, or equivalent work experience is required.         

Computer Programmer II

Equivalent to a Bachelor's degree from an accredited college or university with major course work in computer science, or a degree in computer science supplemented by course work in computer programming, databases, application integration and support, or equivalent work experience is required.

Computer Programmer III

Equivalent to a Bachelor's degree from an accredited college or university with major course work in computer science, or a degree in computer science supplemented by advanced course work in computer programming, databases, application integration and support, or equivalent work experience is required.

License or Certificate:      

A valid Texas driver’s license; the ability to obtain one within ninety (90) days of employment, or a military waiver is preferred.

Certifications in Structured Query Language (SQL), Web Development, Mobile Development, Javascript, C#, C++, Python, or equivalent certification is preferred

Special Requirements:

Essential duties require the following physical skills and work environment:

With or without accommodation, the “X” indicates the overall strength demand of the position during a typical workday:

___     Sedentary – lifting of no more than 10 pounds

_X_     Light – lifting no more than 20 pounds; carrying up to 10 pounds

___     Medium – lifting no more than 50 pounds; carrying up to 25 pounds

___     Heavy – lifting no more than 100 pounds; carrying up to 50 pounds

___     Very Heavy – team lifting over 100 pounds; carrying more than 50 pounds

Physical Demand Codes:  The following describes whether or not the position is expected to exert the physical demands listed during a typical workday as well as the overall frequency of the task:

Codes for how often:

N         =          No

E         =          Extensive (100 – 70% of the time)

M         =          Moderate (60 – 30% of the time)

I           =          Infrequent (20 – 10% of the time)

A         =          Almost Never (<10% of the time)

 

Code / Task

_I_      Standing

_E_     Sitting

_I_       Walking

_I_      Lifting

_I_      Carrying

_I_      Pushing/Pulling

_I_      Overhead Work

_A       Fine Dexterity

_A_     Kneeling

_A       Crouching

_A       Crawling

_A_     Bending

_A_     Twisting

_A__   Climbing

_A__   Balancing

_E_     Vision

_M__  Hearing

_E__   Talking

___     Other:  _____________________

Other details

  • Pay Type Salary
  • Min Hiring Rate $49,016.00
  • Max Hiring Rate $71,459.00
Location on Google Maps
  • City Hall, 555 Walnut Street, Abilene, Texas, United States of America