National Occupational Classification (NOC) 2021 Version 1.0


Statistics Canada's Trust Centre: Learn how Statistics Canada keeps your data safe and protects your privacy.

21231 - Software engineers and designers

Software engineers and designers research, design, evaluate, integrate and maintain software applications, technical environments, operating systems, embedded software, information warehouses and telecommunications software. They are employed in information technology consulting firms, information technology research and development firms, and information technology units throughout the private and public sectors, or they may be self-employed.

  • Illustrative example(s)

    • application architect
    • computer software engineer
    • embedded software designer
    • embedded software engineer
    • software architect
    • software design engineer
    • software design verification engineer
    • software designer
    • software testing engineer
    • telecommunications software engineer

    All examples

  • Inclusion(s)

    • systems architect
  • Exclusion(s)

    • Computer and information systems managers (See 20012 Computer and information systems managers)
    • Computer engineer (except software) (See 21311 Computer engineers (except software engineers and designers))
    • Computer systems developers and programmers (See 21230 Computer systems developers and programmers)
    • Database analysts and data administrators (See 21223 Database analysts and data administrators)
    • Electrical and electronics engineers (See 21310 Electrical and electronics engineers)
    • Information systems specialists (See 21222 Information systems specialists)
    • Information systems testing technicians (See 22222 Information systems testing technicians)
    • Software developers and programmers (See 21232 Software developers and programmers)
    • Web designers (See 21233 Web designers)
    • Web developers and programmers (See 21234 Web developers and programmers)
  • Main duties

    This group performs some or all of the following duties:

    • Collect and document users' requirements and develop logical and physical specifications
    • Research, evaluate and synthesize technical information to design, develop and test computer-based systems including mobile applications
    • Develop data, process and network models to optimize architecture and to evaluate the performance and reliability of designs
    • Plan, design and coordinate the development, installation, integration and operation of computer-based systems including mobile applications
    • Assess, test, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications software
    • May lead and coordinate teams of information systems professionals in the development of software and integrated information systems, process control software and other embedded software control systems.
  • Employment requirements

    • A bachelor's degree, usually in computer science, computer systems engineering, software engineering or mathematics
      Completion of a college program in computer science is usually required.
    • A master's or doctoral degree in a related discipline may be required.
    • Licensing by a provincial or territorial association of professional engineers is required to approve engineering drawings and reports and to practise as a Professional Engineer (P.Eng.).
    • Engineers are eligible for registration following graduation from an accredited educational program, three or four years of supervised work experience in engineering, and passing a professional practice examination.
    • Experience as a computer programmer is usually required.
Report a problem on this page

Is something not working? Is there information outdated? Can't find what you're looking for?

Please contact us and let us know how we can help you.

Privacy notice

Date modified: