Software engineers and designers (NOC 2173)

High demand occupation

About this job

Software engineers and designers research, design, integrate, evaluate and maintain software applications, technical environments, operating systems, embedded software, information warehouses and telecommunications software.

See what a day in the life of this job is like—watch WorkBC’s Career Trek video about this occupation.

Source: WorkBC’s Career Trek

Workers in these occupations:

  • plan, develop and maintain the software needed for technical environments, including all of the applications, operating systems and protocols
  • are responsible for ensuring that safety-critical systems, such as aerospace products, instrumentation and control products, and control systems in cars, are reliable, effective and efficient
  • are employed in information technology consulting firms that provide software-related information technology services
  • are employed in information technology research and development firms or in information technology units throughout the private and public sectors
  • may be self-employed
  • should have an interest in current techniques and technologies for developing software, as well as the business processes for which the software is being developed
  • must have strong interpersonal and communication skills
  • must have knowledge of quality assurance techniques, software tools and skills in problem solving and critical thinking
Common job titles
  • architect, application / software
  • architect, systems / technical
  • designer, AI (artificial intelligence)
  • engineer, system integration
  • engineer, telecommunications
  • engineer, verification / testing
  • architect, application / software
  • architect, systems / technical
  • designer, AI (artificial intelligence)
  • engineer, computer applications
  • engineer, system integration
  • engineer, telecommunications

Duties

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

  • collect and document user 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 coordinate 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
  • 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

Work environment

Since software engineering is required in many different industries, software engineers and designers may work in a wide variety of settings in addition to Information Technology (IT) labs and offices. Many may also telecommute from home offices, using such technology as videoconferencing to interact with co-workers.

Workers may also combine telecommuting with work in a traditional office setting.

Software engineers and designers often work on projects in a team environment with engineers and designers in other disciplines. They typically work 40 hours per week; however, longer hours and overtime are often required to meet deadlines.

These professionals must employ ergonomic work practices when working on computers in order to lower risks of wrist, back or neck stresses associated with sitting for extended periods of time.

Insights from industry

New growth in the industry resulting from rapidly evolving technologies, coupled with fewer graduates from software engineering programs, is causing a shortage of skilled professionals to fill openings that arise. Industry sources report, however, that although there is a shortage of software engineering graduates, there appears to be a surplus of software technologists.

Small companies will require software engineers to have a broad skill-base and be proficient in many computer languages. They will also likely require employees to have computer hardware knowledge, and additional engineering knowledge outside the software realm. Since approximately three-quarters of computer industry businesses in the province are small employers, demand will be higher for those professionals who have a broad education and flexible skills. These engineering occupations require constant updating of skills, as technology advances rapidly in software development.

Software engineers must have knowledge about the environment in which the software will be used. They must keep in close communication with the end-users as the software product evolves and through its testing phases. Those with exceptional communication skills will therefore be most marketable. Industry reports that employers will increasingly require workers to be licensed with APEGBC, and that graduating from a CEAB-accredited program will become increasingly important.

The Health care sector will increasingly need software engineers to design, develop, evaluate and maintain safe and secure eHealth information systems.

Career paths and resources

Career paths

Software engineers and designers work in a broad field with many different career paths. They begin by acquiring experience in computer programming or systems analysis.

With experience and further education, these professionals can go on to higher level positions, such as chief architect. Further business and management experience could lead software engineers to positions as managers of large software groups or to hold other senior positions in IT firms.

Those who specialize in an area of engineering will likely find rewarding work in small companies.

Additional resources