Software Needs Philosophers

Xah Lee xah at xahlee.org
Wed May 31 09:08:51 EDT 2006


The Condition of Industrial Programers

Xah Lee, 2006-05

Before i stepped into the computing industry, my first industrial
programing experience is at Wolfram Research Inc as a intern in 1995.
(Wolfram Research is famously known for their highly successful
flagship product Mathematica) I thought, that the programers at Wolfram
are the world's top mathematicians, gathered together to research and
decide and write a extremely advanced technology. But i realized it is
not so. Not at all. In fact, we might say it's just a bunch of Ph Ds
(or equivalent experience). Each person there are not unlike average
white-collar Joes. Each working individually. And, fights and bouts of
arguments between co-workers are not uncommon. Sometimes downright
ugly. Almost nothing is as i naively imagined, as if some world's top
mathematicians are gathered together there, daily to confer and solve
the world's top problems as in some top secret government agency
depicted in movies.

Well, that was my introduction to the industry. The bulk of my surprise
is due to my naiveness and inexperience of the industry, of any
industry, as i was just a intern and this is my first experience seeing
how the real world works.

After Wolfram, after a couple of years i went into the web programing
industry in 1998, using unix, Perl, Apache, Java, database
technologies, in the center of world's technology the Silicon Valley.
My evaluation of industrial programers and how software are written is
a precipitous fall from my observations at Wolfram. In the so-called
Info Tech industry, the vast majority of programers are poorly
qualified. I learned this from my colleagues, and in dealing with
programers from other companies, service providers, data centers, sys
admins, API gateways, and duties of field tutoring. I didn't think i
had very qualified expertise in what i do, but the reality i realized
is that most are far lesser than me, and that is the common situation.
That they have no understanding of basic mathematics such as
trigonometry or calculus. Most have no interest in math whatsoever, and
would be hard pressed for them to explain what is a “algorithm”.

I have always thought, that programing X software of field Y usually
means that the programers are thoroughly fluent in languages,
protocols, tools of X, and also being a top expert in field of Y. But
to my great surprise, the fact is that that is almost never the case.
In fact, most of the time the programers simply just had to learn a
language, protocol, software tool, right at the moment as he is trying
to implement a software for a field he never had experience in. I
myself had to do jobs half of the time i've never done before.
Constantly I'm learning new languages, protocols, systems, tools, APIs,
other rising practices and technologies, reading semi-written or delve
into non-existent docs. It is the norm in the IT industry, that most
products are really produces of learning experiences. Extremely hurried
grasping of new technologies in competition with deadlines. There is in
fact little actual learning going on, as there are immense pressure to
simply “get it to (demonstrably) work” and ship it.

Thinking back, in fact the Wolfram people are the most knowledgeable
and inquisitive people i've met as colleagues, by far.

What prompted me to write this essay is after reading the essay Teach
Yourself Programming in Ten Years by Peter Norvig, 2001, at
http://www.norvig.com/21-days.html (local copy). In which, the Lisp
dignitary Peter Norvig derides the widely popular computing books in
the name of Teaching Yourself X In (Fast) Days. Although i agree with
his general sentiment that a language or technology takes time to
master and use well, that these books is a damaging fad and subtly
generate ignorance, but he fails to address the main point, that is:
the cause of the popularity of such books, and how to remedy the
situation.

These books are the bedrock of the industry. It is not because people
are impatient, or that they wish to hurry, but rather, it is the
condition of the IT industry, in the same way modern society drives
people to live certain live styles. No amount of patience or
proselytization can right this, except that we change the industry's
practice of quickly churning out bug-ridden software products to beat
competitors. Companies do that due to market forces, and the market
forces is a result of how people and organizations actually choose to
purchase software. In my opinion, a solution to this is by installing
the concept of responsible licenses, as i've detailed in the essay
Responsible Software Licensing, at
 http://xahlee.org/UnixResource_dir/writ/responsible_license.html .
----
This post is archived at:
http://xahlee.org/UnixResource_dir/writ/it_programers.html

   Xah
   xah at xahlee.orghttp://xahlee.org/




More information about the Python-list mailing list