- Consults with supervisor, systems analysts, other programmers, and end users to gather information about program intent, functions, features, data requirements, input requirements, output requirements, internal and external checks and controls, hardware and operating system environment, and interfaces with other systems.
- Designs or writes program specifications based on consultations with supervisor, systems analysts, other programmers, and end users.
- Converts designs and specifications into computer code.
- Compiles code into programs and corrects errors detected in compile process.
- Creates test transactions and runs tests to find errors and confirm program meets specifications.
- Analyzes code to find causes of errors and revises programs.
- Writes and maintains documentation of changes to computer code, programs, and specifications.
- Designs and codes layouts for onscreen user interfaces, printed outputs, and interfaces with other systems.
- Reviews user and technical documentation written by others to confirm consistency with program operations.
- Provides technical assistance by responding to inquiries regarding errors, problems, or questions with programs.
- Revises program for corrections, enhancements, or system environment changes.
- Trains end users or technical support staff to use and support program.
- Coordinates with other programmers about program revisions.
- Modifies and maintains software programs written by others.