Computer Programmer

Computer programmers create, modify and test the forms, scripts and code that tell computers what to do.

Also Known As:Application Programmer, Computer Specialist, Information Technology Specialist, Programmer Analyst, Software Developer
NOC Number(s):2174.1
Minimum Education:Education/training requirements vary
Employment Outlook:Job openings: turnover plus new jobs due to below average growth in occupation in Alberta 2013-2017
Interests:I M D

Related Videos:

Computer Programmer

Duties | Working Conditions | Personal Characteristics | Education | Related Legislation | Employment | Salary | Other Information | Related Occupations | Related School Subjects | Related Field of Study


Computer programmers may combine and adapt existing programs or program components, or actually write computer code. They use application design and development tools, and different computer and database languages for different types of applications (for example, business, commercial, engineering or scientific software). Programming also is used in the creation of many web applications.

In general, computer programmers:

  • work from specifications drawn up by systems analysts or discuss requirements with people who will be using the program
  • analyze requirements to determine what steps need to be taken and in what order, and translate these steps into computer language commands
  • test and debug programs to ensure they work properly and address security and privacy concerns
  • document programs and procedures by writing descriptions of what the programs do and how they do it, by preparing user manuals or help screens and by updating case repositories
  • maintain existing computer programs by making minor modifications as required.

Working Conditions

Computer programmers work in an office environment. They may work in shifts or from home. Overtime may be required to meet deadlines or to debug programs that are not running properly.

Personal Characteristics

Programmers need the ability to:

  • think logically and analyze complex problems
  • concentrate for long periods of time   
  • remain patient and persistent when debugging programs 
  • pay attention to details to avoid time-consuming and costly errors 
  • communicate ideas clearly 
  • get along well with clients and other team members.

They should enjoy learning new computer languages and programming styles, and developing innovative solutions to problems.

Educational Requirements

Most computer programmers have completed a post-secondary education program in computer science or a related discipline that has a significant programming component. There are a wide variety of three and four year degree programs, two year diploma programs and one year certificate programs in this field that are offered by universities, colleges, technical institutes and private vocational schools.

Before enrolling in an education or training program, prospective programmers should:

  • decide what type of programming work they want to do (and in which industry)
  • talk to potential employers about required and preferred qualifications for that type of programming.

After graduation, all programmers must continuously upgrade their knowledge in this rapidly changing field.

In Alberta, the following post-secondary education institutions offer programs directly related to computer programming:

Entrance requirements vary. In general, admission to university programs (other than Athabasca University) requires a competitive average (ranging from 60 to 80 per cent depending on the program) in English Language Arts 30-1, Pure Math 30 and three other approved 30 level subjects (Math 31 and Physics 30 recommended). Admission to college and technical institute programs generally requires a high school diploma with specified Grade 12 English and Grade 11 or 12 math courses, or equivalent.

For current information about programs, admission requirements and mature student admission policies, please check post-secondary calendars or websites.

Continuing education programs may be offered on an as needed basis.

Section revised March 2013

Related Legislation

Information Systems Professional is a protected title under Alberta's Professional and Occupational Associations Registration Act. This means that to call yourself an Information Systems Professional or use the I.S.P. designation, you must be a registered member of the Canadian Information Processing Society of Alberta (CIPS Alberta). You do not have to be registered if you do not call yourself an Information Systems Professional. For more information on certification please see the Information Systems Professional profile in CERTinfo.

Employment and Advancement

Computer programmers are employed by large software companies and consulting firms, many of which are based outside Alberta. Most programmers employed in Alberta work in the information systems departments of large organizations or in specialized software development firms. Employers include:

  • consulting firms
  • software developers
  • insurance, oil, transportation and utility companies
  • municipal, provincial and federal governments
  • educational and financial institutions.

Some programmers are involved in research and scientific work for universities, research foundations and computer design and manufacturing companies. Some work as consultants, developing programs for companies with specific software needs. A small percentage are employed as programming instructors in colleges and institutes of technology.

Junior programmers require two or three years of Information Technology (IT) experience and additional training to become applications or systems programmers. Experienced programmers may become lead applications programmers or systems analysts. With additional training and experience, programmers may move into related fields such as database administration, systems security or network design.

Computer programmers are part of a larger National Occupational Classification 2174: Computer Programmers and Interactive Media Developers. In Alberta, 81 per cent of people employed in this classification work in the following industries:

The employment outlook in this occupation will be influenced by a wide variety of factors including:

  • trends and events affecting overall employment (especially in the industries listed above)
  • location in Alberta
  • employment turnover (work opportunities generated by people leaving existing positions)
  • occupational growth (work opportunities resulting from the creation of new positions that never existed before)
  • size of the occupation.

Over 11,200 Albertans are employed in the Computer Programmers and Interactive Media Developers occupational group which is expected to have an annual below average growth of 1.7 per cent from 2013 to 2017 in Alberta. It is forecasted that about 190 new positions will be created each year in addition to job openings created by employment turnover. (Note: Since computer programmers form only a part of the larger occupational group on which this forecast is based, only a portion of the new positions created will be for computer programmers.)

Employment turnover is expected to increase as members of the baby boom generation retire over the next few years.

Section revised November 2013


Salaries for computer programmers depend on the education and experience of the programmer, and the size, location and type of employer.

According to the 2011 Alberta Wage and Salary Survey, Albertans in the Computer Programmers and Interactive Media Developers occupational group earned on average from $27.52 to $45.98 an hour. The mean wage for this group was $36.70 an hour.

For more detailed information, see WAGEinfo.

Other Sources of Information

Post-secondary institution calendars and websites (see Educational Requirements above)

EDinfo website:

Canadian Information Processing Society (CIPS) website:

Information and Communications Technology Council (ICTC) website:


Section revised January 2014

Related Occupational Profiles
Business Continuity Planner
Career and Technology Studies Teacher
Computer Network Administrator
Customer Support Analyst
Database Analyst
Information Systems Consultant
Information Systems Quality Assurance Analyst
Interactive Media Programmer
Software Engineer
Systems Auditor
Systems Security Analyst
Systems Tester
Web Designer
Web Technician

Related High School Subjects
Business, Administration, Finance and Information Technology (Computing Science); English Language Arts; Mathematics; and Science (Physics)

Related Post-Secondary Field of Study
Computer and Information Technology

Produced January 2013
Top of Profile

For more information on career planning, occupations and educational programs, visit the Alberta Learning Information Service (ALIS) website at, call the Alberta Career Information Hotline toll-free at 1-800-661-3753 or 780-422-4266 in Edmonton or visit an Alberta Works Centre near you.

The information contained in this profile was current as of the dates shown. Salaries, employment outlook and educational programs may change. Please check the information before making any career decisions.

Government of Alberta, Human Services