Are software engineers actually engineers in South Africa?
Tags: softwareengineering, career, programming, engineering
Published: 2022-12-01 01:15:12

_Note: This is also posted on my other [blog site](https://deventerpriselog.blogspot.com/2022/10/are-software-engineers-actually.html)._

There's a recent event that shook the tech industry worldwide. 

From this [SlashDot News](https://news.slashdot.org/story/22/10/14/221214/is-a-software-engineer-an-engineer-alberta-regulator-says-no-riling-the-provinces-tech-sector): 

> The Association of Professional Engineers and Geoscientists of Alberta
> (APEGA), has asked a court to order one of the province's leading
> software companies, Octopusapp, known as Jobber, to stop using the
> term "engineer" in job titles and postings unless it gets a permit
> from the regulator. That has caused an uproar in Alberta's tech
> sector.
> 
The full article can be found [here](https://www.theglobeandmail.com/business/technology/article-is-a-software-engineer-an-engineer-alberta-regulator-says-no-riling-2/).

To cut the story short, APEGA wants companies and individuals to stop using the titles "software engineer" and "computer engineer", unless individuals are licensed as engineers as "Professional engineers are held to high professional and ethical standards and work in the public interest", they said.
 
So, what does this mean in the South African tech industry? Are software engineers actually engineers?

In South Africa, the statutory body for engineering profession is called [The Engineering Council of South Africa (ECSA)](https://www.ecsa.co.za/). As their website states:

> The Engineering Council of South Africa (ECSA) is a statutory body
> established in terms of the Engineering Profession Act (EPA), 46 of
> 2000. The ECSA's primary role is the regulation of the engineering profession in terms of this Act.  Its core functions are the
> accreditation of engineering programmes, registration of persons as
> professionals in specified categories, and the regulation of the
> practice of registered persons.
> 

According to the [Engineering Profession Act (EPA), 46 of 2000](https://www.gov.za/sites/default/files/gcis_document/201409/a46-000.pdf),   the focus of ECSA is to ensure that registered professionals in the engineering profession:

 - apply their knowledge and skill in the interest of humanity and the environment;
 - to execute their work with integrity and sincerity and in accordance with generally accepted norms of professional conduct; and
 - respect the interest of their fellow being and honour the standing of the Profession.

These are stipulated in the Code of Professional Conduct and this allows that the Registered person allow its conduct and ethics to be made subject to the scrutiny of its peers and the public.

A Professional Engineer with an accredited Engineering degree(s) - B.Eng or B.Sc(Eng) - that satisfies the educational requirement as a candidate of ECSA can register, and, only accredited from a recognised tertiary university in South Africa, recognised by ECSA can register.

## Where does Software Engineering fit within the Engineering Profession, as defined by ECSA?
ECSA can consider candidates in the Software Engineering profession if the candidate has completed and obtained an accredited engineering - B.Eng/B.Sc(Eng) - type qualification from a recognised tertiary university in South Africa. Therefore, only those that have completed and obtained an accredited degree in Computer Engineering can be considered as candidate for Professional Engineer by ECSA.

The guideline for registration for Professional Engineer in Computer Engineering can be found [here](https://www.ecsa.co.za/ECSADocuments/Shared%20Documents/R-05-COMP-PE%20Discipline-specific%20Training%20Guide%20for%20Registration%20as%20a%20Professional%20Engineer%20in%20Computer%20Engineering.pdf).

## The Institute of Information Technology Professionals South Africa (IITPSA)
The [Institute of Information Technology Professionals South Africa (IITPSA)](https://www.iitpsa.org.za/), formerly Computer Society of South Africa (CCSA), is a professinal body recognised by the South African Qualifications Authority (SAQA). 

IITPSA's aims are:
 - to further the study, science and application of Information and Communications Technologies (ICTs);
 -  maintain and promote Codes of Conduct and Ethics for our members; 
 - define and promote standards of ICT knowledge; promote the formulation of effective policies on ICT and related matters;
 - and extend the knowledge and understanding and usage of ICTs in the community.

Thus, adherence to IITPSA’s Code of Conduct and Code of Practice assures others that IITPSA members are committed to ethical and professional behaviour.

Professional Software Engineers in the ICT (Information and Communications Technology) sector can become a [Certified Member IITPSA (CMIITPSA)](https://www.iitpsa.org.za/certified-member-cmiitpsa/). 

# Final thoughts?
Software is an increasingly critical component in many systems, some having huge social and commercial impact.

However, the question still remains: Should “Software Engineering” become a branch of engineering under the ECSA framework (if we want it to be recognsised as an engineering profession)?

There has been several efforts to create a curriculum for Software Engineering education. The [IEEE Standard of 610.12-1990](https://standards.ieee.org/ieee/610.12/855/) (Software Engineering Terminology) was established by the IEEE Computer Society, which defines Software Engineering as:

> The application of a systematic, disciplined, quantifiable approach to
> the development, operation and maintenance of software; that is, the
> application of engineering to software.
> 
They have, even, established a [Software Engineering Body of Knowledge](https://www.computer.org/education/bodies-of-knowledge/software-engineering) (aka SWEBOK) - currently SWEBOK V3 is available for download - provides 5 objectives,  some which can be considered as engineering principles:
 - To promote a consistent view of software engineering worldwide
 - To specify the scope of, and clarify the place of software engineering with respect to other disciplines such as computer science, project management, computer engineering, and mathematics
 - To characterize the contents of the software engineering discipline

If Software Engineering be considered as a true engineering profession in SA, we would require that:

 1. Software Engineering is formally listed at ECSA.
 2. A formal, recognised accreditation, specific to Software Engineering qualification that meets the IEEE Computer Society Standard is taught by accredited tertiary institution.
 3. Qualified Software Engineers formally register in order to satisfy the requirements to be a Professional Engineer in Software Engineering.

Thus, is software engineering actually an engineering activity? That is left for the reader to decide.