Skip to main content icon/video/no-internet

The employment landscape for information and communications technology (ICT) occupations fluctuates considerably because of the evolving nature of the technology and its subsequent adoption and use by organizations and consumers. The job of computer programmer emerged in the mid-1940s because of state-funded computer megaprojects that were closely tied to the military-industrial complex of the Cold War.

Through hallmark initiatives such as ENIAC and ACE, individuals learned the art of programming through project-based trial and error. The learning gained on these projects was then applied to future initiatives as the computing revolution began. This computing and programming knowledge expanded and soon became codified and institutionalized through formal education programs such as computer science. Yet, even with this codification, there remains a lack of clarity as to the classification of computer programmers and other computer-based occupations. Much of this is because of the continually changing nature of the work vis-á-vis specific hardware and software, as well as the role and use of computerized technology in society. Whereas the first programmers physically manipulated plugs and switches, the discipline has evolved to achieve increased layers of abstraction and specification.

Occupational coding regimes for the United States, Canada, and the United Kingdom show how computer programmers are currently situated. Though most classify computer programmers as professionals, there is considerable academic debate about whether technical occupations have succeeded in achieving this status. Computer programming is not easily classified as a trade because the secrets of the work are not easily controlled. On the other hand, because of decentralized certification systems and the self-taught tradition, there has been insufficient occupational closure to be a profession. In many respects, the modern programming culture of the open source movement could undermine the development of either trade or professional status. In Canada, computer and information systems professionals are classified under Natural and Applied Sciences and Related Occupations. In the United States, computer-related occupations are found under Professional, Technical, and Managerial Occupations. In the United Kingdom, science and technology professionals are categorized under Professional Occupations.

Job Requirements and Qualifications

Programmers perform tasks associated with creating, modifying, and testing the code, forms, and scripts required by microcomputer and mainframe software applications, data processing applications, operating systems software, and communications software. They identify and communicate technical problems, processes, and solutions; prepare reports, manuals, and other documentation on the status, operation, and maintenance of software; assist in the collection and documentation of user requirements and in the development of logical and physical specifications; lead or coordinate teams of computer programmers; and/or research and evaluate software products. Computer programmers require “hard skills” such as advanced mathematics, symbolic logic, and knowledge of specific hardware and software components and capabilities.

They also require “soft skills” such as problem-solving, oral and written communication, teamwork, business knowledge, and the resiliency to work under often stressful project management regimes. Reflecting the codification of knowledge, the field is heavily credentialized. Though there remain many roads to becoming a computer programmer, formal education and certification are increasingly valued by employers. Most programmers have a university or college degree in computer science, mathematics, software engineering, or business computing. Many also have additional certifications. Companies like Microsoft and Cisco offer a range of certification, such as the Microsoft Certified Application Developer, and various private and public training vendors offer certificates in specific programming languages and applications (e.g., C++ and HTML). Obsolescence is an occupational hazard; most programmers must continually upgrade their skills through formal and informal experiences to remain competitive.

...

  • Loading...
locked icon

Sign in to access this content

Get a 30 day FREE TRIAL

  • Watch videos from a variety of sources bringing classroom topics to life
  • Read modern, diverse business cases
  • Explore hundreds of books and reference titles

Sage Recommends

We found other relevant content for you on other Sage platforms.

Loading