A computer programmer creates, modify and tests the code and scripts that allow computer applications to run. 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.

  • 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.
  • Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
  • 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.
  • Assign, coordinate, and review work and activities of programming personnel.
  • Train subordinates in programming and program coding.
  • Develop Web sites.
  • Train users on the use and function of computer programs.
  • Collaborate with computer manufacturers and other users to develop new programming methods.
Work Context
  • Electronic Mail — 100% responded "Every day".
  • Spend Time Sitting — 91% responded "Continually or almost continually".
  • Face-to-Face Discussions — 61% responded "Every day".
  • Indoors, Environmentally Controlled — 82% responded "Every day".
  • Importance of Being Exact or Accurate — 65% responded "Extremely important".
  • Work With Work Group or Team — 42% responded "Extremely important".
  • Contact With Others — 66% responded "Constant contact with others".
  • Read More
Work Activities
  • Interacting 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.
  • Analyzing Data or Information — Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts.
  • Getting Information — Observing, receiving, and otherwise obtaining information from all relevant sources.
  • Making Decisions and Solving Problems — Analyzing information and evaluating results to choose the best solution and solve problems.
  • Thinking Creatively — Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions.
  • Identifying Objects, Actions, and Events — Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events.
  • Updating and Using Relevant Knowledge — Keeping up-to-date technically and applying new knowledge to your job.
  • Read More
Detailed Work Activities
  • Test software performance.
  • Resolve computer software problems.
  • Test software performance.
  • Document design or development procedures.
  • Modify software programs to improve performance.
  • Write computer programming code.
  • Read More


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.
Read More


  • Writing computer programs for various purposes.
Complex Problem Solving
  • Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.
Critical Thinking
  • Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
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.
Read More


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).
Information Ordering
  • The ability to arrange things or actions in a certain order or pattern according to a specific rule or set of rules (e.g., patterns of numbers, letters, words, pictures, mathematical operations).
Read More


People interested in this work like activities that include ideas, thinking, and figuring things out.
They do well at jobs that need:
  • Achievement/Effort
  • Persistence
  • Initiative
  • Leadership
  • Cooperation
  • Concern for Others
  • Social Orientation
  • Self Control
Read More


You might use software like this on the job:

Data base management system software
  • Oracle PL/SQL Hot Technology
  • Elasticsearch Hot Technology
  • Relational database management software Hot Technology
  • MySQL Hot Technology
  • NoSQL Hot Technology
  • MongoDB Hot Technology
  • Apache Solr Hot Technology
  • Apache Hadoop Hot Technology
  • Apache Pig Hot Technology
  • Teradata Database Hot Technology
  • Apache Cassandra Hot Technology
  • Amazon DynamoDB Hot Technology
  • SAP Adaptive Server Enterprise
  • Structured Query Report SQR
  • Computer Associates integrated data management system CA-IDMS
  • Data definition language DDL
  • Data manipulation language DML
  • CAST SQL Builder
  • Amazon Kinesis
Object or component oriented development software
  • Practical extraction and reporting language Perl Hot Technology
  • Python Hot Technology
  • jQuery Hot Technology
  • R Hot Technology
  • Objective C Hot Technology
  • Oracle Java Hot Technology
  • C++ Hot Technology
  • Apache Spark Hot Technology
  • C# Hot Technology
  • Swift Hot Technology
  • Apache Groovy Hot Technology
  • Advanced business application programming ABAP Hot Technology
  • Scala Hot Technology
  • Oberon
  • Objective Caml
  • Self
  • Smalltalk
  • PowerSoft PowerBuilder
  • Common Lisp Object System CLOS
  • Collaborative Application Markup Language CAML
  • Embarcadero Delphi
  • Eiffel
  • E++ pattern language
  • ABC: the AspectBench Compiler for AspectJ
  • Microsoft ActiveX
  • Jupyter Notebook
  • Modula
  • Microsoft Visual C# .NET
  • Microsoft Visual C#
  • Microsoft Visual Basic.NET
  • Greatis Object Inspector
Enterprise application integration software
  • IBM WebSphere Hot Technology
  • Extensible markup language XML Hot Technology
  • Microsoft SQL Server Integration Services SSIS Hot Technology
  • Oracle Fusion Middleware Hot Technology
  • Atlassian Bamboo Hot Technology
  • SAP BusinessObjects Data Integrator
  • SAP NetWeaver BW
  • Progress Sonic ESB
  • Extensible stylesheet language XSL
  • IBM InfoSphere DataStage
Read More