Xah's Edu Corner: Teach Ourself Programing In Ten Years?


Xah Lee

| (e-mail address removed) (Pascal J. Bourguignon) wrote:
| > LOL Yeah right! Give gavino ten years of rest to let
| > his unconscious mind work on it!
| Norvig's 'Teach Yourself Programming in Ten Years' (
| ) gets a new meaning...


• The Condition of Industrial Programers

plain text version follows.

The Condition of Industrial Programers

Xah Lee, 2006-05

Before i stepped into the computing industry, my first industrial
programing experience was 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). The people 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 in emails. 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 software 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 have 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. 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
sentiment that a language or technology takes time to master and use
well, that these books form somewhat of a damaging fad and subtly
multiply ignorance, but he fails to address the main point, that is:
the cause of the popularity of such books, and how to remedy the

When you work in the industry, and are given a responsibility of
coding in some new language the company decided to use, or emerging
protocol (such as voice-chat protocols or cellphone internet), or your
engineering group adopted a new team coding/reviewing process, you are
not going to tell you boss “nah, i want to do a good job so i'll study
the issue a few months before i contributeâ€. Chances are, you are
going to run out and buy a copy of “XYZ in 7 daysâ€, and complete the
job in a way satisfactorily to your company, as well feeling proud of
your abilities in acquiring new material.

To see this in a different context, suppose you need to pass a
important Math XYZ exam or review in your career or get a certificate,
but you don't remember your Math XYZ. You will likely, run out and get
a “Math XYZ for Dummiesâ€. Chances are, the book will indeed help you,
and you will pass your exam or interview, and actually have learned
something about XYZ, but never looked at Math XYZ squarely again.

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 life 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. Please see this essay Responsible
Software Licensing and spread the word.

∑ http://xahlee.org/


Alain Picard

[Aplogies about the wild cross-post follow-up --- I guess the topic really
is relevant to most programming communities.]

Xah Lee said:
To see this in a different context, suppose you need to pass a
important Math XYZ exam or review in your career or get a certificate,
but you don't remember your Math XYZ.

There's a difference between cramming to remember XYZ, and never
having understood (or even been exposed to!) XYZ previously. The
former is reasonable; the latter bound to fail.
[SNIP] In my opinion, a solution to this is by installing
the concept of responsible licenses. Please see this essay Responsible
Software Licensing

IOW, you think IT will have to become like engineering and "grow up".
I.e. when your manager says "do XYZ in 7 days", you just laugh at
them, and your risk of being fired are minimal, because all other
certified engineers who could replace you also will laugh at him
because your duty of care to your profession and certification is
greater than the one you owe your bozo manager.

I'm, personally, not holding my breath.

If you want to change the world, you start by changing yourself.


John Bokma

Alain Picard said:
If you want to change the world, you start by changing yourself.

Like for starters setting a follow-up to header, especially if you spam
4 groups. But Xah is Xah.

Wanna-Be Sys Admin

Alain said:
[Aplogies about the wild cross-post follow-up --- I guess the topic
is relevant to most programming communities.]

No, it's not relevant. Xah Lee is a self spammer, in that he spams
about himself, tries to get people hyped up about him and thinks he's
impressing people (he's not). He continually cross posts to the
language groups he thinks he knows about (often to Perl, where there's
no mention of Perl, other than he's used it once or so). He knows very
little about any of these languages, but likes to talk a whole lot, as
in talking up about himself and how he thinks himself a genius. If you
could please not cross post his self-spamming replies to the Python and
Perl groups, at least, I'd appreciate it. Most people know about him
and have filtered his posts by now. Thanks.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Latest member

Latest Threads