A computer programmer creates the code for software applications and operating systems. After a software developer designs a computer program, the programmer writes code that converts that design into a set of instructions a computer can follow. They test the program to look for errors and then rewrite it until it is error-free. The programmer continues to evaluate programs that are in use, making updates and adjustments as needed.
- Computer programmers earned a median annual salary of $79,840 in 2016.
- Nearly 329,000 people worked in this occupation in 2014.
- Companies that write and test software employed most of them. Others worked for software publishers and finance and insurance companies.
- Jobs are typically full-time.
- This is a good job for people who like to work alone.
- The job outlook for this occupation is poor. Employers will outsource many jobs to countries where wages are lower than they are in the U.S., causing employment to decline through 2024.
Roles and Responsibilities
- "Develop, test, and implement computer programs on multiple computer/operating system platforms."
- "Help develop a new web-based information system (IS)"
- "Perform all activities necessary for the definition, design, construction, testing, and implementation of automated computer systems."
- "Review programs on a frequent basis and make adjustments as are necessary to ensure proper working of the program."
- "Confirm program operation by conducting tests; modifying program sequence and/or codes."
- "Create and publish technical diagrams to support coding efforts."
- "Integrate new functionality into existing applications."
How to Become a Computer Programmer
Your chances of getting a job as a computer programmer will be better if you earn a bachelor's degree in computer science, mathematics, or information systems. Some employers will hire you if you have a degree in another subject such as accounting, finance, and business, as long as you have taken computer science classes. You may even be able to find work with an associate degree in computer science.
Since experience is as valuable as a degree in this field, you should do internships while you are in school. Once you are working in the field, you will have to keep your skills up-to-date by learning new programming languages. Certifications in various programming languages may also be beneficial.
Soft Skills Needed to Succeed
In addition to the technical skills acquired through formal training and experience, the following soft skills will help make your success in this field possible:
- Reading Comprehension: You must be able to understand written instructions.
- Problem Solving: Programmers must identify problems.
- Critical Thinking: When solving problems and making decisions, you should know how to weigh all your options so that you can choose the best one.
- Active Listening: This ability allows you to understand instructions from members of your team.
- Attention to Detail and Troubleshooting: You must be able to find small mistakes in code and fix them.
What Employers Expect
Here are some requirements for actual job announcements found on Indeed.com. Most employers also require proficiency in particular programming languages:
- "Must have the ability to work independently."
- "Must possess a high degree of accountability of his/her work."
- "Must have the ability to comprehend and apply principles of modern algebra while analyzing data and generating reports."
- "Must work well in a team environment."
- "Must be able to work under pressure to meet timelines and handle multiple tasks and changing priorities."
- "Must have self-discipline, as projects take several months to complete."
How to Gauge Whether This Career Is a Good Fit for You
Your interests, personality type, and work-related values are some of the factors that will determine whether being a computer programmer is a good fit for you. This career is suitable for people who have the following traits:
- Interests (Holland Code): ICR (Investigative, Conventional, Realistic)
- Personality Type (Myers Briggs Personality Type Indicator [MBTI]): ENTJ, INTJ, INTP, ISTJ, ISTP
- Work-Related Values: Achievement, Working Conditions, Independence
|Title||Description||Median Annual Wage (2016)||Minimum Required Education/Training|
|Software Developer||Creates systems and applications software.||
|HS diploma; bachelor's degree preferred|
|Computer Systems Analyst||
Helps organizations use computer technology effectively.
|$87,220||Bachelor's degree in computer science or related subject|
|Web Developer||Tends to design and technical aspects of websites.||$66,130||HS diploma; many employers require an associate degree in web design|
|Computer Support Specialist||Assists computer users with problems they are having with software, hardware, or peripherals.||$49,390||HS diploma; experience with computers|