Index
Intro
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.
Main Duties
Software engineers and designers perform 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
- 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.
Employment Requirements
- A bachelor’s degree, usually 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.
- 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.
All Titles
- application architect
- artificial intelligence (AI) designer
- artificial intelligence designer
- computer applications engineer
- computer software engineer
- computer telecommunications software specialist
- design engineer, software
- designer, software
- embedded software engineer
- engineer, software
- simulation software design engineer
- software architect
- software design engineer
- software design supervisor
- software design verification engineer
- software designer
- software engineer
- software systems designer
- software systems integration engineer
- software technical architect
- software testing engineer
- specialist, telecommunications software
- supervisor, software design
- systems applications engineer
- systems architect
- systems designer – software
- systems engineer – software
- systems integration engineer – software
- technical architect – software
- telecommunications software engineer
- telecommunications software specialist
- test engineer, software
- testing engineer, software
Exclusions
- Computer and information systems managers (0213)
- Computer engineers (except software engineers and designers) (2147)
- Computer programmers and interactive media developers (2174)
- Database analysts and data administrators (2172)
- Electrical and electronics engineers (2133)
- Information systems analysts and consultants (2171)
- Information systems testing technicians (2283)
- Web designers and developers (2175)