Job Code Pay Scale Group Pay Scale Type Bargaining Unit Civil Service or Non-Civil Service Last Executive Board Change Executive Board Change History
01522 08 ST A4 C 677-37 01/01/2010

01/01/2010 01522

APPLICATIONS DEVELOPER 2

DEFINITION: This is advanced technical work in the analysis, planning, design, programming, and maintenance of computer applications.

An employee in this job is responsible for the analysis, planning, design, development, testing and debugging, maintenance, and documentation of complex applications to fulfill the needs of the client's business system. Work involves independent development, maintenance, or customization of complex applications requiring consideration of several variables or operational requirements or serving as a team member on highly complex agency or interagency systems development projects that involve critical business processes, numerous variables, and diverse operational requirements. Work includes participation in all phases of an application development project in any environment from its inception as a business analysis problem to its completion as an operational computer application. Work at this level is differentiated from the next lower level by the complexity of applications developed or maintained and the accountability for independently performing complex computer systems analysis and design work. Work may include lead work responsibilities over Applications Developers 1, Information Technology Generalists 1, and other lower level technical staff. Work may be self-generated to meet the specific needs of an organizational unit and performed independently for complex application development work or be assigned by a technical supervisor or lead worker who outlines general instructions and objectives and provides assistance during the course of a large, highly complex application development project.

EXAMPLES OF WORK: Meets with users or business analysts to determine existing business processes, problems, objectives, and requirements in order to design or modify a system solution that will meet user needs.

Identifies design alternatives, including the technical and economic feasibility of each alternative, and develops recommendations for systems parameters, including proposed schedule and projected costs for development.

Develops specifications for the proposed business system, including report layouts, screens, input documents and forms file design, forms design, and physical file structure.

Utilizes standard and advanced computer system design techniques, software development lifecycle methodologies, and developmental tools.

Determines database requirements and prepares database design.

Incorporates information security policies, principles, and practices in application requirements including determining user roles, coordinating security requirements with other IT areas, and developing application disaster recovery procedures.

Performs system and program coding and ensures that the coding is consistent with the system requirements and design and applies and conforms to application procedures and standards.

Develops procedures and application code to integrate two or more applications.

Performs system testing and follows quality procedures including creating and maintaining functional scenarios, creating unit and system test documents and plans, creating user acceptance documents and plans, performing regression testing, authoring testing scripts, and testing data security and backup.

Prepares various system documents to ensure that the system is correctly documented including strategy studies, functional specifications, feasibility studies, code documentation best practices, test scripts, implementation plans, and user manuals.

Provides training to appropriate personnel on the newly developed, modified, or customized system.

Develops plans to transition from an existing system to a new system.

Meets with users to gain formal user acceptance of system prior to implementation.

Provides system support by coordinating with users, business analysts, and management regarding system operations and corrections that are required such as system security, availability, settings, and general usage issues.

Performs maintenance on systems including evaluating requested changes, coding and testing changes, and coordinating the release of the changes.

Provides technical support by advising users of new software and technology that may improve or streamline system operations and of costs and cost effectiveness in making system revisions or changes.

Reviews and monitors vendor work in accordance with specifications.

Reviews complex commercially available software to determine whether available products meet system requirements or whether traditional application development is required.

Performs complex customizations of commercially available software products to provide functionality not originally provided.

Performs complex business intelligence functions for data warehouses including the design, development, implementation, and maintenance of multi-dimensional cubes and reports.

Develops complex middleware solutions including the analysis, configuration, and implementation of data communications solutions ensuring interoperability between multiple applications across heterogeneous platforms.

Functions as a lead worker for technical work by assigning and reviewing work, training employees, and performing quality control functions for the work.

Performs related work as required.

REQUIRED KNOWLEDGES, SKILLS, AND ABILITIES: Knowledge of the system development life cycle.

Knowledge of the principles and practices of information technology project management.

Knowledge of computer programming techniques.

Knowledge of business process analysis methods.

Knowledge of system design and system flow concepts.

Knowledge of data management concepts.

Knowledge of data modeling methods and techniques.

Knowledge of business process modeling methods and techniques.

Knowledge of computer programming maintainability, reusability, reliability, availability, usability, and scalability.

Knowledge of information security practices as they relate to information technology.

Knowledge of research principles and techniques to identify business requirements and solutions to problems.

Knowledge of information technology strategic planning methodologies and techniques.

Knowledge of practices in applications and systems development methodologies, such as assisted systems engineering, rapid application development, joint application development, unified process, rational unified process, and shared application development approaches.

Knowledge of the principles and techniques of application development documentation and strategies.

Knowledge of the tools used throughout all stages of software development.

Knowledge of the hardware to build and execute an application.

Knowledge of application impact on infrastructure components such as CPU utilization, memory, disk input and output, and the network.

Knowledge of operational procedures such as job control language, job scheduling, job restart, and job error handling.

Knowledge of object oriented application development techniques.

Knowledge of database concepts.

Knowledge of training techniques.

Knowledge of task estimation principles.

Knowledge of status reporting techniques.

Knowledge of the principles and practices of applications architecture.

Knowledge of multiple levels of application testing techniques such as unit, system, user, and stress.

Knowledge of techniques to manage projects, change requests, and problems.

Ability to analyze business processes to assess data requirements.

Ability to analyze business processes to identify functional requirements.

Ability to analyze business processes to assess solution requirements.

Ability to identify correct logic relationships and statements.

Ability to read and interpret technical materials such as specifications, technical manuals, and other project documentation.

Ability to analyze information in order to diagnose and troubleshoot technical problems.

Ability to communicate effectively orally.

Ability to communicate effectively in writing.

Ability to establish and maintain effective working relationships.

MINIMUM EXPERIENCE AND TRAINING: One year as an Applications Developer 1 or Computer Programmer 3;

                                                                                                                                                                         or

Two years of information technology experience in applications development or applications maintenance, and an associate’s degree in any information technology field;

                                                                                                                                                                         or

Four years of information technology experience that includes two years of experience in applications development or applications maintenance;

                                                                                                                                                                         or

A bachelor's degree in any information technology field.