Computer Programmers
Career Overview
Career Description: Convert project specifications and statements of problems and procedures to detailed logical flow charts for coding into computer language. Develop and write computer programs to store, locate, and retrieve specific documents, data, and information. May program web sites.
Industry: Computer and Mathematical
Other Job Titles for Computer Programmers:
- Computer and Information Systems Managers
- Computer Support Specialists
- Computer Systems Analysts
- Operations Research Analysts
- Computer Science Teachers, Postsecondary
- Computer Operators
- Computer, Automated Teller, and Office Machine Repairers
- Numerical Tool and Process Control Programmers
- Procurement Clerks
Personality Profile
- Realistic: 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.
- 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.
- Artistic: 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.
- Social: Social occupations frequently involve working with, communicating with, and teaching people. These occupations often involve helping or providing service to others.
- Enterprising: 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.
- 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.
- First Interest High-Point: Primary-Rank Descriptiveness
- Second Interest High-Point: Secondary-Cutoff/Rank Descriptiveness
- Third Interest High-Point: Tertiary-Cutoff/Rank Descriptiveness
Common Work Tasks
- 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.
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
- 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.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
- 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.
- 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.
- Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
- Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
- Assign, coordinate, and review work and activities of programming personnel.
- Collaborate with computer manufacturers and other users to develop new programming methods.
- Train subordinates in programming and program coding.
Emerging Tasks
- n/a
Work Activities
- Analyzing Data or Information: Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts.
- Assisting and Caring for Others: Providing personal assistance, medical attention, emotional support, or other personal care to others such as coworkers, customers, or patients.
- Coaching and Developing Others: Identifying the developmental needs of others and coaching, mentoring, or otherwise helping others to improve their knowledge or skills.
- Communicating with Persons Outside Organization: Communicating with people outside the organization, representing the organization to customers, the public, government, and other external sources. This information can be exchanged in person, in writing, or by telephone or e-mail.
- Communicating with Supervisors, Peers, or Subordinates: Providing information to supervisors, co-workers, and subordinates by telephone, in written form, e-mail, or in person.
- Controlling Machines and Processes: Using either control mechanisms or direct physical activity to operate machines or processes (not including computers or vehicles).
- Coordinating the Work and Activities of Others: Getting members of a group to work together to accomplish tasks.
- Developing and Building Teams: Encouraging and building mutual trust, respect, and cooperation among team members.
- Developing Objectives and Strategies: Establishing long-range objectives and specifying the strategies and actions to achieve them.
- Documenting/Recording Information: Entering, transcribing, recording, storing, or maintaining information in written or electronic/magnetic form.
- Drafting, Laying Out, and Specifying Technical Devices, Parts, and Equipment: Providing documentation, detailed instructions, drawings, or specifications to tell others about how devices, parts, equipment, or structures are to be fabricated, constructed, assembled, modified, maintained, or used.
- Establishing and Maintaining Interpersonal Relationships: Developing constructive and cooperative working relationships with others, and maintaining them over time.
- 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.
- 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.
- Getting Information: Observing, receiving, and otherwise obtaining information from all relevant sources.
- Guiding, Directing, and Motivating Subordinates: Providing guidance and direction to subordinates, including setting performance standards and monitoring performance.
- Handling and Moving Objects: Using hands and arms in handling, installing, positioning, and moving materials, and manipulating things.
- Identifying Objects, Actions, and Events: Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events.
- Inspecting Equipment, Structures, or Material: Inspecting equipment, structures, or materials to identify the cause of errors or other problems or defects.
- Interacting With Computers: Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information.
- Interpreting the Meaning of Information for Others: Translating or explaining what information means and how it can be used.
- Judging the Qualities of Things, Services, or People: Assessing the value, importance, or quality of things or people.
- Making Decisions and Solving Problems: Analyzing information and evaluating results to choose the best solution and solve problems.
- Monitor Processes, Materials, or Surroundings: Monitoring and reviewing information from materials, events, or the environment, to detect or assess problems.
- Monitoring and Controlling Resources: Monitoring and controlling resources and overseeing the spending of money.
- Operating Vehicles, Mechanized Devices, or Equipment: Running, maneuvering, navigating, or driving vehicles or mechanized equipment, such as forklifts, passenger vehicles, aircraft, or water craft.
- Organizing, Planning, and Prioritizing Work: Developing specific goals and plans to prioritize, organize, and accomplish your work.
- Performing Administrative Activities: Performing day-to-day administrative tasks such as maintaining information files and processing paperwork.
- Performing for or Working Directly with the Public: Performing for people or dealing directly with the public. This includes serving customers in restaurants and stores, and receiving clients or guests.
- Performing General Physical Activities: Performing physical activities that require considerable use of your arms and legs and moving your whole body, such as climbing, lifting, balancing, walking, stooping, and handling of materials.
- Processing Information: Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data.
- Provide Consultation and Advice to Others: Providing guidance and expert advice to management or other groups on technical, systems-, or process-related topics.
- Repairing and Maintaining Electronic Equipment: Servicing, repairing, calibrating, regulating, fine-tuning, or testing machines, devices, and equipment that operate primarily on the basis of electrical or electronic (not mechanical) principles.
- Repairing and Maintaining Mechanical Equipment: Servicing, repairing, adjusting, and testing machines, devices, moving parts, and equipment that operate primarily on the basis of mechanical (not electronic) principles.
- Resolving Conflicts and Negotiating with Others: Handling complaints, settling disputes, and resolving grievances and conflicts, or otherwise negotiating with others.
- Scheduling Work and Activities: Scheduling events, programs, and activities, as well as the work of others.
- Selling or Influencing Others: Convincing others to buy merchandise/goods or to otherwise change their minds or actions.
- Staffing Organizational Units: Recruiting, interviewing, selecting, hiring, and promoting employees in an organization.
- Thinking Creatively: Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions.
- Training and Teaching Others: Identifying the educational needs of others, developing formal educational or training programs or classes, and teaching or instructing others.
- Updating and Using Relevant Knowledge: Keeping up-to-date technically and applying new knowledge to your job.
Detailed Work Activities
- adjust computer operation system
- analyze workflow
- assist co-workers with software problems
- communicate technical information
- configure computers in industrial or manufacturing setting
- consult with customers concerning needs
- consult with managerial or supervisory personnel
- design computer hardware or software interface
- design computer programs or programming tools
- develop computer performance standards
- develop mathematical or computer languages
- develop or maintain databases
- develop records management system
- develop tables depicting data
- direct and coordinate activities of workers or staff
- distinguish details in graphic arts material
- encode equations for processing
- evaluate computer system user requests or requirements
- follow data security procedures
- follow data storage procedures
- identify color or balance
- implement computer system changes
- install computer programs
- maintain client-server database
- maintain or repair computers or related equipment
- monitor computer operation
- prepare instruction manuals
- prepare technical reports or related documentation
- prepare workflow chart
- program computers for electronic engineering applications
- program computers for management analysis applications
- program computers for medical applications
- program computers for social science applications
- program computers using existing software
- program mainframe computer
- provide customer service
- provide technical computer training
- provide technical support to computer users
- recommend software or hardware purchases
- resolve computer program operational problems
- resolve symbolic formulations in data processing applications
- revise or correct errors in computer programs, software, or systems
- supervise programming personnel
- test computer programs or systems
- test data communications hardware or software
- use computer application flow charts
- use computer graphics design software
- use computer programming language
- use computers to enter, access or retrieve data
- use creativity in graphics
- use differential equations in computer programming
- use geographical information system (GIS) software
- use graphic arts techniques
- use interpersonal communication techniques
- use knowledge of mainframe computers
- use object-oriented computer programming techniques
- use project management techniques
- use relational database software
- use spreadsheet software
- use structural analysis techniques to analyze computer systems
- use word processing or desktop publishing software
- write computer software, programs, or code
- write documentation for computer programming
- use relational database software
- use scientific research methodology
- use spreadsheet software
- use structural analysis techniques to analyze computer systems
- use word processing or desktop publishing software
- work as a team member
- write business project or bid proposals
- write computer software, programs, or code
- write documentation for computer programming
- write research or project grant proposals
- write scholarly or technical research papers
Tools & Technology Used on the Job
- A programming language APL
- Activity based costing ABC
- Ada
- Adobe Flex
- Adobe PostScript
- Advanced business application programming ABAP
- Algorithmic language ALGOL
- American National Standards Institute ANSI C
- Application server software
- Assembler
- AWK
- B
- Basic combined programming language BCPL
- Basis BBx VisualPRO/5
- Beginner's all-purpose symbolic instruction code BASIC
- BETA
- Borland Delphi
- Bourne Shell
- C
- C++
- Cascading Style Sheets CSS
- CAST SQL Builder
- Categorical abstract machine language CAML
- Class oriented ring associated language CORAL
- Clipper
- CLU
- Code generator software
- Code munger software
- Combined programming language CPL
- Command interpreters
- Common business oriented language COBOL
- Common extended self-containing prolog CESP
- Compilers
- Computer Associates integrated data management system CA-IDMS
- Computer servers
- Customer information control system CICS software
- Data definition language DDL
- Data manipulation language DML
- dBase Plus
- Debugging software
- Decompilers
- Desktop computers
- Distributed, reusable Ada generated from an object-oriented notation DRAGOON
- E++
- Eclipse software
- Eiffel
- Emerald
- Extended self-containing Prolog ESP
- Extensible markup language XML
- Extensible stylesheet language XSL
- Flow-Matic
- Formula translation/translator FORTRAN
- FORTH
- Graphical user interface GUI development software
- Greatis Object Inspector
- Haskell
- Hypertext markup language HTML
- IBM DB2
- IBM Rational ClearCase
- IBM WebSphere
- Icon
- Incremental compiler software
- Inline code expander software
- Interface definition language IDL
- Interpreter software
- J
- JavaScript
- Job control language JCL
- Just-in-time compiler
- Kernel
- Lisp object-oriented programming system LOOPS
- List processing language LISP
- Logo
- Low-level debugger software
- Macromedia ColdFusion
- Mainframe computers
- Mainframe operating systems
- Microsoft Access
- Microsoft Active Server Pages ASP
- Microsoft Excel
- Microsoft Office Visio
- Microsoft Project
- Microsoft SQL Server
- Microsoft Visual Basic
- Microsoft Visual Basic Scripting Edition VBScript
- Microsoft Visual Basic.NET
- Microsoft Visual C# .NET
- Microsoft Visual FoxPro
- Microsoft Visual Studio
- Microsoft Word
- Mixed code generator
- ML
- Modula
- mSQL software
- MUMPS M
- MySQL software
- Oberon
- Objective-C
- Oblog
- One pass compiler software
- Oracle procedural language/structured query language PL/SQL
- Parlog
- Partial class generator software
- Pascal
- PHP: Hypertext Preprocessor
- Pick software
- Polka
- PowerSoft PowerBuilder
- Practical extraction and reporting language Perl
- Programming language one PL/I
- Prolog
- Python
- ReCrystallize Crystal Reports
- Relational database management software
- Restructured extended executor REXX
- Retargetable compiler
- Revision control software
- Ruby
- Ruby on Rails
- SAS software
- Sather
- Scheme
- Self
- Simulation language SIMULA
- Simulation program with integrated circuit emphasis SPICE
- Smalltalk
- Source code editor software
- Source code migration software
- Stage compiler
- String oriented symbolic language SNOBOL
- Structured query language SQL
- Sun Microsystems Java
- Sun Microsystems Java server pages JSP
- Sybase SQL Server
- Symantec Visual Caf
- Symbolic debugger software
- Threaded code compiler
- Tier generator software
- Unified modeling language UML
- Virage VS Archive
- Web service definition language WDSL
- Workflow software
- Xerces2 Java Parser
Education, Training & Experience
Overall Experience
A minimum of two to four years 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.
Education
Most of these occupations require a four - year bachelor's degree, but some do not.
Examples
Many of these occupations involve coordinating, supervising, managing, or training others. Examples include accountants, human resource managers, computer programmers, teachers, chemists, and police detectives.
Salary & Wages
- Average hourly wage (2007) -$32.73
- Average annual wage (2007) - $68,080.00
Projected Employment Growth
- Employment (2006): 435,076
Related Occupations
- Computer and Information Systems Managers
- Computer Operators
- Computer Science Teachers, Postsecondary
- Computer Support Specialists
- Computer Systems Analysts
- Computer, Automated Teller, and Office Machine Repairers
- Numerical Tool and Process Control Programmers
- Operations Research Analysts
- Tax Preparers




