Computer Programmer
Does this career fit your work personality?
Begin The Career Assessment Test- Best Fitting Careers
- Work Personality Strengths
- Work Style Preferences
- and more
What they do:
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.
On the job, you would:
- 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.
Important Qualities
Analytical skills. Computer programmers must understand complex instructions in order to create computer code.
Communication skills. Although computer programmers work alone to write code, they must have effective communication skills to coordinate work on large projects with team members and managers.
Detail oriented. Computer programmers must closely examine the code that they write, modify, or test, because a small mistake may affect the entire computer program.
Problem-solving skills. Programmers check the code for errors and fix any they find.
Personality
A3 | Your Strengths | Importance |
Characteristics of this Career |
---|---|---|---|
|
99% | Attention to Detail  -  Job requires being careful about detail and thorough in completing work tasks. | |
|
94% | Analytical Thinking  -  Job requires analyzing information and using logic to address work-related issues and problems. | |
|
91% | Integrity  -  Job requires being honest and ethical. | |
|
89% | Cooperation  -  Job requires being pleasant with others on the job and displaying a good-natured, cooperative attitude. | |
|
89% | 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. | |
|
86% | Initiative  -  Job requires a willingness to take on responsibilities and challenges. | |
|
86% | Achievement/Effort  -  Job requires establishing and maintaining personally challenging achievement goals and exerting effort toward mastering tasks. | |
|
85% | Persistence  -  Job requires persistence in the face of obstacles. | |
|
82% | Dependability  -  Job requires being reliable, responsible, and dependable, and fulfilling obligations. | |
|
78% | Self-Control  -  Job requires maintaining composure, keeping emotions in check, controlling anger, and avoiding aggressive behavior, even in very difficult situations. | |
|
76% | Adaptability/Flexibility  -  Job requires being open to change (positive or negative) and to considerable variety in the workplace. | |
|
75% | Innovation  -  Job requires creativity and alternative thinking to develop new ideas for and answers to work-related problems. | |
|
73% | Stress Tolerance  -  Job requires accepting criticism and dealing calmly and effectively with high-stress situations. | |
|
68% | Concern for Others  -  Job requires being sensitive to others' needs and feelings and being understanding and helpful on the job. |
A3 | Your Strengths | Importance |
Strengths |
---|---|---|---|
|
100% | Investigative  -  Work involves studying and researching non-living objects, living organisms, disease or other forms of impairment, or human behavior. Investigative occupations are often associated with physical, life, medical, or social sciences, and can be found in the fields of humanities, mathematics/statistics, information technology, or health care service. | |
|
78% | Conventional  -  Work involves following procedures and regulations to organize information or data, typically in a business setting. Conventional occupations are often associated with office work, accounting, mathematics/statistics, information technology, finance, or human resources. |
A3 | Your Strengths | Importance |
Values of the Work Environment |
---|---|---|---|
|
78% | 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. | |
|
75% | 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. | |
|
67% | Support  -  Occupations that satisfy this work value offer supportive management that stands behind employees. Corresponding needs are Company Policies, Supervision: Human Relations and Supervision: Technical. | |
|
67% | Independence  -  Occupations that satisfy this work value allow employees to work on their own and make decisions. Corresponding needs are Creativity, Responsibility and Autonomy. |
Aptitude
A3 | Your Strengths | Importance |
Abilities | Cognitive, Physical, Personality |
---|---|---|---|
|
75% | Written Comprehension  -  The ability to read and understand information and ideas presented in writing. | |
|
72% | Oral Comprehension  -  The ability to listen to and understand information and ideas presented through spoken words and sentences. | |
|
72% | Near Vision  -  The ability to see details at close range (within a few feet of the observer). | |
|
69% | 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). | |
|
69% | Deductive Reasoning  -  The ability to apply general rules to specific problems to produce answers that make sense. | |
|
69% | 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. | |
|
69% | Inductive Reasoning  -  The ability to combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events). |
A3 | Your Strengths | Importance |
Skills | Cognitive, Physical, Personality |
---|---|---|---|
|
70% | Programming  -  Writing computer programs for various purposes. |
Job Details
A3 | Your Strengths | Importance |
Attributes & Percentage of Time Spent |
---|---|---|---|
|
100% | Electronic Mail  -  How often do you use electronic mail in this job? | |
|
96% | Spend Time Sitting  -  How much does this job require sitting? | |
|
90% | Face-to-Face Discussions  -  How often do you have to have face-to-face discussions with individuals or teams in this job? | |
|
82% | Indoors, Environmentally Controlled  -  How often does this job require working indoors in environmentally controlled conditions? | |
|
81% | Importance of Being Exact or Accurate  -  How important is being very exact or highly accurate in performing this job? | |
|
80% | Work With Work Group or Team  -  How important is it to work with others in a group or team in this job? | |
|
79% | 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? | |
|
76% | Time Pressure  -  How often does this job require the worker to meet strict deadlines? | |
|
66% | Duration of Typical Work Week  -  Number of hours typically worked in one week. |
A3 | Your Strengths | Importance |
Tasks & Values |
---|---|---|---|
|
99% | Working with Computers  -  Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information. | |
|
90% | Processing Information  -  Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data. | |
|
88% | Analyzing Data or Information  -  Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts. | |
|
88% | Getting Information  -  Observing, receiving, and otherwise obtaining information from all relevant sources. | |
|
86% | Making Decisions and Solving Problems  -  Analyzing information and evaluating results to choose the best solution and solve problems. | |
|
84% | Thinking Creatively  -  Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions. | |
|
81% | Identifying Objects, Actions, and Events  -  Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events. | |
|
79% | Updating and Using Relevant Knowledge  -  Keeping up-to-date technically and applying new knowledge to your job. | |
|
78% | Communicating with Supervisors, Peers, or Subordinates  -  Providing information to supervisors, co-workers, and subordinates by telephone, in written form, e-mail, or in person. | |
|
72% | 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. | |
|
71% | Documenting/Recording Information  -  Entering, transcribing, recording, storing, or maintaining information in written or electronic/magnetic form. | |
|
65% | Developing Objectives and Strategies  -  Establishing long-range objectives and specifying the strategies and actions to achieve them. |
What Computer Programmers Do
Computer programmers write, modify, and test code and scripts that allow computer software and applications to function properly. They turn the designs created by software developers and engineers into instructions that a computer can follow. In addition, programmers run tests to ensure that newly created applications and software produce the expected results. If the products do not work correctly, programmers check the code or scripts for mistakes and modify them.
Duties
Computer programmers typically do the following:
- Write programs in a variety of computer languages, such as C++ and Java
- Update and expand existing programs
- Test programs for errors and fix the faulty lines of computer code
- Create, modify, and test code or scripts in software that simplifies development
Programmers work closely with software developers, and in some businesses their duties overlap. When such overlap occurs, programmers may be required to take on some of the tasks that are typically assigned to developers, such as designing programs.
Programmers use code libraries, which are collections of independent lines of code, to simplify their writing and improve their efficiency. They may create their own code libraries or make use of existing ones.
In addition, programmers may write or use software-as-a-service (SaaS) applications that are centrally hosted online. Although programmers typically need to rewrite their programs to work on different system platforms, such as Windows or OS X, applications created with SaaS work on all platforms. Accordingly, programmers writing SaaS applications may not have to rewrite as much code as other programmers do and can instead spend more time writing new programs.
Work Environment
Computer programmers held about 147,400 jobs in 2022. The largest employers of computer programmers were as follows:
Computer systems design and related services | 32% |
Self-employed workers | 7 |
Manufacturing | 6 |
Finance and insurance | 6 |
Software publishers | 6 |
Programmers usually work in office settings, which may be in their homes.
Work Schedules
Most computer programmers work full time.
Getting Started
How to Become a Computer Programmer
Computer programmers typically need a bachelor’s degree in computer science or a related subject. Most programmers specialize in several programming languages.
Education
Computer programmers typically need a bachelor's degree in computer and information technology or a related field, such as mathematics. However, some employers hire workers who have other degrees or experience in specific programming languages. Programmers who work in specific fields, such as healthcare or accounting, may take classes in that field to supplement their computer-related degree. In addition, employers may prefer to hire candidates who have experience gained through internships.
Most programmers learn computer languages while in school. However, a computer science degree gives students the skills they need to learn new computer languages easily. Students get experience writing code, testing programs, fixing errors, and doing many other tasks that they will perform on the job.
To keep up with changing technology, computer programmers may take continuing education classes and attend professional development seminars to learn new programming languages or about upgrades to programming languages they already know.
Licenses, Certifications, and Registrations
Programmers may become certified in specific programming languages or for vendor-specific programming products. Some companies require their computer programmers to be certified in the products they use.
Advancement
Programmers who have general business experience may become computer systems analysts. With experience, some programmers may become software developers. They may also be promoted to managerial positions. For more information, see the profiles on computer systems analysts, software developers, and computer and information systems managers.
Job Outlook
Employment of computer programmers is projected to decline 11 percent from 2022 to 2032.
Despite declining employment, about 6,700 openings for computer programmers are projected each year, on average, over the decade. All of those openings are expected to result from the need to replace workers who transfer to other occupations or exit the labor force, such as to retire.
Employment
Computer programming work continues to be automated, helping computer programmers to become more efficient in some of their tasks. Many companies are leveraging technologies to automate repetitive tasks, such as code formatting, to save time and money. Automation of this routine work could allow computer programmers to focus on other tasks, such as strategic planning activities, that cannot be automated. In addition, some computer programming tasks are more commonly done by other computer occupations, such as developers or analysts.
Contacts for More Information
For more information about computer programmers, visit
Association for Computing Machinery
For information about opportunities for women pursuing information technology careers, visit
Similar Occupations
This table shows a list of occupations with job duties that are similar to those of computer programmers.
Occupation | Job Duties | Entry-Level Education | Median Annual Pay, May 2022 | |
---|---|---|---|---|
Computer and Information Research Scientists |
Computer and information research scientists design innovative uses for new and existing computing technology. |
Master's degree | $136,620 | |
Computer and Information Systems Managers |
Computer and information systems managers plan, coordinate, and direct computer-related activities in an organization. |
Bachelor's degree | $164,070 | |
Computer Hardware Engineers |
Computer hardware engineers research, design, develop, and test computer systems and components. |
Bachelor's degree | $132,360 | |
Computer Network Architects |
Computer network architects design and build data communication networks, including local area networks (LANs), wide area networks (WANs), and Intranets. |
Bachelor's degree | $126,900 | |
Computer Support Specialists |
Computer support specialists maintain computer networks and provide technical help to computer users. |
See How to Become One | $59,660 | |
Computer Systems Analysts |
Computer systems analysts study an organization’s current computer systems and design ways to improve efficiency. |
Bachelor's degree | $102,240 | |
Database Administrators and Architects |
Database administrators and architects create or organize systems to store and secure data. |
Bachelor's degree | $112,120 | |
Information Security Analysts |
Information security analysts plan and carry out security measures to protect an organization’s computer networks and systems. |
Bachelor's degree | $112,000 | |
Network and Computer Systems Administrators |
Network and computer systems administrators install, configure, and maintain organizations’ computer networks and systems. |
Bachelor's degree | $90,520 | |
Software Developers, Quality Assurance Analysts, and Testers |
Software developers design computer applications or programs. Software quality assurance analysts and testers identify problems with applications or programs and report defects. |
Bachelor's degree | $124,200 | |
Web Developers and Digital Designers |
Web developers create and maintain websites. Digital designers develop, create, and test website or interface layout, functions, and navigation for usability. |
Bachelor's degree | $80,730 |