Computer Programmers
Education & Training
Preparation
To work as a computer programmer, you typically need to:
- have a high school diploma or GED; and
- have at least a bachelor's degree.
Education after high school
Most new computer programmers have at least a bachelor's degree. In the past, formal training was not as important. Many programmers learned on the job or through technical or associate programs. Now, with increasingly complex programming tasks and a growing number of college-trained applicants, a bachelor's degree is the common way to prepare.
Computer science is the most common major. However, a major in math or information systems is also acceptable. Another approach is to major in a specialty area such as engineering, science, or business. If you do not major in computer science, be sure to take programming courses.
Work experience
You should consider participating in an internship while in college. An internship is usually part of a four-year degree program. It offers you a chance to apply what you have learned in the classroom to a work situation. It also allows you to build skills and make contacts with people in the field.
On-the-job training
Many new programmers receive on-the-job training. In general, training lasts up to one year. You work under the guidance of experienced programmers. As you gain knowledge and experience you receive greater independence and work on more difficult tasks.
Because of the fast changing nature of this field, employers often offer training in the newest computer technologies, languages, and applications.
Military training
Some branches of the military train people to be computer systems specialists. Training lasts from seven to 13 weeks, depending on your specialty. Additional training occurs on the job.
Related Programs (Current training programs available)
- Computer Programming/Programmer, General
- Computer Programming, Specific Applications
- Computer Programming, Vendor/Product Certification
- Computer Programming, Other
- Computer Science
- Computer Graphics
- Modeling, Virtual Environments and Simulation.
- Computer Software Technology/Technician
- Medical Office Computer Specialist/Assistant
- Management Information Systems, General
Fields of Study (What to study to prepare for this career)
Click on any of the Fields of Study listed below to find out more about preparing for this career.
- Applied Mathematics
- Artificial Intelligence and Robotics
- Bioinformatics
- Computational Mathematics
- Computer Engineering Technology
- Computer Graphics
- Computer Programming
- Computer Science
- Computer Systems Analysis
- Computer Systems Networking and Administration
- Computer Systems Technology
- Database Administration
- Electronic Commerce
- Information Science
- Information Technology
- Management Information Systems
- Mathematics
- Medical Informatics
- Technical and Business Writing
- Web Page and Multimedia Design
- Webmaster and Web Management
Level of Education
The table below lists the level of education attained by a subset of workers in this occupation. The workers surveyed were between age 25 and 44.
| Education level attained | Percentage of workers in this occupation* |
|---|---|
| Less than high school diploma | 1 |
| High school diploma or equivalent | 5 |
| Some college, no degree | 15 |
| Associate degree | 10 |
| Bachelor's degree | 50 |
| Master's degree | 18 |
| Doctoral (Ph.D.) or professional degree | 2 |
* National data for computer programmers (SOC 15-1131).
Helpful High School Courses
In high school, take classes that prepare you for college. A college preparatory curriculum may be different from your state's graduation requirements. Math is an important part of programming. You should take as many math classes as possible.
You should also consider taking some advanced courses in high school. This includes Advanced Placement (AP) and International Baccalaureate (IB) courses if they are available in your school. If you do well in these courses, you may receive college credit for them. Advanced courses can also strengthen your college application.
Helpful electives to take in high school that prepare you for this occupation include:
- Computer Applications
- Computer Programming
- Computer Science
- Keyboarding
The courses listed above are meant to help you create your high school plan. If you have not already done so, talk to a school counselor or parent about the courses you are considering taking.
You should also check with a teacher or counselor to see if work-based learning opportunities are available in your school and community. These might include field trips, job shadowing, internships, and actual work experience. The goal of these activities is to help you connect your school experiences with real-life work.
Join some groups, try some hobbies, or volunteer with an organization that interests you. By participating in activities you can have fun, make new friends, and learn about yourself. Maybe one of them will help direct you to a future career.
Source: Minnesota Department of Education.

