Breadcrumb

Software Engineers and Designers

(NOC 2173)

in All Engineering, Math, Science, and Information Technology

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.

The employment outlook over the next few years for this occupational group is “good”, which indicates the chances of a qualified individual finding work is better than average when compared to other occupations in Nova Scotia. This is a moderate sized occupation in Nova Scotia so some job opportunities may occur through turnover. The number employed in this occupation is expected to grow significantly over the next few years, which will provide additional opportunities for employment. With a large percent of workers being 55 years of age and older, retirements are expected to be a key contributor to employment opportunities over the coming years. Software Engineers and Designers most commonly work full-time hours. Furthermore, the jobs are typically permanent positions. With employment conditions being somewhat seasonal, periods of downtime or layoff throughout the year affect some workers.

The median employment income for 79% of Software Engineers and Designers who worked full-time, year-round in 2015 was $73,568. Across all occupations in Nova Scotia, 59% of those who worked full-time year round had a median employment income of $43,600.
(Source: 2016 Census)

Hourly Pay

$21.63

$35.71

$48.08

Annual Pay

$24,845

$71,270

$106,614

Hourly Pay

$17.69

Minimum

$31.35

Median

$47.18

Maximum

Annual Pay

$13,568

Minimum

$60,422

Median

$107,009

Maximum

About the job

Nature of work

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.

Job duties

Software engineers and designers perform some or all of the following duties:

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.

Sample job titles

computer applications engineer

computer software engineer

software designer

software engineer

software systems designer

software technical architect

software testing engineer

systems applications engineer

systems architect

Skills

Software engineers require an understanding of computer languages and IT terminology. You would need to be analytical, have a solid grasp of mathematics, and be both innovative and methodical. Accuracy and proofreading skills are required to detect, locate, and avoid errors in code. Good communication skills are required to understand user requirements and to lead and coordinate teams of information professionals.

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

Other considerations

Experience as a computer programmer is usually required. Rapid changes in computer technology mean that people in this field should be prepared to keep abreast of new developments in computer hardware, software, and networking technologies.

Education & training

Computational mathematics

This program is typically offered at the college or university level.

This instructional program class comprises any program that focuses on the application of mathematics to the theory, architecture, and design of computers, computational techniques, and algorithms. These programs include courses in computer theory, cybernetics, numerical analysis, algorithm development, binary structures, combinatorics, advanced statistics, and related topics.

Computer programming - Specific applications

This program is typically offered at the trades/college level.

This instructional program class comprises any program that prepares individuals to apply the knowledge and skills of general computer programming to the solution of specific operational problems and customization requirements presented by individual software users and organizational users. Includes training in specific types of software and its installation and maintenance.

Computer programming/programmer - General

This program is typically offered at the trades/college level.

This instructional program class comprises any program that focuses on the general writing and implementation of generic and customized programs to drive operating systems and that generally prepares individuals to apply the methods and procedures of software design and programming to software installation and maintenance. These programs include courses in software design, low- and high-level languages and program writing; program customization and linking; prototype testing; troubleshooting; and related aspects of operating systems and networks.

Computer science

This program is typically offered at the college or university level.

This instructional program class comprises any general program that focuses on computers, computing problems and solutions, and the design of computer systems and user interfaces from a scientific perspective. These programs include courses in the principles of computational science, and computing theory; computer hardware design; computer development and programming; and applications to a variety of end-use situations.

Mathematics - General

This program is typically offered at the college or university level.

This instructional program class comprises any general program that focuses on the analysis of quantities, magnitudes, forms, and their relationships, using symbolic logic and language. These programs include courses in algebra, calculus, functional analysis, geometry, number theory, logic, topology and other mathematical specializations.

Medical informatics

This program may be offered at the college, trades, or university level.

This instructional program class comprises any program that focuses on the application of computer science and software engineering to medical research and clinical information technology support, and the development of advanced imaging, database, and decision systems. These programs include courses in computer science, health information systems architecture, medical knowledge structures, medical language and image processing, quantitative medical decision modelling, imaging techniques, electronic medical records, medical research systems, clinical decision support, and informatics aspects of specific research and practice problems.

Employment requirements & contacts

Regulations

Professional Engineer

Right to Title and Practice: This job is regulated and the job title is protected in Nova Scotia (you may not use this job title without holding a provincial licence). A licence shows that the holder has met provincial requirements and is required to work in this job.