The Lone Coder Reflections for the Unsung Linux Saviours
by Ken O. Burtch
The ACM Lost Its Way
"[Poor programming fundamentals] are visible in the latest curriculum
recommendations from the Association for Computing Machinery (ACM). Curriculum 2005 does not
mention mathematical prerequisites at all, and it mentions only one course
in the theory of programming languages.
--Prof. Robert Dewar, AdaCore Inc.
A few weeks ago I sat in on presentation on
entropy and software development. The presenter spent 45 minutes explaining
the history of the study of entropy and followed with 15 minutes arguing
why developers should use his simple linked list package.
My father refers to this kind of thing as "bullsh*t"
(or B.S.). To him, it's a term for a phenomenon: that some people think if they
throw around enough obscure terms, unrelated references and unverified facts,
others will be passively mislead into thinking such people are smart and
knowledgeable.
So when I read Robert Dewar's recent comments (as quoted on
Slashdot) about the way
computer science is taught in universities, I understood what he was talking
about. He was correct that too many institutions are teaching "here's Java,
put it on your resume, download some components, and, voila, you're a
programmer" and not enough on the science and skills of programming.
Although I'm not sure that more mathematics is the answer--heaven knows 90% of the
mandatory math I took in university was utterly useless for
programming--there's too much B.S. in today's classroom, where it's more
important to look like a graduate than to have learned your stuff. I had
already discussed this last year in
The Cost of Education without Ethics.
So what is "genius"? Everyone seems to know a "computer
genius". Not surprising as IT careers are built so much on reputation.
Although my father choice of words left something to be
desired, I took his maximum of the 3 B's ("B.S. baffles brains") to heart.
In high school, my grades were solid but not outstanding. Every year I was
beaten by another student. Let's call him "Tom". Tom had no hobbies, was involved in
no sports and never socialized with anyone. He went home and studied because
he wanted outstanding grades. I, on the other hand, pursued everything with
passion. I studied hard but after school I pursued a wide breadth of knowledge
and experience. Although Tom always beat me in marks, I never thought I was
dumber than Tom, or less focused, just less obsessed. In the same way, I give
my all at work, but after work, I give my all to other people who pay me
with a different kind of currency. In fact, I felt kind of sorry for Tom:
he went out into the world with super grades but had sacrificed too many
other skills and experiences to achieve it.
So is Mr. Dewar correct? Has the ACM, in this era of B.S.,
turned its back on its mandate of good computer science?
I was a member of the Association of Computing Machinery.
When the "The Communications of the ACM" (CACM), their monthly
magazine, arrived in the mail, I would read the magazine and then go back
with a pair of scissors, cutting out the articles worth saving and discarding
the rest. Typically I threw out 90% of the magazine. Sometimes an entire
issue. I do the same thing with Wired magazine. Ironically, I often
saved more of Wired than CACM...meaning Wired had more useable content even
with its many ads and trendy topics. The last issue of Wired had features on
Radiohead bucking the online music trend,
an interview with a graphic
programmer working out simulation algorithms for natural phenomena, and
how terms of use are being used by big companies to fight their rivals on
the Internet. The last CACM issue had only one article worth saving, and yet
that magazine is supposed to promote good computer science and target
software professionals.
I received a lot of criticism for being an ACM member.
I know several computer professionals who
reject the idea of membership to the ACM, or who left after many years of
disappointed, disillusionment and distrust with the organization. But I stood
by the idea that programmers are a community, that we need organizations that
promote facts, discuss new ideas, and recognize outstanding people in an
industry that never does.
I wanted to believe. I needed to believe.
The ACM has been under fire for many years, most often by its
own members in their CACM
magazine. Some people argue
that the ACM is a victim of the times, selling out good computing for industry
trends. Others have accused the ACM of corruption in its selection committees
leading to increasing number of bad papers being endorsed. Still others
have complained about the pseudo-intellectual speak that fills ACM articles
in the place of solid facts and clear communication of ideas. All these opinions
agree on one thing: the ACM is no longer the organization that it was intended
to be.
While at Brock University, I spent a lot of time with
professor and author F. Ray Skilton. He had let a full life: he met royalty,
worked on secret military projects, spent many years and long days trying
to--as he put it--make the world a better place by giving university
students not only knowledge, but the understanding of how to use that
knowledge wisely in the real world. In my graduating year, I visited him in
his office and he looked troubled. I asked him what was wrong.
"I'm going to retire next year, " he said, as I recalled.
"And when a person retires, he needs something to occupy his free time. So
I've been learning woodworking. But as I've been practicing, I've been
thinking back on my life--the long hours at the university, the struggles
with my wife--I always believed that a father had to earn the money to support
his family. But as I prepare to retire, I realize that my children are
now adults. And I wonder...would it have been better to have been a
poor woodcarver who was there for his children rather than a professor who
never knew his children?" I wondered if my high school rival,
Tom, was bound to ask the same question.
A few years later, I was told that Skilton passed away from
his lifelong smoking habit, a fate that should not happen to a truly
intelligent man aware that his choice to smoke was killing him.
I think the IT industry needs an organization to promote
solid facts and good practices. An organization that has peer
recognition to encourage and support advancement in IT, not only at a
technological level but also a personal level. An organization the separates
the breakthroughs from the B.S. The ACM is widely criticized as it struggles
to survive in the modern world, continuing the very traditions that, like my
late professor, are leading to its demise.
There are two documents posted on the bulletin board in my
office. One is my certificate welcoming me as a member of the ACM. The other
is the letter informing me that I was rejected as a senior member.
I had given up on the ACM but decided to give them one last
year to prove themselves. The senior member program--in essence, merely a
membership card upgrade--was supposed to be an attempt to promote good
computer science by recognizing the efforts of ACM members
(ACM Membernet). Unlike more grandios titles like
"Fellow", this wasn't for academics or professors. Senior member was an
award available to hundreds or thousands of ACM members, an attempt at peer
recognition for the everyday heroes of computer science. I
verified this by contacting the ACM personnel, that it was an attempt to
foster more peer recognition. As their emailed announcement said:
Membership renewal: ACM's Advanced Member Grades Program recognizes
the accomplishments of members who have at least five years of continuous membership.
Upon completion of this renewal, you will be eligible to apply!"
I wanted to believe. The industry needed something like
this. The ACM needed something like this. I had been asked to speak as ACM
conferences and had written
a book with an emphasis on good programming practices. Surely that was good
for a membership card upgrade. But the rejection came without cause or
explanation, merely stating that I could reapply next year, but not saying
what I was lacking. Maybe next year I'll be more like them. More obsessed.
Less questioning. Better at the ACM's new mandate of B.S. It's a
reminder that sometimes a man needs to walk away something, especially
if its when the dream and the reality have parted ways.
« Truth Humility Communication Nobility Freedom Purity
Excellence Right Support Courage Compassion Quality Honesty Trust
Cooperation Challenge Education »
PegaSoft Canada - A Linux Association Since 1994