Technology Services - Computer Programmer Analyst I/II/III
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
- City Hall, 555 Walnut Street, Abilene, Texas, United States of America