Summary Report for:
15-1131.00 - Computer Programmers
Create, modify, and test the code, forms, and script that allow computer applications to run. Work from specifications drawn up by software developers or other individuals. May assist software developers by analyzing user needs and designing software solutions. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.
Sample of reported job titles: Analyst Programmer, Applications Developer, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst, Software Developer, Web Programmer
Tasks | Tools & Technology | 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
- Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
- Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
- 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.
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
- Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
- 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.
- 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.
- Assign, coordinate, and review work and activities of programming personnel.
- Write or contribute to instructions or manuals to guide end users.
Tools & Technology
Tools used in this occupation:
- Computer servers
- Desktop computers
- Mainframe computers — Mainframe operating systems
- Serial port cards
Technology used in this occupation:
- Access software — Citrix software
- Analytical or scientific software — SAS software ; Simulation program with integrated circuit emphasis SPICE; StataCorp Stata ; The MathWorks MATLAB (see all 6 examples)
- Application server software — Oracle WebLogic Server ; Red Hat WildFly
- Backup or archival software — Veritas NetBackup
- Business intelligence and data analysis software — IBM Cognos Impromptu ; MicroStrategy software ; Qlik Tech QlikView ; Tableau software (see all 5 examples)
- Communications server software — IBM Domino
- Compiler and decompiler software — Command interpreters; Just-in-time compiler; Stage compiler; Threaded code compiler (see all 14 examples)
- Computer aided design CAD software — Bentley MicroStation ; Computer aided design and drafting CADD software; Dassault Systemes CATIA software
- Configuration management software — IBM Rational ClearCase; Perforce Helix software ; Puppet ; Revision control software
- Content workflow software — Emerald Software Group Emerald Green Office; Workflow software
- Data base management system software — Amazon Kinesis; Apache Hadoop ; MongoDB ; MySQL software (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 — Apache Hive; dBASE Plus; Microsoft Access ; Transact-SQL (see all 10 examples)
- Data mining software — Google Analytics
- Desktop publishing software — Microsoft Publisher
- Development environment software — Apache Maven ; C ; Integrated development environment IDE software ; Microsoft Visual Basic (see all 54 examples)
- Document management software — Adobe Systems Adobe Acrobat software; Virage VS Archive
- Electronic mail software — Microsoft Exchange Server
- Enterprise application integration software — Extensible markup language XML ; IBM WebSphere ; Progress Sonic ESB; SAP NetWeaver BW (see all 7 examples)
- Enterprise resource planning ERP software — Microsoft Dynamics software ; Oracle PeopleSoft Financials ; Oracle PeopleSoft software ; SAP software (see all 8 examples)
- Enterprise system management software — IBM Power Systems software ; Microsoft Systems Management Server; Splunk Enterprise
- Financial analysis software — Delphi software ; Oracle E-Business Suite Financials
- Graphical user interface development software — Basis BBx VisualPRO/5; Graphical user interfaces GUI
- Graphics or photo imaging software — Adobe Systems Adobe Fireworks ; Adobe Systems Adobe Photoshop software ; Corel CorelDraw Graphics Suite; Microsoft Visio (see all 6 examples)
- Human resources software — Human resource management software HRMS
- Map creation software — ESRI ArcGIS software ; Geographic information system GIS software
- Metadata management software — CA Erwin Data Modeler
- Network monitoring software — Nagios ; Network intrusion prevention systems NIPS software; Snort; Wireshark
- Network security and virtual private network VPN equipment software — Virtual private networking VPN software
- Object or component oriented development software — C++ ; Oracle Java ; Python ; Spark (see all 27 examples)
- Object oriented data base management software — Hibernate ORM ; Microsoft Visual FoxPro; PostgreSQL software
- Office suite software — Microsoft Office software
- Operating system software — Bourne Shell; KornShell ; Linux ; UNIX (see all 9 examples)
- Portal server software — Apache HTTP Server
- Presentation software — Microsoft PowerPoint
- Program testing software — Debugging software; Hewlett Packard LoadRunner ; Low-level debugger software; Symbolic debugger software (see all 5 examples)
- Project management software — Microsoft Project ; Microsoft SharePoint software
- Requirements analysis and system architecture software — Unified modeling language UML
- Spreadsheet software — Microsoft Excel
- Transaction security and virus protection software — McAfee software
- Transaction server software — Customer information control system CICS software
- Web page creation and editing software — Adobe Systems Adobe Dreamweaver ; CoffeeCup software; Microsoft FrontPage
- Web platform development software — AJAX ; Drupal ; LAMP Stack ; Spring Framework (see all 22 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.
- English Language — Knowledge of the structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.
- Mathematics — Knowledge of arithmetic, algebra, geometry, calculus, statistics, and their applications.
- 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.
- Reading Comprehension — Understanding written sentences and paragraphs in work related documents.
- 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.
- Quality Control Analysis — Conducting tests and inspections of products, services, or processes to evaluate quality or performance.
- Judgment and Decision Making — Considering the relative costs and benefits of potential actions to choose the most appropriate one.
- Operations Analysis — Analyzing needs and product requirements to create a design.
- 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.
- Active Learning — Understanding the implications of new information for both current and future problem-solving and decision-making.
- Mathematics — Using mathematics to solve problems.
- Systems Analysis — Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes.
- Writing — Communicating effectively in writing as appropriate for the needs of the audience.
- Monitoring — Monitoring/Assessing performance of yourself, other individuals, or organizations to make improvements or take corrective action.
- Speaking — Talking to others to convey information effectively.
- Written Comprehension — The ability to read and understand information and ideas presented in writing.
- 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).
- 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).
- 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 there is a problem.
- Mathematical Reasoning — The ability to choose the right mathematical methods or formulas to solve a problem.
- Oral Expression — The ability to communicate information and ideas in speaking so others will understand.
- 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.
- Written Expression — The ability to communicate information and ideas in writing so others will understand.
- Category Flexibility — The ability to generate or use different sets of rules for combining or grouping things in different ways.
- Perceptual Speed — The ability to quickly and accurately compare similarities and differences among sets of letters, numbers, objects, pictures, or patterns. The things to be compared may be presented at the same time or one after the other. This ability also includes comparing a presented object with a remembered object.
- Speech Clarity — The ability to speak clearly so others can understand you.
- Speech Recognition — The ability to identify and understand the speech of another person.
- Interacting With Computers — Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information.
- Making Decisions and Solving Problems — Analyzing information and evaluating results to choose the best solution and solve problems.
- Getting Information — Observing, receiving, and otherwise obtaining information from all relevant sources.
- Identifying Objects, Actions, and Events — Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events.
- Communicating with Supervisors, Peers, or Subordinates — Providing information to supervisors, co-workers, and subordinates by telephone, in written form, e-mail, or in person.
- Analyzing Data or Information — Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts.
- Thinking Creatively — Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions.
- Updating and Using Relevant Knowledge — Keeping up-to-date technically and applying new knowledge to your job.
- Organizing, Planning, and Prioritizing Work — Developing specific goals and plans to prioritize, organize, and accomplish your work.
- Processing Information — Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data.
- Establishing and Maintaining Interpersonal Relationships — Developing constructive and cooperative working relationships with others, and maintaining them over time.
- Interpreting the Meaning of Information for Others — Translating or explaining what information means and how it can be used.
- Monitor Processes, Materials, or Surroundings — Monitoring and reviewing information from materials, events, or the environment, to detect or assess problems.
- 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.
- Developing Objectives and Strategies — Establishing long-range objectives and specifying the strategies and actions to achieve them.
Detailed Work Activities
- Manage information technology projects or system activities.
- Test computer system operations to ensure proper functioning.
- Assign duties or work schedules to employees.
- Modify software programs to improve performance.
- Coordinate project activities with other personnel or departments.
- Collaborate with others to resolve information technology issues.
- Test software performance.
- Resolve computer software problems.
- Supervise information technology personnel.
- Develop models of information or communications systems.
- Document design or development procedures.
- Write computer programming code.
- Train others in computer interface or software use.
- Prepare instruction manuals.
- Develop diagrams or flow charts of system operation.
- Electronic Mail — 89% responded “Every day.”
- Spend Time Sitting — 86% responded “Continually or almost continually.”
- Indoors, Environmentally Controlled — 92% responded “Every day.”
- Importance of Being Exact or Accurate — 65% responded “Extremely important.”
- Telephone — 60% responded “Every day.”
- Face-to-Face Discussions — 47% responded “Every day.”
- Importance of Repeating Same Tasks — 49% responded “Extremely important.”
- Time Pressure — 38% responded “Every day.”
- Duration of Typical Work Week — 51% responded “40 hours.”
- Work With Work Group or Team — 39% responded “Very important.”
- Contact With Others — 38% responded “Contact with others most of the time.”
- Spend Time Making Repetitive Motions — 39% responded “Continually or almost continually.”
- Frequency of Decision Making — 32% responded “Every day.”
- Structured versus Unstructured Work — 43% responded “Some freedom.”
- Coordinate or Lead Others — 37% responded “Very important.”
- Impact of Decisions on Co-workers or Company Results — 32% responded “Important results.”
- Level of Competition — 49% responded “Highly competitive.”
- Freedom to Make Decisions — 30% responded “Some freedom.”
- Spend Time Using Your Hands to Handle, Control, or Feel Objects, Tools, or Controls — 35% responded “Continually or almost continually.”
|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 accountants, sales managers, database administrators, teachers, chemists, art directors, and cost estimators.|
|SVP Range||(7.0 to < 8.0)|
Percentage of Respondents
|Education Level Required|
|6||High school diploma or equivalent|
This occupation may require a background in the following science, technology, engineering, and mathematics (STEM) educational disciplines:
Interest code: IC
- 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.
- Analytical Thinking — Job requires analyzing information and using logic to address work-related issues and problems.
- Attention to Detail — Job requires being careful about detail and thorough in completing work tasks.
- Initiative — Job requires a willingness to take on responsibilities and challenges.
- Achievement/Effort — Job requires establishing and maintaining personally challenging achievement goals and exerting effort toward mastering tasks.
- Cooperation — Job requires being pleasant with others on the job and displaying a good-natured, cooperative attitude.
- Adaptability/Flexibility — Job requires being open to change (positive or negative) and to considerable variety in the workplace.
- Persistence — Job requires persistence in the face of obstacles.
- Stress Tolerance — Job requires accepting criticism and dealing calmly and effectively with high stress situations.
- Dependability — Job requires being reliable, responsible, and dependable, and fulfilling obligations.
- 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.
- Innovation — Job requires creativity and alternative thinking to develop new ideas for and answers to work-related problems.
- Integrity — Job requires being honest and ethical.
- Leadership — Job requires a willingness to lead, take charge, and offer opinions and direction.
- Self Control — Job requires maintaining composure, keeping emotions in check, controlling anger, and avoiding aggressive behavior, even in very difficult situations.
- Concern for Others — Job requires being sensitive to others' needs and feelings and being understanding and helpful 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 (2015)||$38.24 hourly, $79,530 annual|
|Employment (2014)||329,000 employees|
|Projected growth (2014-2024)||Decline (-2% or lower)|
|Projected job openings (2014-2024)||81,000|
|Top industries (2014)|
Source: Bureau of Labor Statistics 2015 wage data and 2014-2024 employment projections . "Projected growth" represents the estimated change in total employment over the projections period (2014-2024). "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.
- Computer programmers . Bureau of Labor Statistics, U.S. Department of Labor. Occupational Outlook Handbook, 2016-17 Edition.
- Association for Computing Machinery (ACM) , 2 Penn Plaza, Suite 701, New York, NY 10121-0701. Phone: (800) 342-6626.
- Computing Technology Industry Association (CompTIA) , 1815 S. Meyers Rd., Suite 300, Oakbrook Terrace, IL 60181-5228. Phone: (630) 678-8300. Fax: (630) 268-1384.
- IEEE Computer Society , 1730 Massachusetts Ave. NW, Washington, DC 20036-1992. Phone: (202) 371-0101. Fax: (202) 728-9614.
- Institute for Certification of Computing Professionals (ICCP) , 2350 E. Devon Ave., Suite 115, Des Plaines, IL 60018-4610. Phone: (847) 299-4227. Fax: (847) 299-4280.
- National Workforce Center for Emerging Technologies (NWCET) , Bellevue Community College, 3000 Landerholm Circle SE, N258, Bellevue, WA 98007-6484. Phone: (425) 564-4229. Fax: (425) 564-6193.