The average salary of a(n) Computer Programmer Analyst in the United States is $93,866.
Analyzes and critiques computer programs and systems, and develops new programs. Reviews users requests for new or modified computer programs to determine feasibility, cost and time required, compatibility with current system, and computer capabilities. Configures plan outlining steps required to develop program, using structured analysis and design. Plans, develops, tests, and documents computer programs, applying knowledge of programming techniques and computer systems. Submits plans to user for approval. Prepares flowcharts and diagrams to illustrate sequence of steps program must follow and to describe logical operations involved. Consults with user to identify current operating procedures and clarify program objectives. Reads manuals, periodicals, and technical reports to learn ways to develop programs that meet user requirements. Designs computer terminal screen displays to accomplish goals of user request. Converts project specifications, using flowcharts and diagrams, into sequence of detailed instructions and logical steps for coding into language that can be processed by computer, applying knowledge of computer programming techniques and computer languages. Enters program codes into computer system. Enters commands into computer to run and test program. Reads computer printouts, or observes display screen to detect syntax or logic errors during program test, or uses diagnostic software to detect errors. Replaces, deletes, or modifies codes to correct errors. Analyzes, reviews, and alters program to increase operating efficiency or adapt to new requirements. Writes documentation to describe program development, logic, coding, and corrections. Writes manual for users to describe installation and operating procedures. Assists users to solve operating problems. Recreates steps taken by user to locate source problem and rewrites program to correct errors. May use computer-aided software tools, such as flowchart design and code generation, in each stage of system development. May train users to use program. May oversee installation of hardware and software. May provide technical assistance to program users. May install and test program at user site. May monitor performance of program after implementation. May specialize in developing programs for business or technical applications. Less
Analyzes and critiques computer programs and systems, and develops new programs. Reviews users requests for new or modified computer programs to determine feasibility, cost and time required, compatibility with current system, and computer capabilities. Configures plan outlining steps required to... More