Job Description
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.
Sample Job Titles
- Artificial Intelligence (AI) Designer
- Cloud Architect
- Embedded Software Engineer
- Software Architect
- Software Designer
- Software Engineer
- Software Technical Architect
- Software Testing Engineer
- Systems Engineer – Software
- Telecommunications Software Specialist
Job Duties
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.
Typical Background
Education
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.