Computer Programmers

Overview
Job Zone Four: Considerable Preparation Needed
Experience

A considerable amount of work-related skill, knowledge, or experience is needed for these occupations. For example, an accountant must complete four years of college and work for several years in accounting to be considered qualified.

Education

Most of these occupations require a four-year bachelor's degree, but some do not.

Job Training

Employees in these occupations usually need several years of work-related experience, on-the-job training, and/or vocational training.

Examples

Many of these occupations involve coordinating, supervising, managing, or training others. Examples include real estate brokers, sales managers, database administrators, graphic designers, chemists, art directors, and cost estimators.

Create, modify, and test 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.

Salary Salary

Salary at 10th Percentile: $51K
Salary at 25th Percentile: $67K
Median Salary: $89K
Salary at 75th Percentile: $116K
Salary at 90th Percentile: $146K

Demand
Career Demand by State Career Demand by State Legend
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.

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.

Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.

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.

Train subordinates in programming and program coding.

Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.

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.

Write or contribute to instructions or manuals to guide end users.

Assign, coordinate, and review work and activities of programming personnel.

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.

Technology Skills
Technology
Example
Hot Technology
Access software
Citrix
Accounting software
Tax software
Analytical or scientific software
The MathWorks MATLAB
Application server software
Spring Boot
Backup or archival software
Veritas NetBackup
Business intelligence and data analysis software
Tableau
Communications server software
IBM Domino
Compiler and decompiler software
Threaded code compiler
Computer aided design CAD software
Dassault Systemes CATIA
Configuration management software
VMWare
Content workflow software
Atlassian JIRA
Data base management system software
Teradata Database
Data base reporting software
SAP Crystal Reports
Data base user interface and query software
Transact-SQL
Data mining software
Google Analytics
Desktop publishing software
Microsoft Publisher
Development environment software
Ruby
Document management software
Adobe Systems Adobe Acrobat
Electronic mail software
Microsoft Exchange
Enterprise application integration software
Oracle Fusion Middleware
Enterprise resource planning ERP software
SAP Business Objects
Enterprise system management software
Splunk Enterprise
Expert system software
Ansible software
File versioning software
Git
Financial analysis software
Oracle E-Business Suite Financials
Graphical user interface development software
Salesforce Visualforce
Graphics or photo imaging software
Microsoft Visio
Human resources software
Human resource management software HRMS
Industrial control software
Supervisory control and data acquisition SCADA software
Map creation software
Geographic information system GIS software
Medical software
Epic Systems
Metadata management software
CA Erwin Data Modeler
Network monitoring software
Wireshark
Network security and virtual private network VPN equipment software
Virtual private networking VPN software
Object or component oriented development software
Swift
Object oriented data base management software
PostgreSQL
Office suite software
Microsoft Office
Operating system software
UNIX Shell
Platform interconnectivity software
Amazon Web Services AWS CloudFormation
Portal server software
Apache HTTP Server
Presentation software
Microsoft PowerPoint
Program testing software
Selenium
Project management software
Microsoft SharePoint
Requirements analysis and system architecture software
Unified modeling language UML
Spreadsheet software
Microsoft Excel
Storage networking software
Amazon Simple Storage Service S3
Transaction security and virus protection software
McAfee
Transaction server software
Customer information control system CICS
Web page creation and editing software
Microsoft FrontPage
Web platform development software
Spring Framework
Word processing software
Microsoft Word
Tools Used
Tool
Example
Components for information technology or broadcasting or telecommunications
Serial port cards
Computer Equipment and Accessories
Mainframe computers
Top 10 Knowledge Required
Computers and Electronics
98%
Importance

Knowledge of circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.

Mathematics
71%
Importance

Knowledge of arithmetic, algebra, geometry, calculus, statistics, and their applications.

Engineering and Technology
70%
Importance

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.

English Language
69%
Importance

Knowledge of the structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.

Administration and Management
66%
Importance

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.

Customer and Personal Service
66%
Importance

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.

Design
58%
Importance

Knowledge of design techniques, tools, and principles involved in production of precision technical plans, blueprints, drawings, and models.

Education and Training
56%
Importance

Knowledge of principles and methods for curriculum and training design, teaching and instruction for individuals and groups, and the measurement of training effects.

Clerical
55%
Importance

Knowledge of administrative and clerical procedures and systems such as word processing, managing files and records, stenography and transcription, designing forms, and other office procedures and terminology.

Geography
55%
Importance

Knowledge of principles and methods for describing the features of land, sea, and air masses, including their physical characteristics, locations, interrelationships, and distribution of plant, animal, and human life.

Top 10 Skills
Programming
95%
Importance

Writing computer programs for various purposes.

Active Listening
75%
Importance

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.

Complex Problem Solving
75%
Importance

Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.

Critical Thinking
75%
Importance

Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.

Quality Control Analysis
70%
Importance

Conducting tests and inspections of products, services, or processes to evaluate quality or performance.

Reading Comprehension
68%
Importance

Understanding written sentences and paragraphs in work related documents.

Systems Analysis
68%
Importance

Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes.

Judgment and Decision Making
65%
Importance

Considering the relative costs and benefits of potential actions to choose the most appropriate one.

Writing
65%
Importance

Communicating effectively in writing as appropriate for the needs of the audience.

Active Learning
63%
Importance

Understanding the implications of new information for both current and future problem-solving and decision-making.

Top 10 Abilities
Written Comprehension
80%
Importance

The ability to read and understand information and ideas presented in writing.

Near Vision
78%
Importance

The ability to see details at close range (within a few feet of the observer).

Oral Comprehension
78%
Importance

The ability to listen to and understand information and ideas presented through spoken words and sentences.

Deductive Reasoning
75%
Importance

The ability to apply general rules to specific problems to produce answers that make sense.

Inductive Reasoning
75%
Importance

The ability to combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events).

Information Ordering
75%
Importance

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).

Problem Sensitivity
75%
Importance

The ability to tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing there is a problem.

Oral Expression
70%
Importance

The ability to communicate information and ideas in speaking so others will understand.

Speech Recognition
65%
Importance

The ability to identify and understand the speech of another person.

Written Expression
65%
Importance

The ability to communicate information and ideas in writing so others will understand.

Top 10 Work Activities
Interacting With Computers
99%
Importance

Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information.

Processing Information
92%
Importance

Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data.

Analyzing Data or Information
91%
Importance

Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts.

Getting Information
91%
Importance

Observing, receiving, and otherwise obtaining information from all relevant sources.

Making Decisions and Solving Problems
89%
Importance

Analyzing information and evaluating results to choose the best solution and solve problems.

Thinking Creatively
87%
Importance

Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions.

Identifying Objects, Actions, and Events
85%
Importance

Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events.

Updating and Using Relevant Knowledge
84%
Importance

Keeping up-to-date technically and applying new knowledge to your job.

Communicating with Supervisors, Peers, or Subordinates
83%
Importance

Providing information to supervisors, co-workers, and subordinates by telephone, in written form, e-mail, or in person.

Estimating the Quantifiable Characteristics of Products, Events, or Information
78%
Importance

Estimating sizes, distances, and quantities; or determining time, costs, resources, or materials needed to perform a work activity.

Detailed Work Activities

Modify software programs to improve performance.

Write computer programming code.

Test software performance.

Resolve computer software problems.

Collaborate with others to resolve information technology issues.

Develop diagrams or flow charts of system operation.

Develop models of information or communications systems.

Document design or development procedures.

Test computer system operations to ensure proper functioning.

Prepare instruction manuals.

Supervise information technology personnel.

Manage information technology projects or system activities.

Assign duties or work schedules to employees.

Train others in computer interface or software use.

Develop computer or online applications.

Design websites or web applications.

Teach others to use computer equipment or hardware.

Coordinate project activities with other personnel or departments.

Work Context
Electronic Mail

How often do you use electronic mail in this job?

Spend Time Sitting

How much does this job require sitting?

Indoors, Environmentally Controlled

How often does this job require working indoors in environmentally controlled conditions?

Contact With Others

How much does this job require the worker to be in contact with others (face-to-face, by telephone, or otherwise) in order to perform it?

Importance of Being Exact or Accurate

How important is being very exact or highly accurate in performing this job?

Face-to-Face Discussions

How often do you have to have face-to-face discussions with individuals or teams in this job?

Spend Time Using Your Hands to Handle, Control, or Feel Objects, Tools, or Controls

How much does this job require using your hands to handle, control, or feel objects, tools or controls?

Work With Work Group or Team

How important is it to work with others in a group or team in this job?

Spend Time Making Repetitive Motions

How much does this job require making repetitive motions?

Time Pressure

How often does this job require the worker to meet strict deadlines?

Education
Majors
Major
Computer Programming
Computer Science
Computer Software and Media Applications
Computer Systems Networking and Telecommunications
Computer Engineering Technologies/Technicians
Computational Science
Data Analytics
Health and Medical Administrative Services
Management Information Systems and Services
Interests
Investigative
100%
Importance

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.

Conventional
81%
Importance

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.

Realistic
48%
Importance

Realistic occupations frequently involve work activities that include practical, hands-on problems and solutions. They often deal with plants, animals, and real-world materials like wood, tools, and machinery. Many of the occupations require working outside, and do not involve a lot of paperwork or working closely with others.

Artistic
43%
Importance

Artistic occupations frequently involve working with forms, designs and patterns. They often require self-expression and the work can be done without following a clear set of rules.

Enterprising
29%
Importance

Enterprising occupations frequently involve starting up and carrying out projects. These occupations can involve leading people and making many decisions. Sometimes they require risk taking and often deal with business.

Social
29%
Importance

Social occupations frequently involve working with, communicating with, and teaching people. These occupations often involve helping or providing service to others.

Top 10 Work Styles
Attention to Detail
100%
Importance

Job requires being careful about detail and thorough in completing work tasks.

Analytical Thinking
95%
Importance

Job requires analyzing information and using logic to address work-related issues and problems.

Integrity
93%
Importance

Job requires being honest and ethical.

Cooperation
92%
Importance

Job requires being pleasant with others on the job and displaying a good-natured, cooperative attitude.

Independence
91%
Importance

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.

Achievement/Effort
89%
Importance

Job requires establishing and maintaining personally challenging achievement goals and exerting effort toward mastering tasks.

Initiative
89%
Importance

Job requires a willingness to take on responsibilities and challenges.

Persistence
88%
Importance

Job requires persistence in the face of obstacles.

Dependability
86%
Importance

Job requires being reliable, responsible, and dependable, and fulfilling obligations.

Self Control
83%
Importance

Job requires maintaining composure, keeping emotions in check, controlling anger, and avoiding aggressive behavior, even in very difficult situations.

Work Values
Achievement
81%
Importance

Occupations that satisfy this work value are results oriented and allow employees to use their strongest abilities, giving them a feeling of accomplishment. Corresponding needs are Ability Utilization and Achievement.

Working Conditions
79%
Importance

Occupations that satisfy this work value offer job security and good working conditions. Corresponding needs are Activity, Compensation, Independence, Security, Variety and Working Conditions.

Independence
72%
Importance

Occupations that satisfy this work value allow employees to work on their own and make decisions. Corresponding needs are Creativity, Responsibility and Autonomy.

Support
72%
Importance

Occupations that satisfy this work value offer supportive management that stands behind employees. Corresponding needs are Company Policies, Supervision: Human Relations and Supervision: Technical.

Recognition
62%
Importance

Occupations that satisfy this work value offer advancement, potential for leadership, and are often considered prestigious. Corresponding needs are Advancement, Authority, Recognition and Social Status.

Relationships
34%
Importance

Occupations that satisfy this work value allow employees to provide service to others and work with co-workers in a friendly non-competitive environment. Corresponding needs are Co-workers, Moral Values and Social Service.