Computer Programmers are responsible for creating code that essentially tells a computer how to operate. They write, test, and maintain these coded instructions, also referred to as programs. The work of programmers has been expanded in today's world, due to the innovative and advanced technologies that now exist. Programmers are now heavily involved in all aspects of technical problem solving for companies. Common computer languages that programmers use include COBOL, C++, BASIC, Java, and HTML. Most programmers know several computer languages because they tend to be similar, making them relatively easy to learn.
Programmers are usually referred to by the language or function they specialize in, for example Java programmers, or Internet programmers. They are also usually separated into two main types, applications and systems programmers. Applications programmers write code to handle a specific function within a company, for example, order tracking. Or they may update and change a company's current computer programs or purchased software.
Rather than focusing on individual programs, systems programmers are involved in creating code for entire computer, network, and database systems. Because of their involvement in the system as a whole, they are often able to assist programmers in troubleshooting errors in various programs. It is common in smaller companies for a combination of these two types of programmers to exist; this position is commonly referred to as programmer-analyst. These individuals are responsible for both the programming work and systems maintenance within a company.
Characteristics of programmers have changed in recent years, with more emphasis being placed on communication and people skills, as today's business world tends to focus more and more on teamwork. Candidates will also need to be analytical and detail-oriented thinkers who possess a great deal of patience.
A day in the life… Programmers generally work in offices, but tend to work longer hours and weekends in order to meet deadlines or fix serious errors that may occur in programs at all hours of the day. Telecommuting is common in this field, as remote connection has become more common within organizations. Programmers will often work on teams with various types of professionals to solve complicated problems within companies.
Education and training A bachelor's degree is typically required for entry-level programming jobs, although those with an associate's degree or certain certificates may qualify as well. About 50 percent of computer programmers hold a bachelor's degree, and another 20 percent have taken some college courses. While most computer programmers have a four-year degree in computer science, others hold degrees in related technical fields such as mathematics, information systems, or engineering. Around 20 percent of individuals in this field have an advanced degree in computer science or engineering.
While degrees are important in this field, employers tend to place more emphasis on work experience. This means that recent college graduates with good GPAs are having a hard time finding work because of their lack of practical experience. In general, those individuals with less education but strong knowledge and experience in several programming languages will have a better chance of finding employment than recent graduates. Therefore, students should try to take advantage of available work opportunities, including internships and work co-ops, while attending school.
Continuing education is extremely important for programmers, as software and technologies are constantly changing and advancing. Programmers seek out trade shows, seminars, periodicals, and professional education classes to keep their skills up-to-date and remain competitive in their field.
Job outlook While the job outlook for programmers has changed radically over the past couple of years, due mainly to the practice of outsourcing overseas, programmers are still in demand, especially those who are skilled in integrating business and technical needs. According to the Bureau of Labor Statistics, employment for programmer positions is expected to grow at an average rate, with most job growth within data processing firms, software houses, and computer consulting businesses. This is because these types of organizations are involved in computer and data processing services, which is anticipated to be the fastest growing industry in our economy through the year 2010. But most of the job openings during this period will be triggered by programmers retiring or moving into other positions.
Job prospects will be best for those applicants with college degrees and experience in different languages and tools like C++ and Java. Those with vendor or language certifications will also have an edge in the job market, as well as those with up-to-date skill sets and practical work experience.
Related occupations A number of programmers take on additional duties to become systems architects, software producers, or technical writers. Others move into related professions, such as graphic design and animation or into the government as computer security consultants, encryption specialists, or federal agents specializing in computer science. Finally, there are those that transition into the business world and become Management Information Systems Specialists (MISS).
Professionals with similar skill sets as computer programmers include computer software engineers, systems analysts, computer scientists, database administrators, statisticians, mathematics, engineers, financial analysts and personal financial advisors, accountants and auditors, actuaries, and operations research analysts.