2004

DEADBEAT PAYING JOB • chapter 3

 

pst

tue
dec
28

Corporations partition people the way programmers partition servers. My last job as a programmer, at BaronData in San Leandro, ended in total failure. They fired me. I saw it coming, and two months towards my accession to total independence, began a journal for my successor.

"Here's the problem," I began in a daily journal. "The programmer before me was fired because he tried to understand the entire system, and I've been told that's off-limits. Initially, I was given three instructions: (1.) Bring the development system back on line, because it's presently inoperable, and make ridiculously easy incremental changes in it; (2.) Don't try to understand the entire system, because that is not your job; (3.) Take it as a given that the modules written by the lead programmer, Mike B., are not the problem, and do not even look at them; those off-limit module names begin with the prefix «MB-»."

Hmm.

pm
5:11

 

 

 

They were using an unconventional alternative to the C programming language called "B*" or "Dazzle," which, on the family tree of system programming languages, has undeservedly withered to near extinction. To come up to speed on this particularly "easy" project, which is being developed on a computer system different from its ultimate computer target (too small for the development system), you have to learn at least the following:

B-Dazzle (B*) Programming Language, its macro language, its compiler command-line language, its target assembly language, its link editor language, the operating system language, the background command processor language, the version maintenance system language, the text editing language, the system navigation language, the target computer assembly language, the target computer operating system language, the monitor display language, and the application language itself.

"The application," I continued in my secret journal for my successor, "simply translates court reporter shorthand into text, on a specialized computer built by BaronData.

"When you start up the development system, it simply crashes, with no output whatsoever to the terminal. Your job is to fix it.

"All the former programmers on this project have been promoted to managers, and they're not interested in doing anything on this project.

"Whenever you make any changes whatsoever in the development system, in order to find why it crashes, you have to go through a compile-link-execute cycle for the entire system, which takes four hours.

"The lead programmer, Mike B., has three or four terminals on his desk, attached to different systems he is presently working on, and won't talk to anyone."

Hmm.

Hmm.

The problem, you see, is that when something works, you don't really have to understand it. You can simply make small illuminating changes (to send test data to your terminal) and see what happens. It's sort of like inserting flashlights here and there. However, when something actually doesn't work, you really do have to understand it.

Or here's another way to look at it: Let's say you're a doctor ... and you've got a dead dog.

6:03

 
 

home < < earlier

 < • > 

> > > chapter 4