Computer programmers write, or code, the programs that tell computers what to do. This is accomplished by converting the software program, designed by software engineers, into a series of instructions a computer can follow. The job is multifaceted in that it entails creating, adapting, modifying, troubleshooting and maintaining programs. Although having a bachelor's or master's degree is most often required for computer programming jobs, those with related work experience may only need a certificate or associate's degree. Depending on where they work, programmers may also need to seek certification.
|Required Education||Certificate or associate's degree with considerable work experience; bachelor's degree most often required; master's degree for some jobs|
|Certification||Programming certification sometimes required|
|Projected Job Growth (2012-2022)*||8%|
|Median Salary (2013)*||$76, 140 annually|
Source: *U.S. Bureau of Labor Statistics
Computer Programmer Education Requirements
Undergraduate certificates and associate's degrees suffice for some entry-level positions in computer programming, usually only if the applicant has a good amount of applicable work experience. Most employers, however, require programmers to hold at least a bachelor's degree in a field such as computer science, mathematics or information systems. Some jobs even call for a master's degree. Graduate certificates in computer programming are often pursued by individuals to augment a bachelor's degree in business, accounting or finance. Typical courses in a computer programming program cover programming logic, system design and development, programming languages, database management and structured query language (SQL).
Systems programmers develop systems that act as the computer's brains. Applications programmers develop systems that allow computers to do different jobs. According to the U.S. Bureau of Labor Statistics (www.bls.gov), job opportunities for computer programmers were projected to increase by eight percent between 2012 and 2022. Although this is average growth, there will be outsourcing of jobs due to the fact that many users are now able to write their own programs. In addition, some programming functions have been automated. Programmers now often assist software engineers in a number of their duties, such as the identification of user needs and program design. The demand for programmers is highest for individuals who have good technical skills and a solid grasp of the programming needs of specific employers' businesses.
Because of the computer field's rapidly changing nature, programmers are advised to build on their expertise. With experience and additional courses, programmers may become lead programmers, supervisors or analysts. With more advanced degrees and specialized knowledge, programmers can advance to become full-fledged software engineers. Further training, particularly in business, affords engineers the opportunity to become project managers, information officers, systems managers or independent consultants.
Professional and academic organizations offer various certifications. Although these are usually voluntary, certification indicates a level of competence, which can work to an individual's advantage in seeking employment or advancement. Vendors and software firms commonly require individuals to complete a certification program in order to work with their product.