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

01/01/2010 01521

APPLICATIONS DEVELOPER 1

DEFINITION: This is 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 applications of limited complexity to fulfill the needs of the client's business system. Work involves independent development, maintenance, or customization of applications of limited complexity with easily understood business processes and relatively few variables or operational  requirements; serving as a team member on complex development, maintenance, or customization projects; or participating, in a role of limited scope, in highly complex agency or interagency systems development projects that involve critical business processes, numerous variables, and diverse operational requirements. Work may include 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 in the series is differentiated from higher levels by the limited complexity of assignments and accountability for the work performed. Work may include lead work responsibilities over Information Technology Technicians or other lower level technical staff. Work may be self-generated to meet the specific needs of an organizational unit or be assigned, in detail, by a technical supervisor or lead worker who provides assistance during the course of a project and reviews completed work for adequacy of application of the principles and techniques of computer systems analysis and the soundness of recommendations.

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

Participates in identifying 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 or participates in developing 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 for review by a project leader or supervisor.

Incorporates information security policies, principles, and practices in application requirements including determining user roles, coordinating security requirements with other IT areas, and following established 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.

Participates in the development of 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.

Trains appropriate personnel on the newly developed, modified, or customized system.

Participates in the development of 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.

Participates in the review of vendor work.

Participates in the review of commercially available software to determine whether available products meet system requirements or whether traditional application development is required.

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

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

Participates in the development of 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 limited 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 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 concepts.

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 task estimation principles.

Knowledge of status reporting techniques.

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

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 Information Technology Trainee or Computer Programmer 2;

                                                                                                                                                                              or

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

                                                                                                                                                                              or

Three years of information technology experience that includes one year of experience in applications development or applications maintenance;

                                                                                                                                                                              or

An equivalent combination of experience and training.