In October 2001 I ended my third stint at Apple Computer, in all about twenty years working at the company. I bought my first Apple II in summer of 1977 (serial number 0183!). As a software developer on mainframe computers, I used my knowledge to write several magazine articles about programming the II. One thing led to another, and I joined Apple.
Joining Apple that early allowed me to become — to paraphrase Woody Allen in Annie Hall – A Blue-Jeaned Silicon-Valley Garage Computer Engineer Stock-Option Overnight Millionaire.
(For those unfamilar with the film, when Allen's character first meets Carol Kane's, he says "You, you, you're like New York, Jewish, left-wing, liberal, intellectual, Central Park West, Brandeis University, the socialist summer camps and the, the father with the Ben Shahn drawings, right, and the really, y'know, strike-oriented kind of, red...stop me before I make a complete imbecile of myself.")
First time around:
I started at Apple in March 1979, one of five guys in the entire System Software department. I worked on the Apple II and Apple /// systems, then modified the Apple II ROM to be used in the Apple //e — back when one person could do it all. I have a handful of historical photos I took during early development of the //e platform. I left Apple in early 1983 (just about the time John Scully arrived as CEO). I spent a couple of years at Silicon-Valley startups (which then started back down).
Second time around:
I returned in 1985 — a couple of months after Steve Jobs left — to help build A/UX, Apple's integrated Mac-on-UNIX system. (A/UX was a version of Mac-on-Unix that never made the leap from the 68K systems to the PowerPC: had it not died, it would probably be MacOS XII today.) After about seven years of A/UX work, I left in 1992 to join Taligent, Inc., an Apple/IBM/HP spinoff. Those of us who switched from Apple to Taligent never really considered it leaving Apple — the culture was similar, and 42% of our paycheck came out of Apple's pocket anyway.
At Taligent, we worked to develop a completely new object-oriented (O-O) operating system, with an object-oriented I/O subsystem. Everything was done in C++. I co-designed the disk driver subsystems, but we never really got much of it off the ground. I jumped ship after three years — about three months before the company hit the iceberg.
Third time around:
I returned to Apple in Oct 1995 and worked in the Licensing Group, building the "low-level system hardware abstraction" software (RTAS) for the Apple-IBM PowerPC Platform (a/k/a Common Hardware Reference Platform — CHRP) that was under development in 1995-1996. RTAS helped isolate the operating system from the gory details of the computer's internal hardware. The idea was that anyone could build a CHRP-compatible computer, using a variety of components, as long as it worked properly. The OS would stay isolated from the low-level hardware details (similar, I guess, to the BIOS on Intel machines?)
But I always wondered why the whole CHRP idea made sense. It seemed to me that in five years' time, CHRP boxes would come in on barges from the Far East, and Apple wouldn't be able to make money selling their own computers. After all, wasn't this one of the reasons that IBM lost their PC lead in the early 80s to smaller manufacturers? (Although the CHRP never made it out the door, the software work we did, especially isolating the MacOS ROM from the hardware, made it into the first iMac. Without that prior work, the iMac would not have been introduced so quickly.)
During this period, Apple toiled under CEOs Mike Spindler and Gil Amelio. Then Steve Jobs returned. One of his first actions was to realize that licensing the MacOS to others who built computers wasn't a good business model for Apple. Licensing, the CHRP, and half of my department got the axe.
At about that moment, I switched groups to the MacOS Server Group, just before getting blown up with my former group. (You've seen those adventure-movie guys manage to run just ahead of the fireball and explosion? Something like that.) The subsequent year of work on high-performance SCSI drivers didn't amount to much, because the MacOS in 1997 was just not good enough to do the job reliably.
Another transfer in early 1998 to the MacOS X Core OS I/O Group found me, again, one step ahead of the carnage that befell the Server Group. I spent four years on the Core OS team, designing the disk storage frameworks for the object-oriented I/O Kit of MacOS X ("The OS formerly known as Rhapsody"). I was back working with many of the former A/UX team and a few other ex-Taligent folks.
Happily, a portion of the design ideas we came up with at Taligent made it into MacOS. These designs had lain fallow on one of my backup disks for almost five years before I dug 'em out. The stacking model used in the I/O kit was an adaptation of a mass-storage module-stacking design.
The titles on my Apple business cards at various times were Software Swami and Nonlinear Thought Specialist.