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.


  • 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 co-ordinate 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 co-ordinate teams of information systems professionals in the development of software and integrated information systems, process control software and other embedded software control systems.

Other Titles

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

(Government of Canada National Occupation Classification)


  • Written and verbal communication
  • Analytical skills
  • Technical skills
  • Attention to detail
  • Team work
  • Able to work independently
  • Problem Solving
  • Time management

Education/Training Requirements

Ontario Secondary School Diploma (OSSD)

  • Most college/university programs in Ontario require an OSSD or Mature Student Status

Post-secondary diploma/degree

  • A bachelor’s degree in computer science, computer systems engineering, software engineering or mathematics OR completion of a college program in computer science is usually required
  • A master’s or doctoral degree in a related discipline may be required


  • Engineers are eligible for registration after graduating from an accredited educational program, completing three to four years of supervised work experience in engineering, and passing a professional practice examination
  • Experience as a computer programmer is usually required

Potential Earnings in Durham Region

The average and median wages and salaries for individuals employed as software engineers and designers are as follows. Place of Residence (POR) is defined as individuals who reside within the Durham Region. Place of Work (POW) is defined as individuals who are employed within the Durham Region.

Median Wages and Salaries (POR) Average Wages and Salaries (POR) Median Wages and Salaries (POW) Average Wages and Salaries (POW)
$83,592 $91,562 $96,649 $99,104

Employment Prospects

Industry (NAICS) Jobs in Durham Region (POW) Durham Region Residents Employed (POR)
5415 – Computer Systems Design and Related Services



(Ministry of Advanced Education and Skills Development 2016 data in Durham Workforce Authority’s 2017 Sector Report)

Additional Resources

Download PDF