a dark blue TraitLab logo
Sign up

Have an account? Sign in

Career profile Computer Programmer

Also known as Analyst Programmer, Application Programmer Analyst, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst, Web Applications Programmer, Web Programmer

Computer Programmer

Also known as Analyst Programmer, Application Programmer Analyst, Computer Programmer

Interests Profile
  • Investigative
  • Conventional
  • Realistic
Pay Range
$51,440 - $146,050 (annual)
Required Skills
  • Programming
  • Active Listening
  • Critical Thinking
Knowledge Areas
  • Computers and Electronics
  • Mathematics
  • Engineering and Technology
Core tasks
  • Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
  • Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
  • Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
Is Computer Programmer the right career path for you?

Would Computer Programmer be a good fit for you?

Explore how your personality fits with Computer Programmer and hundreds of other career paths.

Get started with TraitLab

What does a Computer Programmer do?

Computer Programmers create, modify, and test the code and scripts that allow computer applications to run.

In addition, Computer Programmers

  • work from specifications drawn up by software and web developers or other individuals,
  • may develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

What kind of tasks does a Computer Programmer perform regularly?

Computer Programmers are often responsible for overseeing or executing some or all of the following tasks:

  • Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
  • Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
  • Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
  • Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking inventory, storing or retrieving data, or controlling other equipment.
  • Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
  • Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
  • Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
  • Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
  • Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
  • Write or contribute to instructions or manuals to guide end users.
  • Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program's instructions.
  • Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
  • Assign, coordinate, and review work and activities of programming personnel.

The above responsibilities are specific to Computer Programmers. More generally, Computer Programmers are involved in several broader types of activities:

Working with Computers
Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information.
Processing Information
Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data.
Getting Information
Observing, receiving, and otherwise obtaining information from all relevant sources.
Analyzing Data or Information
Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts.
Making Decisions and Solving Problems
Analyzing information and evaluating results to choose the best solution and solve problems.

What is a Computer Programmer salary?

The median salary for a Computer Programmer is $89,190, and the average salary is $95,640. Both the median and average roughly describe the middle of the Computer Programmer salary range, but the average is more easily affected by extremely high or low salaries.

Many Computer Programmers earn significantly more or less than the average, due to several factors. About 10% of Computer Programmers earn less than $51,440 per year, 25% earn less than $67,370, 75% earn less than $116,220, and 90% earn less than $146,050.

Between the years of 2020 and 2030, the number of Computer Programmers is expected to change by -9.9%, and there should be roughly 9,700 open positions for Computer Programmers every year.

Median annual salary
Typical salary range
$51,440 - $146,050
Projected growth (2020 - 2030)

What personality traits are common among Computer Programmers?


Career interests describe a person's preferences for different types of working environments and activities. When a person's interest match the demands of an occupation, people are usually more engaged and satisfied in that role.

Compared to most occupations, those who work as a Computer Programmer are usually higher in their Investigative and Conventional interests.

Computer Programmers typically have very strong Investigative interests. Investigative occupations frequently involve working with ideas, and require an extensive amount of thinking. These occupations can involve searching for facts and figuring out problems mentally.

Also, Computer Programmers typically have strong Conventional interests. Conventional occupations frequently involve following set procedures and routines. These occupations can include working with data and details more than with ideas. Usually there is a clear line of authority to follow.


People differ in their values, or what is most important to them for building job satisfaction and fulfillment.

Compared to most people, those working as a Computer Programmer tend to value Achievement, Working Conditions, and Support.

Most importantly, Computer Programmers strongly value Achievement. Occupations that satisfy this work value are results oriented and allow employees to use their strongest abilities, giving them a feeling of accomplishment.

Second, Computer Programmers strongly value Working Conditions. Occupations that satisfy this work value offer job security and good working conditions.

Lastly, Computer Programmers strongly value Support. Occupations that satisfy this work value offer supportive management that stands behind employees.

Psychological Demands

Each occupation brings its own set of psychological demands, which describe the characteristics necessary to perform the job well.

In order to perform their job successfully, people who work as Computer Programmers must consistently demonstrate qualities such as attention to detail, analytical thinking, and integrity.

Below, you'll find a list of qualities typically required of Computer Programmers, ranked by importance:

Attention to Detail
Job requires being careful about detail and thorough in completing work tasks.
Analytical Thinking
Job requires analyzing information and using logic to address work-related issues and problems.
Job requires being honest and ethical.
Job requires being pleasant with others on the job and displaying a good-natured, cooperative attitude.
Job requires developing one's own ways of doing things, guiding oneself with little or no supervision, and depending on oneself to get things done.

What education and training do Computer Programmers need?

Many Computer Programmers will have a four-year bachelor's degree, but some do not.

Computer Programmers usually need several years of work-related experience, on-the-job training, and/or vocational training.

Educational degrees among Computer Programmers

  • 1.0% did not complete high school or secondary school
  • 4.9% completed high school or secondary school
  • 12.2% completed some college coursework
  • 8.0% earned a Associate's degree
  • 50.2% earned a Bachelor's degree
  • 21.1% earned a Master's degree
  • 2.5% earned a doctorate or professional degree

Knowledge and expertise required by Computer Programmers

Computer Programmers may benefit from understanding of specialized subject areas, such as computers and electronics, mathematics, or engineering and technology knowledge.

The list below shows several areas in which most Computer Programmers might want to build proficiency, ranked by importance.

Computers and Electronics
Knowledge of circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.
Knowledge of arithmetic, algebra, geometry, calculus, statistics, and their applications.
Engineering and Technology
Knowledge of the practical application of engineering science and technology. This includes applying principles, techniques, procedures, and equipment to the design and production of various goods and services.
Customer and Personal Service
Knowledge of principles and processes for providing customer and personal services. This includes customer needs assessment, meeting quality standards for services, and evaluation of customer satisfaction.
Administration and Management
Knowledge of business and management principles involved in strategic planning, resource allocation, human resources modeling, leadership technique, production methods, and coordination of people and resources.

Important Abilities needed by Computer Programmers

Computer Programmers must develop a particular set of abilities to perform their job well. Abilities are individual capacities that influence a person's information processing, sensory perception, motor coordination, and physical strength or endurance. Individuals may naturally have certain abilities without explicit training, but most abilities can be sharpened somewhat through practice.

For example, Computer Programmers need abilities such as written comprehension, oral comprehension, and near vision in order to perform their job at a high level. The list below shows several important abilities for Computer Programmers, ranked by their relative importance.

Written Comprehension
The ability to read and understand information and ideas presented in writing.
Oral Comprehension
The ability to listen to and understand information and ideas presented through spoken words and sentences.
Near Vision
The ability to see details at close range (within a few feet of the observer).
Problem Sensitivity
The ability to tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing that there is a problem.
Deductive Reasoning
The ability to apply general rules to specific problems to produce answers that make sense.

Critical Skills needed by Computer Programmers

Skills are developed capacities that enable people to function effectively in real-world settings. Unlike abilities, skills are typically easier to build through practice and experience. Skills influence effectiveness in areas such as learning, working with others, design, troubleshooting, and more.

Computer Programmers frequently use skills like programming, active listening, and critical thinking to perform their job effectively. The list below shows several critical skills for Computer Programmers, ranked by their relative importance.

Writing computer programs for various purposes.
Active Listening
Giving full attention to what other people are saying, taking time to understand the points being made, asking questions as appropriate, and not interrupting at inappropriate times.
Critical Thinking
Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions, or approaches to problems.
Complex Problem Solving
Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.
Quality Control Analysis
Conducting tests and inspections of products, services, or processes to evaluate quality or performance.

What is the source of this information?

The information provided on this page is adapted from data and descriptions published by the U.S. Department of Labor, Employment and Training Administration under the CC BY 4.0 license. TraitLab has modified some information for ease of use and reading, and the U.S. Department of Labor, Employment, and Training Administration has not approved, endorsed, or tested these modifications.

If you have any questions or suggestions about this information, please send a message.