Main Employment PageCurrent Job OpeningsJobs Accepting Interest CardsJob Descriptions
LoginMy Employment Profile

Job Description

Detailed information on the job is provided below.

The job description does not necessarily include all the duties which may be required of individual employees in the classification. Job descriptions may be revised as needed.

Software Systems Developer
The fundamental reason this position exists is to perform Information Systems program analysis for projects of moderate size and complexity. Essential functions include performing program analysis for projects; designing and writing complex programs for Microsoft Windows-based systems; designing and maintaining SQL Server relational databases for County application systems; and assisting the Software Systems Manager in troubleshooting and maintaining the County's server systems. Provides support and assistance to other Information Systems staff to promote a teamwork environment during County system outages and/or performance issues. This position reports to the Software Systems Manager.
The following list was developed through a job analysis; however, it is not exhaustive and other duties may be required and assigned. A person with a disability which is covered by the ADA must be able to perform the essential functions of the job unaided or with the assistance of a reasonable accommodation. The list of essential functions is to be used as a starting point to determine essential functions for a specific position at a specific location at a specific time. The ADA was intended to be applied on a case-by-case basis with the understanding that one position may differ from another similar position. The performance of "non-essential functions" is not optional for employees not covered under the ADA.

ESSENTIAL FUNCTION: Performs program analysis for projects of moderate size and complexity (a group of programs in a system) assigned by the Software Systems Manager in order to create or modify existing application program or system function.

Conducts feasibility studies and analysis for desktop and server based application systems assigned by the Software Systems Manager.
Assists in the determination of the best course of action to take to achieve the desired results and optimum utilization of the equipment available for the system.
Designs web and desktop application systems that have database updating and report generation capabilities.
Analyzes existing application systems to determine changes and enhancements to provide the user with necessary information and processing capabilities.
Prepares written procedure narratives, systems specifications and programming guidelines used to develop the system.

ESSENTIAL FUNCTION: Designs and writes moderately complex application programs for Microsoft Windows-based systems using current object oriented programming languages following various system manuals for languages such as Visual Basic, C# and other industry standard languages and utilities in order to write new programs and modify existing programs as system applications requirements change, and automate functions of County government.

Designs graphical user interface screens for County WEB applications utilizing ASP.NET, HTML, Visual Basic and JavaScript programming languages.
Designs and writes code for various County Desktop and WEB applications using Microsoft Visual Basic, C#, ASP.NET programming languages.
Modifies and converts existing programs to conform to system changes or to make improvements in the existing program.
Writes programs that interface with internal and or external WEB Services that provides autonomous data to County applications utilizing Extensible Markup Language (XML) and Simple Object Access Protocol (SOAP).
Writes programs to extract data from databases such as Microsoft SQL Server that will allow application users to create and save standard formatted files for use by other third party software like Microsoft Excel and Access.
Designs reports using report designers Crystal Reports and SQL Server Reporting services that interface with current Desktop and WEB applications.
Responsible for training County department end-users using PCs, software, manuals and existing program documentation in order to ensure they understand how to properly use the County's applications and systems.
Prepares documentation and flowcharts for County applications and systems as assigned in order to describe program development, logic, coding, testing, changes, and/or corrections.

ESSENTIAL FUNCTION: Designs and maintains SQL relational databases in order to increase server and application processing performance using database design manuals.

Creates SQL Server database tables and views, and indexes as related to county applications.
Creates and modifies stored-procedures as needed for County applications systems utilizing Microsoft SQL query language Transact-SQL (T-SQL).
Utilizes SQL Server Activity Monitors for SQL Server databases to ensure that all county application systems are operating efficiently by using recommended tuning and optimization techniques.
Implements and defines constraints at the database level to ensure data integrity is maintained among County application systems.

ESSENTIAL FUNCTION: Assists the Software Systems Manager in monitoring and troubleshooting servers to ensure all County systems are operating efficiently while maintaining adequate Disaster Recovery procedures to perform complete system backups and restorations for all County systems when necessary.

Monitors County applications activity to identify potential problems and makes recommendation to the Software Systems Manager when adjustments are needed to ensure optimal performance is achieved.
Assist with maintaining the Disaster Recovery procedures for all County DESKTOP and WEB application systems to ensure complete system backups and ability to perform complete restoration of all application systems and data files.
Assists in troubleshooting County systems and servers such as performing diagnostic testing in addition to providing recommendations to resolve issues.
Knowledge of the application systems used by County employees to include how they work, what they do, the type of data in the files, how they interact and relate, and what programmer analyst is assigned to that system as needed to delegate work, respond to problems, train programmers, design and write programs, and answer questions.

Knowledge of server software and operating systems such as Microsoft Windows and SQL Server to include appropriate commands and how to copy data, compress data, move between screens, and use the function keys as needed to train programmers and respond to users' requests.

Knowledge of the various functions of County government where computers are used such as tags and licenses, payroll, property taxes, tax collection, and recording, as needed to understand users' requests, design application systems, develop application screens, and help users with problems and questions.

Knowledge of Structure Query Language (SQL) to include its purpose and how to use it as needed to write a program that incorporates SQL Server with Visual Basic, C#, ASP.NET and other object oriented programming languages and application system design.

Knowledge of client server DESKTOP and WEB applications programming and their scripting languages such as HTML, Visual Basic, and JavaScript as needed to support existing infrastructure and assist in migrating current application programs to more current industry standards.

Knowledge of File Transfer Program (FTP) as needed to download files to tape, CD or another server.

Knowledge of SQL Server database design to include how to create tables, define columns, set characters, set up indexes to ensure efficient use of SQL queries.

Knowledge of applied programming techniques using Microsoft.NET based programming languages such as Visual Basic, C#, and ASP .NET.

Knowledge of Report Design using Crystal Reports and or SQL Server Reporting services that will produce reports on demand or a scheduled frequency.

Skill in the design and analysis of moderately complex application systems for server based systems.

Skill in oral communication to include being clear and concise, breaking technical jargon into lay person's terms, and adjusting communication to the level of the listener as needed to advise and train programmers, determine specifics about application program problems, gather users' information needs, and resolve conflicts.

Skill in written communication as needed to prepare flowcharts, diagrams, written proposals and documentation for new data automation systems.

Ability to think sequentially and logically envision the steps within a application program and obtain the desired output as needed to avoid duplicating activities within a program, test programs, design an efficient program, and design application systems.

Ability to train others to include explaining steps, breaking down jobs into distinct elements, recognizing when others do not understand and adjust explanations, observing and evaluating others' work, demonstrating how to complete a task and determining the most effective training method to use.

Ability to interact effectively with users, Information Systems employees, and Director to include listening, hearing both sides without judging, using a calm and neutral tone of voice, being firm and courteous, being patient and tactful, as needed to resolve conflicts, provide/gather information, assign work duties, conduct performance counseling, and accommodate work requests.

Ability to research information found in system manuals, user manuals, and on application help menus as needed to troubleshoot application programming problems.

Ability to work independently to include weighing consequences of actions or decisions, making decisions, time management, and prioritization as needed to complete work within time constraints, design application systems, and perform on-call work.
Bachelor's Degree in computer science and two (2) years related experience in client server applications design and analysis. Microsoft.NET based programming languages such as Visual Basic or C#; web development tools such as ASP.NET; SQL Server Relational Database System Management; and report design software such as Crystal Reports or SQL Server Reporting Services are preferred or an equivalent combination of education and experience.
Must be willing to work weekends or after normal work hours for IT projects such as conversion and/or emergencies.
City of Montgomery : Home