Tony Healy writes why proposed compulsory licensing of IT professionals by the Australian Computer Society are flawed.
About 50 percent of software developers enter the field from disciplines other than computer science, including physics, engineering, mathematics, building architecture, and even art history. For many types of work, those people are better, not worse, than straight computer science graduates.
Licensing would exclude those people. This is especially relevant given the increasing calls for programmers to have wider business skills.
Licensing would also hinder innovation. For example, if licensing had been in place during the 1980s and 1990s, Australia would have been slower to convert from COBOL to newer languages, and slower to move to PC-based systems and the internet.
We would have no games industry since early games developers would not have met the licensing criteria.
In the United States, the ACM is formally opposed to licensing for these and other reasons. Their stance is supported by respected industry figures such as Grady Booch, Cem Kaner, and Martin Fowler.
Licensing requires that the standard professional knowledge be defined. The ACS definition derives from a controversial effort undertaken by the IEEE, and condemned by experts on the grounds that it was initially written by academics using the tables of contents from computer science textbooks, themselves years out of date. Most importantly, the ACM and Cem Kaner point out that industrial practice of software engineering differs significantly from recommendations in textbooks, especially old textbooks.
As well, many of these people who reviewed and helped refine the definition were not professional software developers, but instead were technical writers, academics, industry executives, and trainers. As a consequence, the definition tends to stress the types of things technical writers, trainers and large corporations consider important.
The ACS does not provide any evidence that licensing works. Instead it falls back on platitudes such as "professionalism" and implies without proof that this arises from membership of the ACS. It's dangerous.
Most troubling of all is that certification would expose software developers to malpractice suits. Cem Kaner, professor of computer science at Florida Institute of Technology and an attorney, points out that the specification of knowledge would acquire legal standing as best practice, even though many of its practices are not best practices at all.
The ACS likes to pretend there's a single occupation called the ICT Professional, when there are actually many different occupations, each requiring different expertise. It does this because many members, particularly in leadership roles, lack technical expertise. For example, the ACS grants membership to accountants, lawyers, recruiters, salesmen, and managers and even certifies them as complying with its specification of technical knowledge even though many would not in fact have that knowledge.
The ACS is also subject to significant conflicts of interest that disqualify it from the role of certifying software engineers. It grants membership to recruiters, lawyers, and others whose interests are inimical to and often opposed to those of trained technical professionals.
It is also strongly influenced by the higher education industry. Many of its policies benefit this sector at the cost of the wider profession, even though there are only about 1,000 computer science lecturers among the population of 240,000 IT workers. Licensing will be a boon to universities facing declining student numbers, and to recruiters seeking pliant young graduates.
Licensing would harm Australian software and capability and should be resisted. The ACS has a legitimate role as an association for generic industry executives but not for professional software engineering.
Tony Healy is a Sydney-based researcher and software engineer undertaking research into software economics.