I wrote the Professional Practice Exam on Monday, part of fulfilling the requirements for registration as a PEng (Professional Engineer) with APEGBC. Though the exam went well, I am still concerned with the focus of the Association on the “traditional” fields of engineering, and the lack of action with respect to advancing the state of the software engineering as a profession. Now, more than ever, the Canadian public (and the world in general) needs professional software engineers who are empowered to protect the public’s health and welfare.
Consider the suggested study material for the exam:
- Law for Professional Engineers
- Canadian Professional Engineering Practice and Ethics
Though the books cover the requisite material in excellent detail, most of the case studies leave much to be desired. Legal precedents cited in the first book focus primarily on legal actions related to the construction industry, ignoring most other areas of engineering. Studies of ethical dilemmas in the second book again focus on “traditional” engineering fields. What amazes me is the complete lack of any coverage of the multitude of unique legal and ethical problems faced by Software Engineering, the youngest of the professional engineering streams. Engineers in this field require more, not less, guidance than their colleagues in more traditional fields of engineering where most of the “best practices” have been well established for decades, if not centuries.
When I registered as an EIT, I wasn’t entirely convinced that the Association provided any real benefit to electronic, computer, or software engineers. Every year at my university (SFU) the Association would swing by and declare, “you should go for your PEng!” but would fail to provide any tangible reason to do so, except for members of the “traditional” engineering fields. I entered the EIT program with the hope that the appearance of the Software Engineering stream signalled that the Association was becoming more relevant.
Three years later, I’ve seen little action on the part of the Association for Software Engineering. Sure, the Engineer and Geoscientist’s Act (“the Act”) requires you to be registered to engage in the practice of engineering, but I see little or no enforcement in the fields of software, computer, or software engineering. There are plenty of people operating in the field without certificates or registration, but the Association isn’t stopping them (in fact, the Act doesn’t provide adequate enforcement provisions according to APEGBC). Most employers aren’t looking for registered computer, electronic, or software engineers, and anyone who’s “really into computers” seems to be calling himself or herself a “software engineer”.
Any time I’ve contacted members of the Association, the reply has taken a long time and has done little to reassure me. The CSED (Computer and Software Engineering Division) of APEGBC shows very little activity. Though I’m trying to get involved to help the CSED, I get the sense that members of the CSED have already been deflated by the Association’s lack of action.
You might ask: why is this important? True, most software is destined for applications that don’t have even a remote chance of endangering life, but bad software is costing companies billions in downtime and exposing their confidential corporate data. Isn’t it part of our obligation to protect property, and the general public good? What public good is served by allowing companies to release defective software? In addition, there is a risk to the traditional engineering fields (civil and mechanical engineering in particular) that their increasing reliance on software products (most likely not designed by engineers) to design and build products could endanger life and limb.
Software touches every aspect of our lives. I would suggest that by failing to act appropriately to enforce registration, the Association is failing to fulfill its obligations as described by the Act. My question is: what is the Association currently doing, or (in the near future) going to do about it?