Computer Programmer

Computer programmers write, test, and develop programs that operate computers. Programmers also design and develop programs that solve problems. Working with other computer specialists, they develop instructions that make computers perform specific tasks. New technologies and computer languages have redefined the programmer's role.

Computer software engineers and system analysts specify the programs computer programmers develop. Engineers and system analysts design software and programmers convert engineer designs into programs that operate computers. Programmers code programs into a computer language such as COBOL, Prolong, an artificial intelligence language, or an advanced object oriented language such as Java, C++, or ACTOR.

Programming languages are determined by the program's purpose. Programmers usually understand more than one language and since languages are very similar, many programmers can learn new languages quickly. Programmers are often classified by their language or program specialty, for example, JAVA or mainframe programmers.

Programmers modify, repair, and update current programs. Programmers working on large projects often use computer assisted software engineering (CASE) tools, to automate the coding process. CASE tools allow programmers to focus on writing a program's unique parts. Programmers working on smaller projects usually use programmer environments, programs increasing productivity by combining debugging functions, test data generation, code generation, code walk through, and compiling. They also utilize basic code libraries that can be modified for a specific purpose. Programmers can increase their productivity using basic code libraries since they can eliminate routine steps.

Program types depend on the information that will be generated or accessed. Programs that update financial records are different than instructions that simulate pilot training programs. Programmers can write simple programs in a few hours, but some programs require complicated mathematics which can take a year to write. When writing these types of programs, senior programmers usually supervise a team of programmers.

New programs are tested by being run through a computer to determine whether instructions are performing the correct operations. Programmers must watch for errors, and if errors are discovered, they must take corrective action, following a process known as testing and debugging. Programmers can continue to debug the program for as long as a program is in use.

Programmers specializing in mainframes, large centralized computers, prepare instructions for computer operators supervising the program. Programmers many also contribute to a program instruction manual.

Programmers working for software development companies may collaborate with experts to develop specialized software developed for specific clients or for use by anyone, known as packaged software, such as games and desktop publishing software. Packaged software programs are one of the most popular products in the computer services industry.

Advanced software platforms are creating fewer differences between computer programmers and users. Spreadsheet, accounting, and enterprise resource planning applications have increased the need for individuals with user-base experience. These specialists develop programs that serve the needs of this base. Computer programmers develop the software platform and then troubleshoot the program until it is complete.

Computer programmers are separated into two groups: applications and systems programmers. Applications programmers write programs that perform specific tasks, such as track a company's inventory, and they reprogram generic software. Systems programmers write computer programs that operate networked systems, databases, and operating systems, as well as re-write instructions that operate a system's network or central processing unit, or transmit information to terminals or printers. Since programmers have extensive knowledge about computer systems, they often work with applications programmers to diagnose the source of a program's problem.

Some firms hire Programmer analysts who supervise systems analysis and programming.

Work Environment
Programmers spend most of their time in offices with computer terminals. They also spend more time telecommuting since new technology allows them to work from remote locations.

Computer programmers usually work 40 hour weeks, and they often work weekends and evenings to resolve technical issues. 4 percent of programmers work part time compared to 15 percent of workers from other industries.

Since programmers spend all day in front of computers, they can experience back pain, eyestrain, and carpal tunnel syndrome.

As of 2018, there were roughly 248,000 computer programmers employed in the United States.

How to Become a Computer Programmer
To become a computer programmer you at minimum need an associate or bachelor's degree in computer science or a closely related discipline. Notwithstanding, there are few self taught computer programmers out there that are quite proficient at their trade. Most programmers will learn at least a few programming languages.

Education. Earning an associate's or bachelor's degree in computer science or a closely related discipline is typically the first step an individual takes in preparation for becoming a computer programmer. A formal education affords students the opportunity to become a specialist in a particular field, such as accounting or healthcare.

As important as an education is, at the end of the day what really counts is how good of a programmer you become. A degree in computer science provides students the fundamentals for understanding computer and learning computer programming languages. However, most successful students will gain vital skills through internships and on-the-job experience.

As technology is always changing, computer programmers are required to take continuing education courses, be constantly learning and up to date on the latest trends, techniques and technologies.

There are many vendor specific training courses for programmers who want to acquire additional knowledge, skills and certification. Becoming certified in a vendor specific programming language or product help programmers become specialists and set themselves apart from the competition.

As of 2018, the average annual wage for computer programmers was roughly $82,000. The lowest 10% of programmers earn less then $48,000, and the top 10% of earners make more than $132,000 a year. What programmer earns depends greatly on their experience, skill set and the industry they work in.

Job Outlook
Between 2018 and 2028, employment opportunities are expected to grow by about 16 percent. Since computer programers can work from anywhere in the world they have an Internet enabled computer, many companies outsource their computer program needs to India and other countries where skill labor costs are lower than they are in the United States. The growing trend of outsource computer programmer will limit growth for programmers domestically. Notwithstanding, exceptional programmers will always be in high demand.

Sectors including computer system design, mobile application technology and technology are predicted to grow over the next ten years and jobs for computer programmers and software developers in these sectors will be plentiful.

Job prospects will be best for those programmers with a formal education and who have the ability to program in several different languages.

Source: U.S. Bureau of Labor Statistics

Computer and Technology Education Finder
Search our database of online and campus-based computer and technology programs.
Your ZIP Code:

Company Information
Privacy Policy
Contact Us
Submit a Resource