Applications Developer
A specialist who performs tasks required to develop a software project from conception to implementation. Tasks may include analyzing organizational needs, developing functional and technical requirements, designing and coding programs, designing and conducting testing, writing documentation, designing and presenting training, and coordinating implementation. At the advanced level, the specialist may be more properly described as Systems Developer
Positions with these duties are generally classified in the Computer Specialist Series (GS-334). Depending on the size and organization of the information management staff, application development may be the only responsibility or just one of several responsibilities an individual performs. (Refer to the files for Data Communications Specialist, Local Area Network Manager, or Technical Support Specialist for the competencies required to perform additional responsibilities.)
ENTRY LEVEL
Description: These competencies identify the Knowledge, Skills, and Abilities required to perform basic tasks of Applications Development at the entry level. Work is performed with the assistance of more experienced colleagues, with an emphasis on developing skills.
Essential Competencies
Hardware
Description:Familiarity with basic computer hardware.
Outline
I. Hardware
Knowledge, Skills, and Abilities
Basic knowledge of computer hardware and the interactions between system components
Operating Systems
Description:Manipulates the operating system at a basic level.
Outline
II. Operating Systems
Knowledge, Skills, and Abilities
Knowledge of common operating system commands
Ability to write and edit simple batch files using common operating system commands (e.g., changing directories, launching programs)
Applications Software
Description:Installs and runs off-the-shelf and custom software.
Outline
III. Applications Software
Knowledge, Skills, and Abilities
Ability to read and understand manufacturer's or other instructions
Skill at installing and configuring software products
Systems Analysis
Description:Provides analysis leading to functional requirements documents.
Outline
IV. Systems Analysis
Knowledge, Skills, and Abilities
Basic knowledge of systems analysis techniques
Ability to participate in conducting interviews with line employees to elicit information about current procedures
Ability to analyze non-complex operating information to perform portions of functional requirements analyses for basic computer programs (e.g., analyze inputs, outputs)
Program Design/Programming
Description:Writes programs that perform basic tasks.
Outline
V. Program Design/Programming
Knowledge, Skills, and Abilities
Ability to write programs in the language appropriate to the need (C++, Clipper, Visual Basic, etc.) based on detailed program specifications
Ability to design relational database files
Applications Testing
Description:Performs testing of software programs, using a test plan and documenting problems.
Outline
VI. Applications Testing
Knowledge, Skills, and Abilities
Ability to understand test plans
Ability to conduct testing of specific software programs based on existing test plans
Ability to document problems
Technical Writing
Description:Writes basic technical documents.
Outline
VII. Technical Writing
Knowledge, Skills, and Abilities
Ability to write portions of functional requirements for basic computer programs (e.g., input and output layouts)
Ability to assist in developing user documentation
Training
Description:Comprehends a body of computer related knowledge and shares it with others.
Outline
VIII. Training
Knowledge, Skills, and Abilities
Ability to follow training plans
Ability to assist in conducting training
DEVELOPMENTAL LEVEL
Description: These competencies identify the Knowledge, Skills, and Abilities required to perform tasks of Applications Development at the developmental level. Routine work is performed with minimal assistance, with an emphasis on developing skills.
Essential Competencies
Hardware
Description:Determines the minimum hardware needed to support particular applications and operating systems.
Outline
I. Hardware
Knowledge, Skills, and Abilities
Ability to research capabilities and restrictions of hardware platforms
Ability to use hardware research and analyze in conjunction with system requirements
Operating Systems
Description:Analyzes potential operating systems for capabilities and restrictions and ability to support system requirements.
Outline
II. Operating Systems
Knowledge, Skills, and Abilities
Ability to write complex batch files using operating system commands
Ability to understand processor memory management and optimize operating system settings for application/job setups
Ability to analyze operating systems to determine which would be appropriate for hardware/software platforms
Applications Software
Description:Researches and compares available software packages, and makes recommendations for purchase.
Outline
III. Applications Software
Knowledge, Skills, and Abilities
Skill in researching software products including the ability to deal with vendors to secure evaluation copies of those products
Ability to analyze features of various software products, make comparisons based on understanding of target hardware, operating system, and user needs, and recommend purchases
Troubleshooting and Maintenance
Description:Analyzes the source of a problem, and suggests a solution.
Outline
IV. Troubleshooting and Maintenance
Knowledge, Skills, and Abilities
Knowledge of troubleshooting techniques to determine whether difficulties are due to lack of training on the part of the user, hardware, software, or communications problems
Ability to suggest means of problem resolution, and modify code if necessary
Systems Analysis
Description:Provides analysis leading to project definition, management needs assessment, and requirements development.
Outline
V. Systems Analysis
Knowledge, Skills, and Abilities
Knowledge of systems analysis and design techniques
Skill at planning and conducting interviews with line employees to elicit information about current procedures and analyzing whether these procedures meet current and future needs
Ability to analyze information gathered from users, available documentation, organizational research to perform functional requirements analyses for programs
Program Design/Programming
Description:Designs and writes programs of a complex nature.
Outline
VI. Program Design/Programming
Knowledge, Skills, and Abilities
Ability to design and write programs in the language appropriate to the need (C++, Clipper, Visual Basic, etc.)
Ability to design relational database structures
Applications Testing
Description:Fully tests complex software programs by foreseeing many possible combinations of events.
Outline
VII. Applications Testing
Knowledge, Skills, and Abilities
Skill in designing test plans
Ability to conduct testing of software programs
Ability to document problems for appropriate resolution
Procurement/Contracting
Description:Writes basic specifications for purchasing items related to computers.
Outline
VIII. Procurement/Contracting
Knowledge, Skills, and Abilities
Ability to translate need for basic computer equipment into specifications for purchase
Technical Writing
Description:Writes technical documents for users and technical staff.
Outline
IX. Technical Writing
Knowledge, Skills, and Abilities
Ability to write functional requirements and user documentation
Ability to translate functional requirements into system specifications
Training
Description:Comprehends a body of computer related knowledge, develops a training approach, and delivers training.
Outline
X. Training
Knowledge, Skills, and Abilities
Ability to develop training session plans
Ability to produce training materials
Skill at conducting user training
FULL PERFORMANCE LEVEL
Description:These competencies identify the Knowledge, Skills, and Abilities required to perform tasks of Applications Development at the full performance level. At the full performance level, Applications Development becomes Systems Development as the projects become more broad in scope. The incumbent will be a recognized expert, able to provide leadership to others.
Essential Competencies
Hardware
Description:Determines the minimum hardware needed to support particular applications and operating systems.
Outline
I. Hardware
Knowledge, Skills, and Abilities
Ability to research capabilities and restrictions of hardware platforms
Ability to use hardware research and analyze in conjunction with system requirements
Operating Systems
Description:Analyzes potential operating systems for capabilities and restrictions and ability to support system requirements. Environment may include multiple users and platforms.
Outline
II. Operating Systems
Knowledge, Skills, and Abilities
Ability to write complex batch files using advanced operating system commands
Ability to understand processor memory management and optimize operating system settings for application/job setups
Ability to analyze operating systems to determine which would be appropriate for hardware/software platforms, including multi-user, multi-platform environments
Applications Software
Description:Researches and compares available software packages and products expected in the future (off-the-shelf and NPS systems), to make recommendations for purchase or development of new products.
Outline
III. Applications Software
Knowledge, Skills, and Abilities
Knowledge of industry trends and coming software developments, in addition to skill in researching software products
Ability to deal with vendors to secure evaluation copies of software products
Ability to analyze features of various software products, make comparisons based on understanding of target hardware, operating system, and user needs, and recommend purchases. Includes developing analysis documents to justify selections or support the need for development of a new product
Troubleshooting and Maintenance
Description:Analyzes the source of complex problems, and effects solutions.
Outline
IV. Troubleshooting and Maintenance
Knowledge, Skills, and Abilities
Knowledge of troubleshooting techniques to determine whether difficulties are due to lack of training on the part of the user, hardware, software, or communications problems
Ability to resolve problems by modifying procedures, providing training, coordinating hardware replacement, configuration, or repair, modifying program code, or whatever else may be necessary to correct the problem
Systems Analysis
Description:Provides analysis leading to project definition, management needs assessment, cost/benefit documentation, requirements development, and system implementation coordination. Also may include work on servicewide standards, security issues, planning.
Outline
V. Systems Analysis
Knowledge, Skills, and Abilities
Extensive knowledge of systems analysis and design techniques
Skill at eliciting detailed information about current procedures and analyzing whether these procedures meet current and future needs
Ability to deal with all levels of employees, including management
Ability to analyze information gathered from users, available documentation, organizational research to determine system feasibility, perform cost/benefit analyses, and perform functional requirements analyses for systems
Ability to translate functional requirements into hardware and software system specifications
Ability to coordinate full implementation of a system with users and management, including conversion of data to new structures and any period of parallel processing
Program Design/Programming
Description:Designs and writes programs in a multi-user, multi-platform environment, and serves as a resource to other programmers.
Outline
VI. System Design/Programming (Program Design/Programming)
Knowledge, Skills, and Abilities
Ability to design and write programs for a variety of platforms (e.g., LANs, WANs, other multi-user environments), in the language appropriate to the need (C++, Clipper, Visual Basic, etc.) and oversee program development by others
Ability to take complex code developed by someone else, analyze the structure and flow, and make modifications that will improve the program without having negative impact on other parts of the system
Ability to design and manage complex relational database structures
Applications Testing
Description:Designs and conducts testing of all programs including the system interaction level, and effects solutions to problems encountered.
Outline
VII. System Testing (Applications Testing)
Knowledge, Skills, and Abilities
Skill in designing test plans
Ability to conduct program testing of all programs in a system, including the interaction between the various programs in a complex system
Ability to document problems, and lead others in discussions of potential solutions
Procurement/Contracting
Description:Writes specifications for purchasing or contracting items or services related to computers.
Outline
VIII. Procurement/Contracting
Knowledge, Skills, and Abilities
Ability to translate need for computer systems into specifications for purchase or contract
Ability to develop specifications for contract computer services (e.g., programming, technical support)
Technical Writing
Description:Writes complex technical documents for audiences at the user, technical staff, and management levels.
Outline
IX. Technical Writing
Knowledge, Skills, and Abilities
Ability to write functional requirements, system specifications, hardware specifications, and user documentation
Ability to write management documents, e.g., feasibility studies, cost/benefit analyses, management decision papers
Training
Description:Comprehends a complex body of computer related knowledge, develops a training approach, delivers training, and uses comprehension measurement techniques.
Outline
X. Training
Knowledge, Skills, and Abilities
Skill at developing training session plans
Skill at producing training materials
Ability to develop training data, create hands-on examples and theoretical scenarios to measure user comprehension
Ability to modify training in progress to address inadequate user comprehension
Ability to modify training plans or materials to improve future sessions
Skill at conducting user training on complex systems
National Park Service