21231 – Software engineers and designers



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.


Index of titles
Application architect
Automation engineer – software
Backend engineer
Cloud administrator
Cloud architect
Cloud engineer
Cloud infrastructure engineer
Cloud operations engineer
Computer applications engineer
Computer software engineer
Computer systems platform engineer - software
Computer telecommunications software specialist
Development and operations (DevOps) engineer
Embedded software designer
Embedded software engineer
Lead development and operations (DevOps) engineer
Lead software engineer
Mobile development lead
Simulation software design engineer
Site reliability engineer
Software and information technology project manager
Software architect
Software design engineer
Software design project manager
Software design supervisor
Software design verification engineer
Software designer
Software development engineer
Software engineer
Software engineering lead
Software project manager
Software quality assurance (QA) engineer
Software systems designer
Software systems integration engineer
Software technical architect
Software testing engineer
Systems applications engineer
Systems architect
Systems engineer - software
Telecommunications software engineer
Telecommunications software specialist
Test automation engineer – software


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 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.


Additional information

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