Summary Report for:
15-1251.00 - Computer Programmers
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.
Sample of reported job titles: Analyst Programmer, Application Programmer Analyst, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst, Web Applications Programmer, Web Programmer
Tasks | Technology Skills | Tools Used | Knowledge | Skills | Abilities | Work Activities | Detailed Work Activities | Work Context | Job Zone | Education | Credentials | Interests | Work Styles | Work Values | Related Occupations | Wages & Employment | Job Openings | Additional 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.
- Access software — Citrix
- Accounting software — Tax software
- Analytical or scientific software — IBM SPSS Statistics ; Minitab ; SAS ; The MathWorks MATLAB (see all 6 examples)
- Application server software — Docker ; Red Hat OpenShift ; Red Hat WildFly ; Spring Boot (see all 6 examples)
- Backup or archival software — Veritas NetBackup
- Business intelligence and data analysis software — IBM Cognos Impromptu ; MicroStrategy ; Oracle Business Intelligence Enterprise Edition ; Qlik Tech QlikView (see all 5 examples)
- Cloud-based data access and sharing software — Microsoft SharePoint
- Cloud-based management software — Amazon Web Services AWS CloudFormation ; IBM WebSphere ; Splunk Enterprise
- Communications server software — IBM Domino
- Compiler and decompiler software — Command interpreters; Inline code expander software; Mixed code generator; Threaded code compiler (see all 14 examples)
- Computer aided design CAD software — Bentley MicroStation ; Computer aided design and drafting CADD software; Dassault Systemes CATIA
- Configuration management software — Chef; Perforce Helix software; Puppet ; VMware (see all 6 examples)
- Content workflow software — Atlassian JIRA ; Emerald Software Group Emerald Green Office; Workflow software
- Data base management system software — Amazon DynamoDB ; Elasticsearch ; MongoDB ; Oracle PL/SQL (see all 19 examples)
- Data base reporting software — Microsoft SQL Server Reporting Services ; ReCrystallize Crystal Reports; SAP Crystal Reports
- Data base user interface and query software — Amazon Elastic Compute Cloud EC2 ; Apache Hive ; Oracle JDBC ; Transact-SQL (see all 15 examples)
- Data mining software — Google Analytics
- Desktop publishing software — Microsoft Publisher
- Development environment software — Apache Ant ; Apache Kafka ; Common business oriented language COBOL ; Go (see all 60 examples)
- Document management software — Adobe Systems Adobe Acrobat ; Virage VS Archive
- Electronic mail software — IBM Notes ; Microsoft Exchange
- Enterprise application integration software — Atlassian Bamboo ; Extensible markup language XML ; Microsoft SQL Server Integration Services SSIS ; Oracle Fusion Middleware (see all 9 examples)
- Enterprise resource planning ERP software — Microsoft Dynamics GP ; NetSuite ERP ; Oracle Hyperion ; Oracle JD Edwards EnterpriseOne (see all 10 examples)
- Enterprise system management software — IBM Power Systems software; Microsoft Systems Management Server
- Expert system software — Ansible software
- File versioning software — Apache Subversion SVN ; Git
- Financial analysis software — Delphi Technology; Oracle E-Business Suite Financials
- Geographic information system — ESRI ArcGIS software ; Geographic information system GIS software
- Graphical user interface development software — Basis BBx VisualPRO/5; Graphical user interfaces GUI; Salesforce Visualforce
- Graphics or photo imaging software — Adobe Systems Adobe Flash; Adobe Systems Adobe Illustrator ; Adobe Systems Adobe Photoshop ; Corel CorelDraw Graphics Suite (see all 5 examples)
- Human resources software — Human resource management software HRMS
- Industrial control software — Supervisory control and data acquisition SCADA software
- Medical software — Epic Systems
- Metadata management software — CA Erwin Data Modeler
- Network monitoring software — Nagios ; Network intrusion prevention systems NIPS; Snort; Wireshark
- Network security and virtual private network VPN equipment software — Virtual private networking VPN software
- Object or component oriented development software — Advanced business application programming ABAP ; Apache Spark ; Objective C ; Scala (see all 30 examples)
- Object oriented data base management software — Hibernate ORM; Microsoft Visual FoxPro; PostgreSQL
- Office suite software — Microsoft Office
- Operating system software — Microsoft Windows Server ; Oracle Solaris ; Red Hat Enterprise Linux ; UNIX Shell (see all 14 examples)
- Portal server software — Apache HTTP Server
- Presentation software — Microsoft PowerPoint
- Process mapping and design software — Microsoft Visio
- Program testing software — Hewlett Packard LoadRunner; JUnit ; Selenium ; Symbolic debugger software (see all 7 examples)
- Project management software — Confluence ; Microsoft Project
- 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 — Adobe Systems Adobe Dreamweaver; CoffeeCup The HTML Editor; Microsoft FrontPage
- Web platform development software — Backbone.js ; Microsoft ASP.NET Core MVC ; React ; Spring Framework (see all 29 examples)
- Word processing software — Microsoft Word
Hot Technology — a technology requirement frequently included in employer job postings.
- Computers and Electronics — Knowledge of circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.
- Mathematics — 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.
- English Language — Knowledge of the structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.
- 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.
- Programming — 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.
- 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.
- Quality Control Analysis — Conducting tests and inspections of products, services, or processes to evaluate quality or performance.
- Reading Comprehension — Understanding written sentences and paragraphs in work-related documents.
- Systems Analysis — Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes.
- Judgment and Decision Making — Considering the relative costs and benefits of potential actions to choose the most appropriate one.
- Writing — Communicating effectively in writing as appropriate for the needs of the audience.
- Active Learning — Understanding the implications of new information for both current and future problem-solving and decision-making.
- Mathematics — Using mathematics to solve problems.
- Operations Analysis — Analyzing needs and product requirements to create a design.
- Social Perceptiveness — Being aware of others' reactions and understanding why they react as they do.
- Speaking — Talking to others to convey information effectively.
- Systems Evaluation — Identifying measures or indicators of system performance and the actions needed to improve or correct performance, relative to the goals of the system.
- Time Management — Managing one's own time and the time of others.
- Coordination — Adjusting actions in relation to others' actions.
- Monitoring — Monitoring/Assessing performance of yourself, other individuals, or organizations to make improvements or take corrective action.
- Written Comprehension — The ability to read and understand information and ideas presented in writing.
- Near Vision — The ability to see details at close range (within a few feet of the observer).
- Oral Comprehension — The ability to listen to and understand information and ideas presented through spoken words and sentences.
- Deductive Reasoning — The ability to apply general rules to specific problems to produce answers that make sense.
- Inductive Reasoning — The ability to combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events).
- 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).
- 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.
- Oral Expression — The ability to communicate information and ideas in speaking so others will understand.
- Speech Recognition — The ability to identify and understand the speech of another person.
- Written Expression — The ability to communicate information and ideas in writing so others will understand.
- Mathematical Reasoning — The ability to choose the right mathematical methods or formulas to solve a problem.
- Number Facility — The ability to add, subtract, multiply, or divide quickly and correctly.
- Selective Attention — The ability to concentrate on a task over a period of time without being distracted.
- Speech Clarity — The ability to speak clearly so others can understand you.
- Flexibility of Closure — The ability to identify or detect a known pattern (a figure, object, word, or sound) that is hidden in other distracting material.
- Fluency of Ideas — The ability to come up with a number of ideas about a topic (the number of ideas is important, not their quality, correctness, or creativity).
- Originality — The ability to come up with unusual or clever ideas about a given topic or situation, or to develop creative ways to solve a problem.
- 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.
- 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.
- Communicating with Supervisors, Peers, or Subordinates — 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 — Estimating sizes, distances, and quantities; or determining time, costs, resources, or materials needed to perform a work activity.
- Documenting/Recording Information — Entering, transcribing, recording, storing, or maintaining information in written or electronic/magnetic form.
- Developing Objectives and Strategies — Establishing long-range objectives and specifying the strategies and actions to achieve them.
- Organizing, Planning, and Prioritizing Work — Developing specific goals and plans to prioritize, organize, and accomplish your work.
- Developing and Building Teams — Encouraging and building mutual trust, respect, and cooperation among team members.
- Evaluating Information to Determine Compliance with Standards — Using relevant information and individual judgment to determine whether events or processes comply with laws, regulations, or standards.
- Interpreting the Meaning of Information for Others — Translating or explaining what information means and how it can be used.
- Establishing and Maintaining Interpersonal Relationships — Developing constructive and cooperative working relationships with others, and maintaining them over time.
- Monitoring Processes, Materials, or Surroundings — Monitoring and reviewing information from materials, events, or the environment, to detect or assess problems.
- Providing Consultation and Advice to Others — Providing guidance and expert advice to management or other groups on technical, systems-, or process-related topics.
- Coordinating the Work and Activities of Others — Getting members of a group to work together to accomplish tasks.
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.
- Train others in computer interface or software use.
- Test computer system operations to ensure proper functioning.
- Prepare instruction manuals.
- Assign duties or work schedules to employees.
- Manage information technology projects or system activities.
- Supervise information technology personnel.
- Design websites or web applications.
- Develop computer or online applications.
- Teach others to use computer equipment or hardware.
- Coordinate project activities with other personnel or departments.
- Electronic Mail — 100% responded “Every day.”
- Spend Time Sitting — 90% responded “Continually or almost continually.”
- Face-to-Face Discussions
- Indoors, Environmentally Controlled
- Importance of Being Exact or Accurate — 64% responded “Extremely important.”
- Work With Work Group or Team — 41% responded “Extremely important.”
- Contact With Others — 66% responded “Constant contact with others.”
- Time Pressure — 40% responded “Every day.”
- Duration of Typical Work Week — 24% responded “40 hours.”
- Level of Competition — 46% responded “Highly competitive.”
- Freedom to Make Decisions — 29% responded “Some freedom.”
- Structured versus Unstructured Work — 31% responded “Some freedom.”
- Telephone — 33% responded “Every day.”
- Spend Time Making Repetitive Motions — 36% responded “Never.”
- Impact of Decisions on Co-workers or Company Results — 40% responded “Minor results.”
- Importance of Repeating Same Tasks — 31% responded “Not important at all.”
- Spend Time Using Your Hands to Handle, Control, or Feel Objects, Tools, or Controls
|Title||Job Zone Four: Considerable Preparation Needed|
|Education||Most of these occupations require a four-year bachelor's degree, but some do not.|
|Related 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.|
|Job Training||Employees in these occupations usually need several years of work-related experience, on-the-job training, and/or vocational training.|
|Job Zone 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.|
|SVP Range||(7.0 to < 8.0)|
Percentage of Respondents
|Education Level Required|
|3||Some college, no degree|
Interest code: IC Want to discover your interests? Take the O*NET Interest Profiler at My Next Move.
- Investigative — 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 — 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.
- 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.
- Integrity — Job requires being honest and ethical.
- Cooperation — Job requires being pleasant with others on the job and displaying a good-natured, cooperative attitude.
- Independence — 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 — Job requires establishing and maintaining personally challenging achievement goals and exerting effort toward mastering tasks.
- Initiative — Job requires a willingness to take on responsibilities and challenges.
- Persistence — Job requires persistence in the face of obstacles.
- Dependability — Job requires being reliable, responsible, and dependable, and fulfilling obligations.
- Self-Control — Job requires maintaining composure, keeping emotions in check, controlling anger, and avoiding aggressive behavior, even in very difficult situations.
- Adaptability/Flexibility — Job requires being open to change (positive or negative) and to considerable variety in the workplace.
- Innovation — Job requires creativity and alternative thinking to develop new ideas for and answers to work-related problems.
- Stress Tolerance — Job requires accepting criticism and dealing calmly and effectively with high-stress situations.
- Concern for Others — Job requires being sensitive to others' needs and feelings and being understanding and helpful on the job.
- Leadership — Job requires a willingness to lead, take charge, and offer opinions and direction.
- Social Orientation — Job requires preferring to work with others rather than alone, and being personally connected with others on the job.
- Achievement — 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 — 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 — Occupations that satisfy this work value allow employees to work on their own and make decisions. Corresponding needs are Creativity, Responsibility and Autonomy.
Wages & Employment Trends
|Median wages (2020)||$42.88 hourly, $89,190 annual|
|Employment (2020)||185,700 employees|
|Projected growth (2020-2030)||Decline (-1% or lower)|
|Projected job openings (2020-2030)||9,700|
|Top industries (2020)|
Source: Bureau of Labor Statistics 2020 wage data and 2020-2030 employment projections . "Projected growth" represents the estimated change in total employment over the projections period (2020-2030). "Projected job openings" represent openings due to growth and replacement.
Job Openings on the Web
Sources of Additional Information
Disclaimer: Sources are listed to provide additional information on related jobs, specialties, and/or industries. Links to non-DOL Internet sites are provided for your convenience and do not constitute an endorsement.
- Association for Computing Machinery
- Center of Excellence for Information and Computing Technology
- IEEE Computer Society
- Institute for Certification of Computing Professionals
- National Center for Women and Information Technology
- Network and Systems Professionals Association
- Occupational Outlook Handbook: Computer programmers