Skip to main content

Computer Programmers Review

The job of an entry-level computer programmer is one of the highest-paying vocational careers we reviewed.

Our Verdict

Be willing to continue your education to better secure a career in this field.


  • One of highest-paying career paths you can enter with an associate's degree.


  • At least a bachelor's degree is needed for even mid-level advancement.

The job of an entry-level computer programmer is one of the highest-paying vocational careers we reviewed. In many ways, it is different from other vocational careers because of its advancement opportunities, but like other vocational jobs, it is easy to enter the field with only an associate's degree. Its industry is very broad and changes frequently as new programming languages and technologies emerge.

This vocational career provides a starting salary of between $40,640 and $53,620 annually, according to the U.S. Bureau of Labor Statistics (BLS). Advancements in this profession can earn a good programmer upwards of $91,000 annually, although at least a bachelor's degree and considerable experience is generally required.

There are more than 360,000 programming jobs nationwide, although many entry-level jobs in this discipline have been outsourced to countries such as India and China. Demand for this job is actually expected to decrease 2 percent over the next 10 years. However, since so many business and consumer functions use computers today, the future demand for this profession as a vocational career in the United States is still promising. Although there may be changes in job functions, opportunities continue to emerge in this industry as new technologies are revealed. Individuals in this profession should stay abreast of changes in technology that could affect them. They should also do what they can to cross train in other professions within the computer industry.

The states with the highest concentrations of computer programmers are Utah, New Jersey, the District of Columbia, New York and Arkansas. The states with the highest paying computer programming jobs are Washington, Massachusetts, New Mexico, Colorado and California.

Although some community colleges offer an associate's degree in this field, at least a bachelor's degree is recommended to increase your marketability for advancement. In an associate's degree, usually you must select only one specialization/language to study, as opposed to the many subjects you would learn at the bachelor's degree level. Professionals with only an associate's degree have fewer opportunities to explore different types of specialization within the profession.

Individuals in this field need to know a lot of conceptual theory and need a foundation in physics and calculus. Those who pursue a four-year liberal arts education have a broader perspective of the profession, which makes them more adaptable to industry fluctuations or moving from one business system to another.

The classification of a computer programmer by the BLS is much broader than other jobs we evaluated. Although the career path for a dental assistant is very different than a dentist, by comparison, the term "computer programmer" can refer to individuals just starting out as well as to those who manage a staff of programmers. Usually entry-level programmers will have titles such as junior programmer, software support technician or software tester.

Individuals in this vocational career generally specialize in one broad area such as computer network systems, database management, software development or web development, and there is usually overlap between these areas.

Some of the specializations you can study in an associate's program include:

  • Internet Programming
    Different languages are used to program web pages, such as HTML and JavaScript. HTML, or hypertext markup language, is the predominant markup language for web pages into which other languages can be embedded. JavaScript allows for dynamic features on websites, and it is also considered a functional programming language. A study in internet programming would provide a foundation in the back-end part of web development.
  • Cisco Routers
    Cisco is a common brand in networking and communications technology services. They sell various models of routers that are used for different networking purposes. Some accommodate larger systems and some smaller ones. Most today require an Ethernet cable. Models have adjusted over the years as technology has advanced. A study in Cisco Routers would involve the hardware aspects of networking.
  • Unix
    Unix is a very stable operating system that is widely used in both servers and workstations. Unix is an open system, which means developing a server using Unix simply requires the man hours to build it and the hardware to house it. A study in Unix would give you a foundation in building one kind of server.
  • Network Systems
    Networks connect workstations to a central hub within an office. Data kept by individual employees is often stored on network drives which make file backup simpler and more routine. They are also designed to allow shared file and printer access. Some networks may have remote online access characteristics, while others may not have an online component.
  • C++, Java and JavaScript
    C++ is a general-purpose programming language that comprises both high-level and low-level language features. C++ is one of the most widely used programming languages in the software industry. Java is another programming language used for software development.
  • Visual Basic
    Visual Basic is a third-generation programming language that is considered relatively easy to learn. Often it is the first language a programmer will learn. It was developed by Microsoft and it is often used to develop MS Windows applications.
  • Oracle
    Oracle Corporation specializes in developing database management systems. There are other brands of database management systems, such as Juniper, that you could learn in a different track. Oracle uses a unique programming language that is based in C, the predecessor to C++. A study in Oracle would provide a foundation in this particular kind of database development.
  • Web Page Design
    A study in web page design would provide a foundation in the front-end part of website development including its visual aspects, such the placement of text and graphics using programming languages such as HTML, JavaScript, and perhaps Flash, which is animation software.
  • Database Development
    An associate's level study in database development would provide an overview of different types of database development languages such as Oracle or Juniper.

Many programming languages have one-time certifications you can earn which help to make you more marketable for jobs that use that language. For example, if you want to work for Microsoft, you will obtain its programming certification, which requires a renewal every two years. Cisco certification is the standard for networking. Oracle does not require a certification on the programming level, although they do for a computer support technician to facilitate an Oracle database. Some certifications do not require a renewal. There is not one universal license needed for programming. Once someone obtains a bachelor's degree, individual certifications are generally not as necessary in this profession.

Work Environment
Because many programmers in the United States actually help manage the work of outsourced programmers in countries such as India and China, swing shifts and night shifts are often available to accommodate two opposing time zones. If there is a website or software malfunction, programmers may work overtime to fix an application used or viewed by many.

More than ever, computer programmers facilitate the actual business model of a company. For example, a web-based retail business is at a virtual standstill if something goes wrong with the shopping cart function of its website, which will immediately affect public relations and sales.

Often entry-level programmers only interact with immediate coworkers and their supervisor, but managerial programmers may assist members of the executive team to explain software and system features to clients and important customers.

Physical Requirements
Programmers often sit at a desk for long periods of time, and they must be able to see detail at close range.

Basic Office Skills Required
For this vocational career, you will need basic spelling, grammar and punctuation skills, as well as basic math skills, typing, data entry and 10-key skills. You will likely work with all Microsoft Office applications, including MS Word, Excel and PowerPoint. You will communicate extensively with staff by email using a program such as MS Outlook. In addition, you need to balance multiple tasks, to plan ahead and to meet deadlines.

The work of computer programmers is diverse with multiple functions. Although some associate's degree programs exist for this field, often at least a bachelor's degree is needed for even mid-level advancement. Although many entry-level positions in this industry are outsourced to foreign countries today, there is still demand in the United States for individuals just starting out in this field. U.S.-based programmers will likely continue to fulfill more and more of a managerial role, but the profession still has a promising future as a vocational career, since computers are used for so many business and consumer functions in the world today.

A Computer Programmer's Typical Work Day

Armand has had a vocational career as a software support technician for the past year at a growing marketing consulting firm. He works closely with a team of 10 computer programmers and technicians to develop new proprietary software, most of which is housed on a Linux network server.

His company conducts market research, which includes surveys conducted over the phone or online with individuals who may have recently purchased a specific product or service. The surveys could also be with individuals who are seen to be in the market for purchasing a product or service. The information collected is analyzed statistically to identify trends or to help better meet the needs of customers. The company also has an ad agency that prepares and executes marketing campaigns for nationally-based restaurant chains. Armand works mostly with the marketing research side of the company to develop software programs that help staff members conduct phone interviews. To do this, he uses existing templates that were developed by one of the computer programmers at his company. He also works closely with market researchers who write the surveys. Some answers on the surveys determine which question will be asked next, so he includes variable paths at different points in the survey.

Because the company may conduct several separate surveys each week, a typical day for Armand involves programming new surveys or tweaking existing surveys to meet the needs of the researchers. Much of his time is spent in front of a computer screen, but he also attends meetings where they discuss new surveys. The surveys are typically programmed in C++, although occasionally he will work in JavaScript when a survey will be used for both online and phone interviews. Although he doesn't work with Javascript all the time, he takes the opportunity whenever he can. Armand studied C++ and Java in his associate's degree program, but he already knew HTML, and he has been learning JavaScript on the job to better assist the web designers and internet programmers who he works with. He knows that the more programming languages he can work with, the more valuable he will be to his company.

Computers have always been a major part of Armand's life. Playing video games has always been his favorite hobby, although watching science fiction movies is a close second. He taught himself Visual Basic in high school when he and a friend started making their own computer programs, one of which he has uploaded to a shareware site. He also enjoys building websites. He chose to study C++ and Java in school because he knew that in his vocational career those skills would make him more marketable in combination with his knowledge of HTML. Armand wants to continue his education and is presently researching colleges that offer night programs so that he can get a four-year degree in computer programming.

Armand does well in his vocational career as a computer programmer because of his attention to detail, his enthusiasm for the work, his strong communication skills and his ability to creatively provide solutions to problems. He is thorough in his work and dependable in meeting his deadlines.