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.
Software engineers and designers perform some or all of the following duties:
- Collect and document user’s requirements and develop logical and physical specifications
- Research, evaluate and synthesize technical information to design, develop and test computer-based systems
- 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
- 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.
Educational requirements: Post-secondary degree in software engineering, computer science or related field. Master’s degree a requirement for certain roles. Licensing is required for engineering drawings and reports, and be designated as a Professional Engineer (P.Eng.).
Experience: Minimum of three years of experience with more required for senior or leadership roles.
National average salary in this occupation is currently $93,600
Strong employment growth – combined with replacement demand due to skills mismatch, retirements, and other labour force exits – would result in strong demand for Software engineers / designers in the next 5 years.