Journeys

Association for Computing Machinery

A decade after I started programming, I became aware of an organization called the Association for Computing Machinery (ACM). I am a self taught programmer. So in 1975, because I knew that I was missing fundamentals of the programming paradigm, I decided to join. In 1975, the ACM was a vibrant, technically competent, and technically cutting edge organization. Some of you may know the ACM through its Special Interest Group on Graphics and Interactive Techniques (SIGGRAPH) through their outstanding annual conferences. I was caught up in the excitement of participating in the field, nurtured by this spectacular organization.

In 1998, I resigned. Why?

In 1975, the ACM was technically relevant. It provided its members with a wide range of information, driven in part by academia, in part by practicing programmers. But slowly, the ACM changed. In part, the problem with the ACM was that it provided what it perceived its membership wanted - it followed the career path of its membership.

In those distant past days, a programmer was initially assigned maintenance responsibilities. These duties usually entail the repair and enhancement of existing software. As the programmer became more and more competent, the assignments become more and more challenging. About two years into a career, the programmer would begin to implement new software, usually as a coder. After about two or three more years, the programmer begins to look closely at the workplace, and the dichotomy between technician and manager becomes more apparent.

And now decision time is here. If the programmer wants a thick carpet, a nice suite of furniture, a corner office, and a secretary, the programmer realizes that management is the only way to go. So the programmer becomes a software manager.

Sadly, I believe that this is what happened to the ACM. Its membership gradually moved from the technical to the managerial arenas. Responding to that shift in its membership focus, the ACM has now become another management organization.

And what I need is a technically competent organization.