
COMPUTER SIFTWARE
ENGINEER
(
according to NOC )
Software engineers 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 in information technology units throughout
the private and public sectors, or they may be self-employed.
Example Titles
|
application architect
computer software engineer
embedded software engineer
software architect
software design engineer
software design verification engineer
software designer
software engineer
software testing engineer
systems integration engineer - software
technical architect - software
telecommunications software engineer
|
|
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.
|
Main duties

|
Software engineers 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,
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.
|