Search by ZIP code for an Accredited College or School that offers the Degree, Certification, Courses, or Program needed for your New Career!
Our Accredited Colleges and Schools respond quickly to your Information Requests!
Change your life! Change your future!
Important Career Information
The majority of computer programmers hold a college or higher degree; nearly half hold a bachelor's degree, and about 1 in 5 hold a graduate degree.
Jobs for computer programmers are expected to grow much more slowly than that for other computer specialists.
Prospects likely will be best for college graduates with knowledge of a variety of programming languages and tools; a programmer with less formal education or its equivalent in work experience is apt to face strong competition for programming jobs.
Salary: How Much Do Computer Programmer Make?
Median annual pay of computer programmers were $69,620 in May 2008. The middle 50 percent were paid between $52,640 and $89,720 a year. The lowest 10 percent were paid less than $40,080, and the highest 10 percent were paid more than $111,450. Median annual pay in the industries employing the largest numbers of computer programmers in May 2008 are shown below:
Software publishers $81,780
Computer systems design and related services 71,040
Management of companies and enterprises 67,170
Insurance carriers 69,790
According to the National Association of Colleges and Employers, starting salary offers for a computer programmer averaged $49,928 per year in 2007.
According to Robert Half Technology, a firm providing specialized staffing services, average annual starting salaries for a computer programmer in 2007 ranged from $55,250 to $90,250 for applications development programmers/analysts, and from $60,250 to $94,750 for software developers. Average starting salaries for a mainframe systems programmer ranged from $52,250 to $70,750.
What does a Computer Programmer do? Computer Programmer Jobs, Job Description, and Responsibilities
A computer programmer writes, tests, and maintains the detailed instructions, called programs, that computers must follow to perform their functions. A programmers also conceives, designs, and tests logical structures for solving problems by computer. Many technical innovations in programmingadvanced computing technologies and sophisticated new languages and programming toolshave redefined the role of a programmer and elevated much of the programming work done today. Job titles and descriptions may vary, depending on the organization. In this occupational statement, computer programmers are individuals whose main job function is programming; this group has a wide range of responsibilities and educational backgrounds.
Computer programs tell the computer what to dowhich information to identify and access, how to process it, and what equipment to use. Programs vary widely depending on the type of information to be accessed or generated. For example, the instructions involved in updating financial records are very different from those required to duplicate conditions on an aircraft for pilots training in a flight simulator. Although simple programs can be written in a few hours, programs that use complex mathematical formulas whose solutions can only be approximated or that draw data from many existing systems may require more than a year of work. In most cases, several programmers work together as a team under a senior programmer's supervision.
A programmer writes programs according to the specifications determined primarily by computer software engineers and systems analysts. After the design process is complete, it is the job of the programmer to convert that design into a logical series of instructions that the computer can follow. The programmer codes these instructions in a conventional programming language such as COBOL; an artificial intelligence language such as Prolog; or one of the most advanced object-oriented languages, such as Java, C++, or ACTOR. Different programming languages are used depending on the purpose of the program. COBOL, for example, is commonly used for business applications, whereas Fortran (short for "formula translation") is used in science and engineering. C++ is widely used for both scientific and business applications. Extensible Markup Language (XML) has become a popular programming tool for a Web programmer, along with J2EE (Java 2 Platform). A programmer generally knows more than one programming language and, because many languages are similar, a computer programmer can often learn new languages relatively easily. In practice, a programmer often is referred to by the language they know, such as a Java programmer, or by the type of function they perform or environment in which they workfor example, database programmer, mainframe programmer, or Web programmer.
Many programmers update, repair, modify, and expand existing programs. When making changes to a section of code, called a routine, a programmer need to make other users aware of the task that the routine is to perform. They do this by inserting comments in the coded instructions so that others can understand the program. Many programmers use computer-assisted software engineering (CASE) tools to automate much of the coding process. These tools enable a programmer to concentrate on writing the unique parts of the program, because the tools automate various pieces of the program being built. CASE tools generate whole sections of code automatically, rather than line by line. A programmers also uses libraries of basic code that can be modified or customized for a specific application. This approach yields more reliable and consistent programs and increases programmers' productivity by eliminating some routine steps.
Computer programmers often are grouped into two broad typesapplications programmers and systems programmers. An applications programmer writes programs to handle a specific job, such as a program to track inventory within an organization. An applications programmer also may revise existing packaged software or customize generic applications which are frequently purchased from vendors. A systems programmer, in contrast, writes programs to maintain and control computer systems software, such as operating systems, networked systems, and database systems. A systems programmer makes changes in the instructions that determine how the network, workstations, and central processing unit of the system handle the various jobs they have been given and how they communicate with peripheral equipment such as terminals, printers, and disk drives. Because of their knowledge of the entire computer system, a systems programmer often helps an applications programmer determine the source of problems that may occur with their programs.
A programmers in a software development companies may work directly with experts from various fields to create softwareeither programs designed for specific clients or packaged software for general useranging from games and educational software to programs for desktop publishing and financial planning. Programming of packaged software constitutes one of the most rapidly growing segments of the computer services industry.
Computer Programmer Training, College Programs, and Advancement
Employers primarily are interested in programming knowledge, and a computer programmer can become certified in a programming language such as C++ or Java. College graduates who are interested in changing careers or developing an area of expertise also may return to a 2-year community college or technical school for additional training. In the absence of a degree, substantial specialized experience or expertise may be needed. Even when hiring a programmer with a degree, employers appear to place more emphasis on previous experience.
Some computer programmers hold a college degree in computer science, mathematics, or information systems, whereas others have taken special courses in computer programming to supplement their degree in a field such as accounting, inventory control, or another area of business. As the level of education and training required by employers continues to rise, the proportion of programmers with a college degree should increase in the future. As indicated by the following tabulation, more than two-thirds of computer programmers had a bachelor's or higher degree in 2004.
High school graduate or less
8.3%
Some college, no degree
14.1
Associate degree
10.2
Bachelor's degree
49.1
Graduate degree
18.3
A computer programmer with knowledge of traditional languages is important, but employers are placing increasing emphasis on newer, object-oriented programming languages and tools such as C++ and Java. Additionally, employers are seeking a computer programmer familiar with fourth-generation and fifth-generation languages that involve graphic user interface and systems programming.
Most systems programmers hold a 4-year degree in computer science. Extensive knowledge of a variety of operating systems is essential for these programmers. A systems programmer must be able to work with database systems, such as DB2, Oracle, or Sybase.
When hiring a programmer, employers look for those with the necessary programming skills who can think logically and pay close attention to detail. The job calls for patience, persistence, and the ability to work on exacting analytical work, especially under pressure. Ingenuity and creativity are particularly important when a programmer designs solutions and tests their work for potential failures. The ability to work with abstract concepts and to do technical analysis is especially important for systems programmers because they work with the software that controls the computer's operation. Because programmers are expected to work in teams and interact directly with users, employers want a programmer who is able to communicate with nontechnical personnel.
For a computer programmer who keeps up to date with the latest technology, the prospects for advancement are good. In large organizations, a programmer may be promoted to lead programmer and be given supervisory responsibilities. Some applications programmers may move into systems programming after they gain experience and take courses in systems software. With general business experience, a programmer may become a programmer-analyst or systems analyst, or be promoted toa managerial job. Other programmers, with specialized knowledge and experience with a language or operating system, may work in research and development for multimedia or Internet technology and may even become computer software engineers. As employers increasingly contract with outside firms to do programming jobs, more opportunities should arise for an experienced programmer with expertise in a specific area to work as consultants.
Certification is a way to demonstrate a level of competence, and may provide a programmer with a competitive advantage. In addition to language-specific certification that a programmer can obtain, product vendors or software firms also offer certification and may require a professional programmer who works with their products to be certified. Voluntary certification also is available through various other organizations.
Where are the Jobs? Computer Programmer Jobs
Computer programmers held about 455,000 jobs in 2004. Programmers are employed in almost every industry, but the largest concentration is in computer systems design and related services. Large numbers of programmers also work for telecommunications companies, software publishers, financial institutions, insurance carriers, educational institutions, and government agencies.
Many computer programmers are employed on a temporary or contract basis or work as independent consultants, providing companies expertise with new programming languages or specialized areas of application. Rather than hiring a programmer as permanent employees and then laying them off after a job is completed, employers can contract with temporary help agencies, with consulting firms, or with the programmer themselves. A marketing firm, for example, may require programming services only to write and debug the software necessary to get a new customer database running. Bringing in an independent contractor or consultant with experience in a new or advanced programming language enables the firm to complete the job without having to retrain existing specialists. Such jobs may last anywhere from several weeks to a year or longer. There were 25,000 self-employed computer programmers in 2004.
Job Outlook and Job Opportunities for Computer Programmers
As programming tasks become increasingly sophisticated and additional levels of skill and experience are demanded by employers, graduates of 2-year programs and people with less than a 2-year degree or its equivalent in work experience will face strong competition for programming jobs. Competition for entry-level jobs, however, also can affect applicants with a bachelor's degree. Prospects should be best for college graduates with knowledge of, and experience working with, a variety of programming languages and toolsincluding C++ and other object-oriented languages such as Java, as well as newer, domain-specific languages that apply to computer networking, database management, and Internet application development. Obtaining vendor-specific or language-specific certification also can provide a competitive edge. Because demand fluctuates with employers' needs, jobseekers should keep up to date with the latest skills and technologies. Individuals who want to become a programmer can enhance their prospects by combining the appropriate formal training with practical work experience.
Jobs for programmers are expected to grow more slowly than the average for all careers through the year 2014. Sophisticated computer software now has the capability to write basic code, eliminating the need for many programmers to do this routine work. The consolidation and centralization of systems and applications, developments in packaged software, advances in programming languages and tools, and the growing ability of users to design, write, and implement more of their own programs mean that more of the programming functions can be transferred from a programmer to other types of information specialists, such as computer software engineers.
Another factor limiting growth in jobs is the outsourcing of these jobs to other countries. a computer programmer can perform their job function from anywhere in the world and can digitally transmit their programs to any location via e-mail. Programmers are at a much higher risk of having their jobs outsourced abroad than are specialists involved in more complex and sophisticated information technology functions, such as software engineering, because computer programming has become an international language, requiring little localized or specialized knowledge. Additionally, the work of computer programmers can be routinized, once knowledge of a particular programming language is mastered.
Nevertheless, employers will continue to need programmers who have strong technical skills and who understand an employer's business and its programming requirements. This means that a programmer will have to keep abreast of changing programming languages and techniques. Given the importance of networking and the expansion of client/server, Web-based, and wireless environments, organizations will look for a programmer who can support data communications and help implement electronic commerce and intranet strategies. Demand for programmers with strong object-oriented programming capabilities and technical specialization in areas such as client/server programming, wireless applications, multimedia technology, and graphic user interface likely will stem from the expansion of intranets, extranets, and Internet applications. A programmer also will be needed to create and maintain expert systems and embed these technologies in more products. Finally, a growing emphasis on cybersecurity will lead to increased demand for programmers who are familiar with digital security issues and skilled in using appropriate security technology.
Jobs for both systems and applications programmers should be most plentiful in data-processing service firms, software houses, and computer consulting businesses. These types of establishments are part of computer systems design and related services and software publishers, which are projected to be among the fastest growing industries in the economy over the 2004-14 period. As organizations attempt to control costs and keep up with changing technology, they will need a programmer to assist in conversions to new computer languages and systems. In addition, numerous job openings will result from the need to replace a programmer who leaves the labor force or transfer to other careers such as manager or systems analyst.
These pages and search results are copyrighted by OVERVIEW 1997-2010. All Rights Reserved.
Link to this page?? Click in the box. Copy the code!
Show me Facts for other Careers!
Technical Colleges
both online or near you!
Federal Grants Federal Loans Military Assistance
IS: Computer Security
IS: Database Developer
IS: Database Management
IS: Homeland Security and Information Systems
IS: Internetworking Technology
IS: Networking
IS: Programming
IS: Security Administration
IS: Web Development
A programmer generally works in offices in comfortable surroundings. Many programmers may work long hours or weekends to meet deadlines or fix critical problems that occur during off hours. Telecommuting is becoming common for a wide range of computer professionals, including computer programmers. As computer networks expand, more programmers are able to make corrections or fix problems remotely using modems, e-mail, and the Internet to connect to a customer's computer.
for all other Online Career Programs!
for all other Campus-based Career Programs!
DeVry University offers flexible scheduling and the convenience of studying at 90+ locations, online, or a combination of both. Earn a respected associate degree, bachelor's degree or master's degree from an accredited university.
Locations: Arizona (AZ) California (CA) Colorado (CO) Florida (FL) Georgia (GA) Illinois (IL) Indiana (IN) Kentucky (KY) Maryland (MD) Michigan (MI) Minnesota (MN) Missouri (MO) Nevada (NV) New Jersey (NJ) New York (NY) North Carolina (NC) Ohio (OH) Oklahoma (OK) Oregon (OR) Pennsylvania (PA) Tennessee (TN) Texas (TX) Utah (UT) Virginia (VA) Washington (WA) Wisconsin (WI)
Although there are many training paths available for a programmer, mainly because employers' needs are so varied, the level of education and experience employers seek has been rising due to the growing number of qualified applicants and the specialization involved with most programming tasks. Bachelor's degrees are commonly required, although a programmer may qualify for certain jobs with a 2-year degree or certification. The associate degree is a widely used entry-level credential for a prospective computer programmer. Most community colleges and many independent technical institutes and proprietary schools offer an associate degree in computer science or a related information technology field.