In an article in the August edition of the Communications of the ACM, Vint Cerf, previous president of the ACM, asked readers for advice on how to increase participation by computing professionals. This problem is, of course, not confined to the ACM – it has been a concern of the British Computer Society for many years and perhaps other national professional societies.
As a long-standing member of the ACM, an academic (until recently) and now a practitioner of sorts, I’d like to set out my views on what has gone wrong with the ACM and, more constructively, how things might be taken forward. I think that there are three problems with the ACM that are relevant to this question:
1. It has not formed a unified society with the IEEE Computer Society. Why are there 2 learned/professional societies representing computing professionals. In the UK, we have the exactly the same problem – why do we need both the BCS and the IET? A unified society would have more resources to provide services to its members and could be a stronger representative body to government.
2. It has devalued its brand by sponsoring a huge number of academic conferences and workshops with poor quality papers. These have led to its excellent-in-principle digital library being clogged with dross. This has contributed to its perception amongst practitioners as an institution that exists to serve the academic community.
3. It does not understand usability requirements when it comes to publications. This manifests itself in a number of ways – articles in its flagship publications that are dense and not readily skimmable (everyone is busy now), failure to link paper and electronic publications, failure to understand why replacing paper publications with web-only versions is a bad idea, and poorly-designed and inconsistent mobile apps (I can get a CACM app but not a Queue app; I can search from the CACM app but it then just takes me to the DL web site)
Short of a major financial crisis, I can’t see a merger happening in the foreseeable future – there’s too much politics involved. But if the ACM wants to attract practising software engineers, I think it really needs to address the other issues. Here are some suggestions:
1. By and large, most practitioners are not really interested in reading details of research results. By all means publish key abstracts in flagship publications of papers that have been published in Transactions or high qualityconferences but then just link to the articles. Most researchers don’t read the articles either.
2. Focus on readability and skimmability – articles should list key points so that readers can see at a glance if they are of interest. Hire editors that understand how to write crisp prose (see ** below for an example of a problem)
3. Merge CACM and Queue with the balance heavily weighted towards the kind of articles that appear in ACM Queue. Create a properly designed mobile app for this so that readers can search and access previous copies and make the publication available on paper to all members.
4. Both as a practitioner and a researcher, I want to know about developments in my area of interest and to learn about new areas. Research papers don’t help – what I want are tutorials that give me information about real practice not half-baked research. Examples of these tutorials might be new developments in requirements engineering, getting started with big data analysis, experiences of an Android developer and so on. Researchers don’t want to write such articles as they don’t contribute to their CV so they should come from practitioners. Realistically, they will have to be paid to do so – there are enough expert consultants around who could contribute but can’t afford to work for nothing.
5. Review other literature and the web and highlight useful articles and videos. SIGSOFT SEN has a regular article called ‘Surfing the Web for Software Engineering Notes’ which is incredibly useful.
6. Do not support any conferences except a single annual conference from each of the SIGS. Insist on external quality approval, named reviewers and that all reviews are published alongside accepted papers. This will lead to a much better quality of review and, hopefully, submitted papers. Do the same for all papers published in Transactions. Focus on ensuring that the ACM brand is equated to excellence – something that is definitely not the case at the moment.
7. Use social media to reach out to non-members and find out what they want from a professional society. Asking CACM readers to comment is asking the wrong people.
8. Reach out to the large employers of software engineers – Facebook, Google, Salesforce, Boeing, IBM, etc. and find out how their employees can be supported by the ACM and how as a company, they can contribute to publications. For example, IBM have some excellent tutorials on their web site that they might agree to publish more widely. Be proactive – don’t wait for volunteers to come forward.
I could go on but that’s enough for now.
Making changes will not be cheap and, in the short term, may mean a loss of some of the more narrow-minded academic members. But if the ACM is to survive as a body for the whole profession, I believe that these expenses have to be accepted.
** The first news item entitled ‘Researchers probe security through obscurity’ in the August issue of CACM started with this sentence:
“An attempt to build a way of preventing the reverse engineering of software has led to an explosion of ideas that could reshape the world of cryptography, even though the core objective of hiding the way software operates may prove to be too difficult to achieve practically”
I have no idea what the sentence means. It certainly doesn’t encourage me to read on.
The Gunning Fox index for this sentence is 25.1 which (simplistically) suggests that it is only understandable by people who left full-time education after the age of 25.