Job Code Pay Scale Group Pay Scale Type Bargaining Unit Civil Service or Non-Civil Service Last Executive Board Change Executive Board Change History
01524 09 ST A3 C 677-23 01/01/2010

01/01/2010 01524

SENIOR APPLICATIONS DEVELOPER

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

An employee in this job is responsible for performing highly advanced technical non-supervisory, lead, or supervisory work in the analysis, planning, design, development, testing and debugging, maintenance, and documentation of highly complex applications to fulfill the needs of the client's business systems. The highly advanced technical non-supervisory role includes the assignment and accountability for highly complex application development or customization projects for new or existing major agency systems that provide core business functions. This may involve providing project leadership and direction in applications development or customization, project planning, establishing project requirements, scheduling and assigning work, monitoring application development progress, and making application architecture determinations as the lead functional architect. The lead work role includes the permanent assignment of lead worker responsibilities for developers performing advanced technical work. The supervisory role includes the supervision of subordinate technical staff engaged in the development, maintenance, and customization of computer systems or groups of subsystems. Work at this level in the series is characterized by the complexity of assignments and accountability for applications development work that supports highly complex and critical business applications. Work assignments include responsibility for highly complex applications development projects in any environment from their inception as a business analysis problem to their completion as operational computer applications. Work is assigned in broad outline by an administrative or technical supervisor and is performed independently with initiative and is reviewed upon completion for overall effectiveness in meeting the client and agency needs.

EXAMPLES OF WORK: Meets with users or business analysts to determine business or existing system inefficiencies or problems, objectives and operational needs, level of utilization of existing systems, and computer equipment capability to identify information technology alternatives and provide solutions for improving operations.

Develops, leads, or supervises the development of objectives for proposed systems characterized by the existence of multiple functions integrated into single systems, including the logical model for the systems, process logic definitions, critical data elements, and logical system design to meet the user's requirements.

Performs, leads, or supervises the identification and evaluation of alternative design options for business systems supporting multiple applications, including the technical and economic feasibility of each alternative and develops, presents, and advises users and higher level managers on recommendations for systems parameters, including proposed schedule and projected costs for development.

Develops, leads, or supervises the development of specifications for proposed business systems supporting multiple business applications, including report layouts, screens, input documents and forms file design, forms design, and physical file structure.

Utilizes and provides guidance to lower level developers in the use of standard and advanced computer system design techniques, software development lifecycle methodologies, and developmental tools.

Determines database requirements and prepares database design for highly complex systems.

Ensures the appropriate incorporation of 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, leads, or supervises 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.

Performs, leads, or supervises the development of procedures and application code to integrate multiple complex applications.

Performs, leads, or supervises 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, leads, or supervises the preparation of 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 and coordinates training to appropriate personnel on newly developed, modified, or customized systems.

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

Meets with users to gain their formal acceptance of new system applications prior to implementation.

Acts as primary contact with users, business analysts, and management regarding complex and multi-function system operations and new developments, corrections, and enhancements they may require.

Serves as a consultant and technical advisor to users regarding new software and technology that may improve or streamline system operations and advises on costs and cost effectiveness in making system revisions or changes.

Coordinates with management, program staff, and selected vendors; monitors and reports on project progress; resolves critical development issues; and advises management of any delay or problem which would impact adherence to the project completion time frames.

Serves as a technical expert during the process to evaluate and select vendors.

Manages contracts by meeting with vendors and reviewing status reports, work products, and invoices to ensure that the work was completed correctly and as described in contract.

Makes decisions for application development projects regarding efficiency, scalability and growth, reusability of components, integration and interaction of the system, and appropriate framework, platforms, and standards.

Designs, develops, and implements application architectures which define the interrelationships among individual applications and the infrastructures that support them.

Conducts analyses, investigates parameters, and develops prototypes for employing complex or emerging technologies into applications development projects and architectures.

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

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

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

Develops highly 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 advanced technical work by assigning and reviewing work, training employees, and performing quality control functions for the work.

Supervises staff performing technical or advanced technical work in the development, customization, or maintenance of computer applications.

Employees in this job may participate in their subordinates’ work consistent with operational or organizational requirements.

Performs the full range of supervisory duties.

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 resource management principles.

Knowledge of information life cycle management.

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 2 or Computer Programmer 4;

                                                                                                                                                                               or

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

                                                                                                                                                                               or

Five years of information technology experience that includes three years of experience in applications development or applications maintenance;

                                                                                                                                                                               or

One year of information technology experience in applications development or applications maintenance, and a bachelor's degree in any information technology field;

                                                                                                                                                                               or

An equivalent combination of experience and training.